diff --git a/CODEOWNERS b/CODEOWNERS index 68187a8e84e0..0086fd4a9467 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -59,7 +59,7 @@ /specification/billing/ @wilcobmsft @asarkar84 # PRLabel: %Network - CDN -/specification/cdn/ @jorinmejia @yunhemsft @jessicl-ms @rrahulms @t-bzhan +/specification/cdn/ @jorinmejia @yunhemsft @jessicl-ms @rrahulms @t-bzhan @ChenglongLiu # PRLabel: %Cognitive Services /specification/cognitiveservices/ @felixwa @yangyuan diff --git a/cSpell.json b/cSpell.json index 365c88ef064e..e7cdff5ad3d8 100644 --- a/cSpell.json +++ b/cSpell.json @@ -794,6 +794,15 @@ "Fpushpins" ] }, + { + "filename": "**/specification/maps/data-plane/Spatial/stable/2022-08-01/spatial.json", + "words": [ + "postbuffer", + "getbuffer", + "postclosestpoint", + "getclosestpoint" + ] + }, { "filename": "**/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/communicationserviceschat.json", "words": [ @@ -960,6 +969,12 @@ "flac", "mpga" ] + }, + { + "filename": "**/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/**/*.json", + "words": [ + "throughputpool" + ] } ], "enableFiletypes": [ diff --git a/custom-words.txt b/custom-words.txt index 5296ca691735..b7c7bd12e7a8 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -194,6 +194,7 @@ arima arimax arin arjun +armn armtemplates arp arpa @@ -447,6 +448,7 @@ cephfs certchain certificatescreateorupdate certificatesdelete +certificateprofiles certificatethumbprint certverify chademo @@ -524,6 +526,9 @@ codegeneration codemirror codepackage codepoints +codesign +codesigning +codesigningaccounts codespace codespaces coffeelake @@ -668,6 +673,7 @@ datalake datalakeanalytics datalakestore datamanagement +datamap datamasking datamigration datamodel @@ -935,6 +941,7 @@ etags etcd ethereum ethertype +ethi eucloud eucloudprototype eugps @@ -1092,6 +1099,7 @@ geofences geofencing geojson geopair +geor georegions georeplication geospatial @@ -1165,6 +1173,7 @@ granularities graphrbac graphservice greenplum +grek groundstation groupby groupedby @@ -1181,6 +1190,7 @@ guami guestconfiguration guid guids +gujr gurung guti gxlarge @@ -1216,6 +1226,7 @@ healthmodels healthstatus heatbeat heatmap +hebr hecto helmchart helpdesk @@ -1428,6 +1439,7 @@ jobschedules johnc johndeere johnsmith +jpan json jsonl jsonld @@ -1468,6 +1480,7 @@ keyvaultproperties keyvaulturi keyversion khaling +khmr khtml kibana kiswahili @@ -1476,6 +1489,7 @@ kmgtpe kmph Kmskeyaccessdenied Kmskeynotfound +knda knowledgebase knowledgebases koelner @@ -1518,6 +1532,7 @@ labservices lajolla lakehouse languagedata +laoo largefacelists largepersongroups largerc @@ -1748,6 +1763,7 @@ mlapi mlflow mlflowtrackinguri mltable +mlym mmtc mnist mobo @@ -1829,6 +1845,7 @@ myimage mylocation mylog mymodel +mymr mypath mypicture mypictures @@ -1927,6 +1944,7 @@ nonpaged nonreadable nonstarted nonsupported +nopri nopublicipaddresses noreuse northcentralus @@ -1986,6 +2004,7 @@ octokit odata odatatype odbc +odia oeverify offboard offboarding @@ -2038,6 +2057,7 @@ operationstatuses operatorconnect opid oplog +optane optedin optimised optionalbody @@ -2046,6 +2066,7 @@ optout organisation orgs originpath +orya oscp osdisk osdiskforlinuxsimple @@ -2424,6 +2445,7 @@ rollingback rollouts rolloverdetails rollupby +rootcert rootfs rosettanetprocessconfigurations rotatediskencryptionkey @@ -2707,10 +2729,12 @@ ssis ssisdb ssoadfs sstp +SSDLRS ssword stac stackset standardasciifolding +standardssd startlocalrun startpacketcapture startrun @@ -2844,6 +2868,7 @@ taginheritance tagname tagsandregions tagvalue +taml targetduration taskcompletion taskcounts @@ -2858,6 +2883,7 @@ teamsinterop telangana telemetryconfig teleportal +telu tempdb templated templatelink @@ -2886,10 +2912,12 @@ textanalytics tfidf tful tfvc +thaa thangmi thirdparty threatintelligence threatintelligenceindicators +tibt tilejson tileset tilesetconfiguration @@ -3948,3 +3976,4 @@ CIAM protobuf proto msvideo +SOQL diff --git a/documentation/samplefiles/readme.python.md b/documentation/samplefiles/readme.python.md index 77370bd6ea83..9a8ce22a92da 100644 --- a/documentation/samplefiles/readme.python.md +++ b/documentation/samplefiles/readme.python.md @@ -16,3 +16,8 @@ clear-output-folder: true no-namespace-folders: true output-folder: $(python-sdks-folder)/[[ServiceName]]/azure-mgmt-[[ServiceName]]/azure/mgmt/[[ServiceName]] ``` + +``` yaml $(python) +modelerfour: + flatten-models: false +``` diff --git a/eng/pipelines/templates/steps/npm-install.yml b/eng/pipelines/templates/steps/npm-install.yml index 6ea32a5642da..feaefe92bf16 100644 --- a/eng/pipelines/templates/steps/npm-install.yml +++ b/eng/pipelines/templates/steps/npm-install.yml @@ -1,4 +1,13 @@ +parameters: +- name: NodeVersion + type: string + default: 20.x steps: + - task: NodeTool@0 + inputs: + versionSpec: ${{ parameters.NodeVersion }} + displayName: "Use Node ${{ parameters.NodeVersion }}" + - script: npm --version --loglevel info displayName: npm --version diff --git a/eng/pipelines/typespec-requirement.yml b/eng/pipelines/typespec-requirement.yml new file mode 100644 index 000000000000..da77037c4aae --- /dev/null +++ b/eng/pipelines/typespec-requirement.yml @@ -0,0 +1,14 @@ +trigger: none + +jobs: +- job: + displayName: TypeSpec Requirement + pool: + name: azsdk-pool-mms-ubuntu-2204-general + vmImage: ubuntu-22.04 + + steps: + - pwsh: | + $(Build.SourcesDirectory)/eng/scripts/TypeSpec-Requirement.ps1 + displayName: TypeSpec Requirement + ignoreLASTEXITCODE: true diff --git a/eng/pipelines/typespec-validation-all.yml b/eng/pipelines/typespec-validation-all.yml index 100546bfe18b..8cac07db3716 100644 --- a/eng/pipelines/typespec-validation-all.yml +++ b/eng/pipelines/typespec-validation-all.yml @@ -37,7 +37,8 @@ resources: - main jobs: -- job: Validate_All_Specs +- job: + displayName: Validate All Specs strategy: matrix: diff --git a/eng/pipelines/typespec-validation.yml b/eng/pipelines/typespec-validation.yml index f394233a5325..6f581f1f9c21 100644 --- a/eng/pipelines/typespec-validation.yml +++ b/eng/pipelines/typespec-validation.yml @@ -1,7 +1,8 @@ trigger: none jobs: -- job: Validate_Impacted_Specs +- job: + displayName: Validated Impacted Specs pool: name: azsdk-pool-mms-ubuntu-2204-general vmImage: ubuntu-22.04 diff --git a/eng/scripts/TypeSpec-Requirement.ps1 b/eng/scripts/TypeSpec-Requirement.ps1 new file mode 100644 index 000000000000..ee4855316a8b --- /dev/null +++ b/eng/scripts/TypeSpec-Requirement.ps1 @@ -0,0 +1,110 @@ +[CmdletBinding()] +param ( +) +Set-StrictMode -Version 3 + +. $PSScriptRoot/ChangedFiles-Functions.ps1 +. $PSScriptRoot/Logging-Functions.ps1 + +$repoPath = Resolve-Path "$PSScriptRoot/../.." +$pathsWithErrors = @() + +$filesToCheck = @(Get-ChangedSwaggerFiles).Where({ + ($_ -notmatch "/(examples|scenarios|restler|common|common-types)/") -and + ($_ -match "specification/[^/]+/(data-plane|resource-manager).*?/(preview|stable)/[^/]+/[^/]+\.json$") +}) + +if (!$filesToCheck) { + LogInfo "No OpenAPI files found to check" +} +else { + # Cache responses to GitHub web requests, for efficiency and to prevent rate limiting + $responseCache = @{} + + # - Forward slashes on both Linux and Windows + # - May be nested 4 or 5 levels deep, perhaps even deeper + # - Examples + # - specification/foo/data-plane/Foo/stable/2023-01-01/Foo.json + # - specification/foo/data-plane/Foo/bar/stable/2023-01-01/Foo.json + # - specification/foo/resource-manager/Microsoft.Foo/stable/2023-01-01/Foo.json + foreach ($file in $filesToCheck) { + LogInfo "Checking $file" + + $jsonContent = Get-Content (Join-Path $repoPath $file) | ConvertFrom-Json -AsHashtable + + if ($null -ne ${jsonContent}?["info"]?["x-typespec-generated"]) { + LogInfo " OpenAPI was generated from TypeSpec (contains '/info/x-typespec-generated')" + # Skip further checks, since spec is already using TypeSpec + continue + } + else { + LogInfo " OpenAPI was not generated from TypeSpec (missing '/info/x-typespec-generated')" + } + + # Extract path between "specification/" and "/(preview|stable)" + if ($file -match "specification/(?[^/]+/(data-plane|resource-manager).*?)/(preview|stable)/[^/]+/[^/]+\.json$") { + $servicePath = $Matches["servicePath"] + } + else { + LogError " Path to OpenAPI did not match expected regex. Unable to extract service path." + LogJobFailure + exit 1 + } + + $urlToStableFolder = "https://github.com/Azure/azure-rest-api-specs/tree/main/specification/$servicePath/stable" + + # Avoid conflict with pipeline secret + $logUrlToStableFolder = $urlToStableFolder -replace '^https://','' + + LogInfo " Checking $logUrlToStableFolder" + + $responseStatus = $responseCache[$urlToStableFolder]; + if ($null -ne $responseStatus) { + LogInfo " Found in cache" + } + else { + LogInfo " Not found in cache, making web request" + try { + $response = Invoke-WebRequest -Uri $urlToStableFolder -Method Head -SkipHttpErrorCheck + $responseStatus = $response.StatusCode + $responseCache[$urlToStableFolder] = $responseStatus + } + catch { + LogError " Exception making web request to ${logUrlToStableFolder}: $_" + LogJobFailure + exit 1 + } + } + + LogInfo " Status: $responseStatus" + + if ($responseStatus -eq 200) { + LogInfo " Branch 'main' contains path '$servicePath/stable', so spec already exists and is not required to use TypeSpec" + } + elseif ($response.StatusCode -eq 404) { + LogInfo " Branch 'main' does not contain path '$servicePath/stable', so spec is new and must use TypeSpec" + $pathsWithErrors += $file + } + else { + LogError "Unexpected response from ${logUrlToStableFolder}: ${response.StatusCode}" + LogJobFailure + exit 1 + } + } +} + +if ($pathsWithErrors.Count -gt 0) +{ + # DevOps only adds the first 4 errors to the github checks list so lets always add the generic one first + # and then as many of the individual ones as can be found afterwards + LogError "New specs must use TypeSpec. For more detailed docs see https://aka.ms/azsdk/typespec" + LogJobFailure + + foreach ($path in $pathsWithErrors) + { + LogErrorForFile $path "OpenAPI was not generated from TypeSpec, and spec appears to be new" + } + exit 1 +} + +exit 0 diff --git a/eng/tools/typespec-validation/ci.yml b/eng/tools/typespec-validation/ci.yml index 16bd9b269831..720f81405ed9 100644 --- a/eng/tools/typespec-validation/ci.yml +++ b/eng/tools/typespec-validation/ci.yml @@ -17,16 +17,19 @@ pr: - eng/tools/typespec-validation jobs: -- job: Test +- job: + displayName: Test strategy: matrix: Linux: Pool: azsdk-pool-mms-ubuntu-2204-general OsVmImage: ubuntu-22.04 + NodeVersion: 18.x Windows: Pool: azsdk-pool-mms-win-2022-general OsVmImage: windows-2022 + NodeVersion: 21.x pool: name: $(Pool) @@ -34,6 +37,8 @@ jobs: steps: - template: /eng/pipelines/templates/steps/npm-install.yml + parameters: + NodeVersion: $(NodeVersion) - script: npm test displayName: npm test diff --git a/eng/tools/typespec-validation/package.json b/eng/tools/typespec-validation/package.json index 11a126acd43d..73971bc3631d 100644 --- a/eng/tools/typespec-validation/package.json +++ b/eng/tools/typespec-validation/package.json @@ -25,6 +25,6 @@ "test": "mocha --recursive --exit" }, "engines": { - "node": "^16.17.0 || ^18.3.0 || ^20.0.0" + "node": "^18.3.0 || ^20.0.0 || ^21.0.0" } } diff --git a/eng/tools/typespec-validation/src/index.ts b/eng/tools/typespec-validation/src/index.ts index 895872d4cc1c..997df10cb64b 100755 --- a/eng/tools/typespec-validation/src/index.ts +++ b/eng/tools/typespec-validation/src/index.ts @@ -21,6 +21,14 @@ export async function main() { const folder = parsedArgs.positionals[0]; const absolutePath = host.normalizePath(folder); + if (!(await host.checkFileExists(absolutePath))) { + console.log(`Folder ${absolutePath} does not exist`); + process.exit(1); + } + if (!(await host.isDirectory(absolutePath))) { + console.log(`Please run TypeSpec Validation on a directory path`); + process.exit(1); + } console.log("Running TypeSpecValidation on folder: ", absolutePath); const rules = [ diff --git a/eng/tools/typespec-validation/src/tsv-host.ts b/eng/tools/typespec-validation/src/tsv-host.ts index b470537bc40e..b274ed2a0a28 100644 --- a/eng/tools/typespec-validation/src/tsv-host.ts +++ b/eng/tools/typespec-validation/src/tsv-host.ts @@ -1,5 +1,6 @@ export interface TsvHost { checkFileExists(file: string): Promise; + isDirectory(path: string): Promise; gitOperation(folder: string): IGitOperation; readTspConfig(folder: string): Promise; runCmd(cmd: string, cwd: string): Promise<[Error | null, string, string]>; diff --git a/eng/tools/typespec-validation/src/tsv-runner-host.ts b/eng/tools/typespec-validation/src/tsv-runner-host.ts index 6876528b1168..d42261acda80 100644 --- a/eng/tools/typespec-validation/src/tsv-runner-host.ts +++ b/eng/tools/typespec-validation/src/tsv-runner-host.ts @@ -3,13 +3,17 @@ import { readFile } from "fs/promises"; import { IGitOperation, TsvHost } from "./tsv-host.js"; import { globby } from "globby"; import { simpleGit } from "simple-git"; -import { checkFileExists, normalizePath, runCmd } from "./utils.js"; +import { checkFileExists, isDirectory, normalizePath, runCmd } from "./utils.js"; export class TsvRunnerHost implements TsvHost { checkFileExists(file: string): Promise { return checkFileExists(file); } + isDirectory(path: string) { + return isDirectory(path); + } + gitOperation(folder: string): IGitOperation { return simpleGit(folder); } diff --git a/eng/tools/typespec-validation/src/utils.ts b/eng/tools/typespec-validation/src/utils.ts index 9675a63882e3..c2471159f9d3 100644 --- a/eng/tools/typespec-validation/src/utils.ts +++ b/eng/tools/typespec-validation/src/utils.ts @@ -1,4 +1,4 @@ -import { access } from "fs/promises"; +import { access, stat } from "fs/promises"; import { exec } from "child_process"; import defaultPath, { PlatformPath } from "path"; @@ -22,6 +22,10 @@ export async function checkFileExists(file: string) { .catch(() => false); } +export async function isDirectory(path: string) { + return (await stat(path)).isDirectory(); +} + export function normalizePath(folder: string, path: PlatformPath = defaultPath) { return path .resolve(folder) diff --git a/eng/tools/typespec-validation/test/tsv-test-host.ts b/eng/tools/typespec-validation/test/tsv-test-host.ts index 3e846e5856b5..f974608896bd 100644 --- a/eng/tools/typespec-validation/test/tsv-test-host.ts +++ b/eng/tools/typespec-validation/test/tsv-test-host.ts @@ -44,6 +44,10 @@ export class TsvTestHost implements TsvHost { return true; } + async isDirectory(_path: string): Promise { + return true; + } + normalizePath(folder: string): string { return normalizePath(folder, this.path); } diff --git a/package-lock.json b/package-lock.json index 2baeaaf3392e..42b9e0cbb0da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,8 @@ "devDependencies": { "@azure-tools/typespec-apiview": "0.4.4", "@azure-tools/typespec-autorest": "0.37.2", - "@azure-tools/typespec-azure-core": "0.37.1", - "@azure-tools/typespec-azure-resource-manager": "0.37.0", + "@azure-tools/typespec-azure-core": "0.37.2", + "@azure-tools/typespec-azure-resource-manager": "0.37.1", "@azure-tools/typespec-client-generator-core": "0.37.0", "@azure-tools/typespec-providerhub": "0.37.0", "@azure/avocado": "^0.8.4", @@ -62,7 +62,7 @@ "typescript": "~5.1.3" }, "engines": { - "node": "^16.17.0 || ^18.3.0 || ^20.0.0" + "node": "^18.3.0 || ^20.0.0 || ^21.0.0" } }, "node_modules/@azure-tools/typespec-apiview": { @@ -96,9 +96,9 @@ } }, "node_modules/@azure-tools/typespec-azure-core": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.37.1.tgz", - "integrity": "sha512-JkYXNiScN9W+4EJYO/ZLJt9e69gqC4Ku0Ges4PHWFJg2PBJ/QuQn8cgZnVVQm3DFxlVHkRewPucETAhQFIwl3w==", + "version": "0.37.2", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.37.2.tgz", + "integrity": "sha512-/503w3jnRnStowsI7etaDynwQcz7ecNqhFKZErBYGbKVZKoEwJIr5d59m52sjJs8cmr2336es6jw2n2TdfotrA==", "dev": true, "engines": { "node": ">=18.0.0" @@ -110,16 +110,16 @@ } }, "node_modules/@azure-tools/typespec-azure-resource-manager": { - "version": "0.37.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.37.0.tgz", - "integrity": "sha512-bmaVZAuc2RaXUc5aPHTjXW38by6++n+C/9y8GVRIQsnRjKLhnRL5Gud5HrQYdMJtDGuu6rXyoJgt9P28altK+A==", + "version": "0.37.1", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.37.1.tgz", + "integrity": "sha512-1RyFLJeS4lWVne/djKmPHix4UYJIO7o59n0SDlGrK8jx8k6nK4mu9LgSiwyufvBXBwVJ++dO10qRbBngJJquUg==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@azure-tools/typespec-autorest": "~0.37.0", - "@azure-tools/typespec-azure-core": "~0.37.0", + "@azure-tools/typespec-autorest": "~0.37.2", + "@azure-tools/typespec-azure-core": "~0.37.2", "@typespec/compiler": "~0.51.0", "@typespec/http": "~0.51.0", "@typespec/openapi": "~0.51.0", diff --git a/package.json b/package.json index c57e09fbd33e..b949580c4bea 100644 --- a/package.json +++ b/package.json @@ -3,17 +3,17 @@ "devDependencies": { "@azure-tools/typespec-apiview": "0.4.4", "@azure-tools/typespec-autorest": "0.37.2", - "@azure-tools/typespec-azure-core": "0.37.1", - "@azure-tools/typespec-azure-resource-manager": "0.37.0", + "@azure-tools/typespec-azure-core": "0.37.2", + "@azure-tools/typespec-azure-resource-manager": "0.37.1", "@azure-tools/typespec-client-generator-core": "0.37.0", "@azure-tools/typespec-providerhub": "0.37.0", + "@azure/avocado": "^0.8.4", "@typespec/compiler": "0.51.0", "@typespec/http": "0.51.0", "@typespec/openapi": "0.51.0", "@typespec/openapi3": "0.51.1", "@typespec/rest": "0.51.0", "@typespec/versioning": "0.51.0", - "@azure/avocado": "^0.8.4", "azure-rest-api-specs-eng-tools": "file:eng/tools", "prettier": "~3.0.3", "typescript": "~5.1.3" diff --git a/specification/ai/DocumentIntelligence/tspconfig.yaml b/specification/ai/DocumentIntelligence/tspconfig.yaml index a247970a9f1d..6dad95e3398a 100644 --- a/specification/ai/DocumentIntelligence/tspconfig.yaml +++ b/specification/ai/DocumentIntelligence/tspconfig.yaml @@ -28,6 +28,15 @@ options: namespace: "com.azure.ai.documentintelligence" enable-sync-stack: true custom-types-subpackage: "implementation.models" + polling: + buildDocumentModel: + final-type: com.azure.ai.documentintelligence.models.DocumentModelDetails + buildClassifier: + final-type: com.azure.ai.documentintelligence.models.DocumentClassifierDetails + composeModel: + final-type: com.azure.ai.documentintelligence.models.DocumentModelDetails + copyModelTo: + final-type: com.azure.ai.documentintelligence.models.DocumentModelDetails # Uncomment this line and add "@azure-tools/typespec-csharp" to your package.json to generate C# code # "@azure-tools/typespec-csharp": true # Uncomment this line and add "@azure-tools/typespec-ts" to your package.json to generate Typescript code diff --git a/specification/ai/ImageAnalysis/main.tsp b/specification/ai/ImageAnalysis/main.tsp index 609c2caeca43..7cd08845b0dd 100644 --- a/specification/ai/ImageAnalysis/main.tsp +++ b/specification/ai/ImageAnalysis/main.tsp @@ -15,7 +15,6 @@ using Azure.Core; }) @versioned(ImageAnalysis.Versions) @useAuth(ApiKeyAuth) -@useAuth(BearerAuth) @server( "{endpoint}/computervision", "Analyze an image to generate a description of its content, detect text, objects and more.", diff --git a/specification/ai/ImageAnalysis/models.tsp b/specification/ai/ImageAnalysis/models.tsp index d10022135c4d..5731d45f9ec4 100644 --- a/specification/ai/ImageAnalysis/models.tsp +++ b/specification/ai/ImageAnalysis/models.tsp @@ -82,6 +82,7 @@ The first caption always applies to the whole image. model DenseCaptionsResult { @doc("The list of image captions.") @minItems(1) + @projectedName("python", "list") values: Array; } @@ -220,6 +221,7 @@ model ImageMetadata { model ObjectsResult { @doc("A list of physical object detected in an image and their location.") @minItems(0) + @projectedName("python", "list") values: Array; } @@ -227,6 +229,7 @@ model ObjectsResult { model PeopleResult { @doc("A list of people detected in an image and their location.") @minItems(0) + @projectedName("python", "list") values: Array; } @@ -245,6 +248,7 @@ These regions preserve as much content as possible from the analyzed image, with model SmartCropsResult { @doc("A list of crop regions.") @minItems(1) + @projectedName("python", "list") values: Array; } @@ -273,6 +277,7 @@ that appear in the image. model TagsResult { @doc("A list of tags.") @minItems(0) + @projectedName("python", "list") values: Array; } diff --git a/specification/ai/ImageAnalysis/routes.tsp b/specification/ai/ImageAnalysis/routes.tsp index e0e69a39df19..72c6f983ca83 100644 --- a/specification/ai/ImageAnalysis/routes.tsp +++ b/specification/ai/ImageAnalysis/routes.tsp @@ -32,7 +32,6 @@ alias SharedAnalyzeQuery = { The desired language for result generation (a two-letter language code). If this option is not specified, the default value 'en' is used (English). See https://aka.ms/cv-languages for a list of supported languages. - At the moment, only tags can be generated in none-English languages. """) @minLength(2) language?: string = "en"; diff --git a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/generated.json b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/generated.json index 2d4fa0d522b5..edab1f7c4e1a 100644 --- a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/generated.json +++ b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/generated.json @@ -124,7 +124,7 @@ { "name": "language", "in": "query", - "description": "The desired language for result generation (a two-letter language code).\nIf this option is not specified, the default value 'en' is used (English).\nSee https://aka.ms/cv-languages for a list of supported languages.\nAt the moment, only tags can be generated in none-English languages.", + "description": "The desired language for result generation (a two-letter language code).\nIf this option is not specified, the default value 'en' is used (English).\nSee https://aka.ms/cv-languages for a list of supported languages.", "required": false, "type": "string", "default": "en", @@ -278,7 +278,7 @@ { "name": "language", "in": "query", - "description": "The desired language for result generation (a two-letter language code).\nIf this option is not specified, the default value 'en' is used (English).\nSee https://aka.ms/cv-languages for a list of supported languages.\nAt the moment, only tags can be generated in none-English languages.", + "description": "The desired language for result generation (a two-letter language code).\nIf this option is not specified, the default value 'en' is used (English).\nSee https://aka.ms/cv-languages for a list of supported languages.", "required": false, "type": "string", "default": "en", diff --git a/specification/appplatform/resource-manager/readme.python.md b/specification/appplatform/resource-manager/readme.python.md index a203a3c4bec5..5a42fe284603 100644 --- a/specification/appplatform/resource-manager/readme.python.md +++ b/specification/appplatform/resource-manager/readme.python.md @@ -19,9 +19,11 @@ Generate all API versions currently shipped for this package ```yaml $(python) +default-api-version: "2023-12-01" multiapi: true clear-output-folder: true batch: + - tag: package-2023-12 - tag: package-preview-2023-11 - tag: package-preview-2023-09 - tag: package-preview-2023-07 @@ -44,9 +46,20 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/ +clear-output-folder: false perform-load: false ``` +### Tag: package-2023-12 and python + +These settings apply only when `--tag=package-2023-12 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2023-12' && $(python) +namespace: azure.mgmt.appplatform.v2023_12_01 +output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2023_12_01 +``` + ### Tag: package-preview-2023-11 and python These settings apply only when `--tag=package-preview-2023-11 --python` is specified on the command line. diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/createRuntimeEnvironment.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/createRuntimeEnvironment.json index 9e43d707e457..8c1a54556016 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/createRuntimeEnvironment.json +++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/createRuntimeEnvironment.json @@ -12,7 +12,7 @@ "version": "7.1" }, "defaultPackages": { - "Az": "6.*" + "Az": "8.3.0" } }, "location": "East US 2" @@ -37,7 +37,7 @@ "version": "7.1" }, "defaultPackages": { - "Az": "6.*" + "Az": "8.3.0" } } } @@ -60,7 +60,7 @@ "version": "7.1" }, "defaultPackages": { - "Az": "6.*" + "Az": "8.3.0" } } } diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/getRuntimeEnvironment.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/getRuntimeEnvironment.json index e5ee6d9e4b66..d22a12555728 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/getRuntimeEnvironment.json +++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/getRuntimeEnvironment.json @@ -25,7 +25,7 @@ "version": "7.1" }, "defaultPackages": { - "Az": "6.*" + "Az": "8.3.0" }, "description": "Description of the Runtime Environment" } diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/listRuntimeEnvironmentsByAutomationAccount.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/listRuntimeEnvironmentsByAutomationAccount.json index 19f91cade2db..eed579031da5 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/listRuntimeEnvironmentsByAutomationAccount.json +++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/listRuntimeEnvironmentsByAutomationAccount.json @@ -26,7 +26,7 @@ "version": "7.1" }, "defaultPackages": { - "Az": "6.*" + "Az": "8.3.0" }, "description": "Description of the Runtime Environment" } @@ -47,7 +47,7 @@ "version": "7.1" }, "defaultPackages": { - "Az": "6.*" + "Az": "8.3.0" }, "description": "Description of the Runtime Environment" } @@ -68,7 +68,7 @@ "version": "7.1" }, "defaultPackages": { - "Az": "6.*" + "Az": "8.3.0" }, "description": "Description of the Runtime Environment" } diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/updateRuntimeEnvironment.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/updateRuntimeEnvironment.json index 7e902ff893f2..dd49ff12cfb5 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/updateRuntimeEnvironment.json +++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/examples/runtimeEnvironment/updateRuntimeEnvironment.json @@ -8,7 +8,7 @@ "parameters": { "properties": { "defaultPackages": { - "Az": "6.*" + "Az": "8.3.0" } } } @@ -28,7 +28,7 @@ "version": "7.1" }, "defaultPackages": { - "Az": "6.*" + "Az": "8.3.0" }, "description": "Description of the Runtime Environment" }, diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/package.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/package.json index 6f5adc4eeb40..05e6bd2e4390 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/package.json +++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2023-05-15-preview/package.json @@ -279,7 +279,7 @@ "tags": [ "Package" ], - "operationId": "Packages_ListByRuntimeEnvironment", + "operationId": "Package_ListByRuntimeEnvironment", "description": "Retrieve the a list of Packages", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/packageoperations" diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/azuredatatransfer.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/azuredatatransfer.json new file mode 100644 index 000000000000..021b8d990f0b --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/azuredatatransfer.json @@ -0,0 +1,2361 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-10-11-preview", + "title": "azuredatatransferrp", + "description": "Azure Data Transfer service resource provider" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.AzureDataTransfer/validateSchema": { + "post": { + "description": "Validates a schema for Azure Data Transfer.", + "x-ms-examples": { + "Performs action request": { + "$ref": "examples/postValidateSchema.json" + } + }, + "operationId": "AzureDataTransfer_validateSchema", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "schema", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/schema" + }, + "description": "The schema to validate" + } + ], + "responses": { + "200": { + "description": "Result of the schema validation.", + "schema": { + "$ref": "#/definitions/validateSchemaResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.AzureDataTransfer/listApprovedSchemas": { + "post": { + "description": "Lists approved schemas for Azure Data Transfer.", + "x-ms-examples": { + "Performs action request": { + "$ref": "examples/postListApprovedSchemas.json" + } + }, + "operationId": "AzureDataTransfer_listApprovedSchemas", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "pipeline", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/listApprovedSchemasRequest" + }, + "description": "The request to list approved schemas." + } + ], + "responses": { + "200": { + "description": "List of approved schemas.", + "schema": { + "$ref": "#/definitions/schemasListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/flows/{flowName}": { + "get": { + "description": "Gets flow resource.", + "x-ms-examples": { + "Gets flow resource": { + "$ref": "examples/getFlow.json" + } + }, + "operationId": "Flows_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/flowNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved the flows resource.", + "schema": { + "$ref": "#/definitions/flow" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "description": "Creates or updates the flow resource.", + "operationId": "Flows_CreateOrUpdate", + "x-ms-examples": { + "Creates or updates the flow resource": { + "$ref": "examples/createOrUpdateFlow.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/flowNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "flow", + "description": "Flow body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/flow" + } + } + ], + "responses": { + "200": { + "description": "Created the flows resource.", + "schema": { + "$ref": "#/definitions/flow" + } + }, + "201": { + "description": "Accepted creation the flows resource.", + "schema": { + "$ref": "#/definitions/flow" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Deletes the flow resource.", + "x-ms-examples": { + "Deletes the flow resource": { + "$ref": "examples/deleteFlow.json" + } + }, + "operationId": "Flows_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/flowNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted delete the flows resource.", + "headers": { + "location": { + "description": "Location response header", + "type": "string" + } + } + }, + "204": { + "description": "Deleted the flows resource." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Updates the flow resource.", + "operationId": "Flows_Update", + "x-ms-examples": { + "Updates the flow resource": { + "$ref": "examples/patchFlow.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/flowNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "flow", + "description": "Flow body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/flowsPatch" + } + } + ], + "responses": { + "200": { + "description": "Updated the flows resource.", + "schema": { + "$ref": "#/definitions/flow" + } + }, + "202": { + "description": "Accepted update to the flows resource.", + "headers": { + "location": { + "description": "Location response header", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/flow" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/flows/{flowName}/enable": { + "post": { + "description": "Enables the specified flow.", + "x-ms-examples": { + "Enables the specified flow": { + "$ref": "examples/enableOrDisableFlow.json" + } + }, + "operationId": "Flows_Enable", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/flowNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Enables a flow.", + "schema": { + "$ref": "#/definitions/flow" + } + }, + "202": { + "description": "Enables a flow.", + "headers": { + "location": { + "description": "Location response header", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/flows/{flowName}/disable": { + "post": { + "description": "Disables the specified flow", + "x-ms-examples": { + "Disables the specified flow": { + "$ref": "examples/enableOrDisableFlow.json" + } + }, + "operationId": "Flows_Disable", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/flowNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Disables a flow.", + "schema": { + "$ref": "#/definitions/flow" + } + }, + "202": { + "description": "Disables a flow.", + "headers": { + "location": { + "description": "Location response header", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/flows/{flowName}/link": { + "post": { + "description": "Links the specified flow.", + "x-ms-examples": { + "Links the specified flow": { + "$ref": "examples/linkFlow.json" + } + }, + "operationId": "Flows_Link", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/flowNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "flow", + "description": "Flow body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/resourceBody" + } + } + ], + "responses": { + "200": { + "description": "Links a flow.", + "schema": { + "$ref": "#/definitions/flow" + } + }, + "202": { + "description": "Links a flow.", + "headers": { + "location": { + "description": "Location response header", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/flows": { + "get": { + "description": "Gets flows in a connection.", + "x-ms-examples": { + "Gets flows in a connection": { + "$ref": "examples/listFlowsByConnection.json" + } + }, + "operationId": "Flows_ListByConnection", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + } + ], + "responses": { + "200": { + "description": "Listed all flows under the resource group.", + "schema": { + "$ref": "#/definitions/flowsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}": { + "get": { + "description": "Gets connection resource.", + "x-ms-examples": { + "Gets connection resource": { + "$ref": "examples/getConnection.json" + } + }, + "operationId": "Connections_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved the connections resource.", + "schema": { + "$ref": "#/definitions/connection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "description": "Creates or updates the connection resource.", + "operationId": "Connections_CreateOrUpdate", + "x-ms-examples": { + "Creates or updates the connection resource": { + "$ref": "examples/createOrUpdateConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "connection", + "description": "Connection body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/connection" + } + } + ], + "responses": { + "200": { + "description": "Created the connections resource.", + "schema": { + "$ref": "#/definitions/connection" + } + }, + "201": { + "description": "Accepted create of the connections resource.", + "schema": { + "$ref": "#/definitions/connection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Deletes the connection resource.", + "x-ms-examples": { + "Deletes the connection resource": { + "$ref": "examples/deleteConnection.json" + } + }, + "operationId": "Connections_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted delete the connections resource.", + "headers": { + "location": { + "description": "Location response header", + "type": "string" + } + } + }, + "204": { + "description": "Deleted the connections resource." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Updates the connection resource.", + "operationId": "Connections_Update", + "x-ms-examples": { + "Updates the connection resource": { + "$ref": "examples/patchConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "connection", + "description": "Connection body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/connectionsPatch" + } + } + ], + "responses": { + "200": { + "description": "Updated the connections resource.", + "schema": { + "$ref": "#/definitions/connection" + } + }, + "202": { + "description": "Accepted update to the connections resource.", + "headers": { + "location": { + "description": "Location response header", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/connection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/link": { + "post": { + "description": "Links the connection to its pending connection.", + "x-ms-examples": { + "Links the specified connection": { + "$ref": "examples/linkConnection.json" + } + }, + "operationId": "Connections_Link", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "connection", + "description": "Connection body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/resourceBody" + } + } + ], + "responses": { + "200": { + "description": "Links a connection.", + "schema": { + "$ref": "#/definitions/connection" + } + }, + "202": { + "description": "Links a connection.", + "headers": { + "location": { + "description": "Location response header", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/listPendingConnections": { + "post": { + "description": "Lists all pending connections for a connection.", + "x-ms-examples": { + "Lists a list of pending connections": { + "$ref": "examples/listPendingConnections.json" + } + }, + "operationId": "ListPendingConnections_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Listed all pending connections.", + "schema": { + "$ref": "#/definitions/pendingConnectionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/listPendingFlows": { + "post": { + "description": "Lists all pending flows for a connection.", + "x-ms-examples": { + "Lists a list of pending flows": { + "$ref": "examples/listPendingFlows.json" + } + }, + "operationId": "ListPendingFlows_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Listed all connections under the resource group.", + "schema": { + "$ref": "#/definitions/pendingFlowsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections": { + "get": { + "description": "Gets connections in a resource group.", + "x-ms-examples": { + "Gets connections in a resource group": { + "$ref": "examples/listConnectionsByResourceGroup.json" + } + }, + "operationId": "Connections_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Listed all connections under the resource group.", + "schema": { + "$ref": "#/definitions/connectionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureDataTransfer/connections": { + "get": { + "description": "Gets connections in a subscription.", + "x-ms-examples": { + "Gets connections in a subscription": { + "$ref": "examples/listConnectionsBySubscription.json" + } + }, + "operationId": "Connections_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Listed all connections under the subscription.", + "schema": { + "$ref": "#/definitions/connectionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/pipelines/{pipelineName}": { + "get": { + "description": "Gets pipeline resource.", + "x-ms-examples": { + "Gets pipeline resource": { + "$ref": "examples/getPipeline.json" + } + }, + "operationId": "Pipelines_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/pipelineNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved the pipelines resource.", + "schema": { + "$ref": "#/definitions/pipeline" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "description": "Creates or updates the pipeline resource.", + "operationId": "Pipelines_CreateOrUpdate", + "x-ms-examples": { + "Creates or updates the pipeline resource": { + "$ref": "examples/createOrUpdatePipeline.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/pipelineNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "pipeline", + "description": "Pipeline body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/pipeline" + } + } + ], + "responses": { + "200": { + "description": "Created the pipelines resource.", + "schema": { + "$ref": "#/definitions/pipeline" + } + }, + "201": { + "description": "Accepted create of the pipelines resource.", + "schema": { + "$ref": "#/definitions/pipeline" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Deletes the pipeline resource.", + "x-ms-examples": { + "Deletes the pipeline resource": { + "$ref": "examples/deletePipeline.json" + } + }, + "operationId": "Pipelines_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/pipelineNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted delete of the pipelines resource.", + "headers": { + "location": { + "description": "Location response header", + "type": "string" + } + } + }, + "204": { + "description": "Deleted the pipelines resource." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Updates the pipeline resource.", + "operationId": "Pipelines_Update", + "x-ms-examples": { + "Updates the pipeline resource": { + "$ref": "examples/patchPipeline.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/pipelineNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "pipeline", + "description": "Pipeline body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/pipelinesPatch" + } + } + ], + "responses": { + "200": { + "description": "Updated the pipelines resource.", + "schema": { + "$ref": "#/definitions/pipeline" + } + }, + "202": { + "description": "Accepted update to the pipelines resource.", + "headers": { + "location": { + "description": "Location response header", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/pipeline" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/pipelines/{pipelineName}/approveConnection": { + "post": { + "description": "Approves the specified connection in a pipeline.", + "x-ms-examples": { + "Approves the specified connection in a pipeline": { + "$ref": "examples/approveOrRejectConnection.json" + } + }, + "operationId": "Pipelines_ApproveConnection", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/pipelineNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "connection", + "description": "Connection body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/resourceBody" + } + } + ], + "responses": { + "200": { + "description": "Approves a connection.", + "schema": { + "$ref": "#/definitions/connection" + } + }, + "202": { + "description": "Approves a connection.", + "headers": { + "location": { + "description": "Location response header", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/pipelines/{pipelineName}/rejectConnection": { + "post": { + "description": "Rejects the specified connection in a pipeline.", + "x-ms-examples": { + "Rejects the specified connection in a pipeline": { + "$ref": "examples/approveOrRejectConnection.json" + } + }, + "operationId": "Pipelines_RejectConnection", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/pipelineNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "connection", + "description": "Connection body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/resourceBody" + } + } + ], + "responses": { + "200": { + "description": "Rejects a connection.", + "schema": { + "$ref": "#/definitions/connection" + } + }, + "202": { + "description": "Rejects a connection.", + "headers": { + "location": { + "description": "Location response header", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/pipelines/{pipelineName}/listSchemas": { + "post": { + "description": "Lists the schemas for the specified connection in a pipeline.", + "x-ms-examples": { + "Lists schemas for a pipeline": { + "$ref": "examples/listSchemas.json" + } + }, + "operationId": "ListSchemas_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/pipelineNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "schema", + "description": "Schema(s) to retrieve", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/schema" + } + } + ], + "responses": { + "200": { + "description": "Approves a connection.", + "schema": { + "description": "The schemas for this connection", + "$ref": "#/definitions/schemasListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/pipelines": { + "get": { + "description": "Gets pipelines in a resource group.", + "x-ms-examples": { + "Gets pipelines in a resource group": { + "$ref": "examples/listPipelinesByResourceGroup.json" + } + }, + "operationId": "Pipelines_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Listed all pipelines under the resource group.", + "schema": { + "$ref": "#/definitions/pipelinesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureDataTransfer/pipelines": { + "get": { + "description": "Gets pipelines in a subscription.", + "x-ms-examples": { + "Gets pipelines in a subscription": { + "$ref": "examples/listPipelinesBySubscription.json" + } + }, + "operationId": "Pipelines_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Listed all pipelines under the subscription.", + "schema": { + "$ref": "#/definitions/pipelinesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.AzureDataTransfer/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "List operations": { + "$ref": "./examples/listOperations.json" + } + }, + "description": "Lists all of the available Microsoft.AzureDataTransfer REST API operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Listed all of the available operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "validateSchemaResult": { + "type": "object", + "description": "Result of the schema validation.", + "properties": { + "status": { + "enum": [ + "Succeeded", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "validateSchemaStatus", + "modelAsString": true + }, + "description": "Validation status of the schema" + }, + "message": { + "type": "string", + "description": "Message describing the schema validation" + } + } + }, + "listApprovedSchemasRequest": { + "type": "object", + "properties": { + "pipeline": { + "type": "string", + "description": "The name of the pipeline to filter approved schemas." + }, + "direction": { + "description": "The direction pipeline to filter approved schemas.", + "enum": [ + "Send", + "Receive" + ], + "type": "string", + "x-ms-enum": { + "name": "listApprovedSchemasDirection", + "modelAsString": true + } + } + } + }, + "selectedResource": { + "type": "object", + "description": "A resource selected from ARM", + "properties": { + "name": { + "type": "string", + "description": "Name of the connection" + }, + "id": { + "type": "string", + "description": "Id of the connection" + }, + "location": { + "type": "string", + "description": "Location of the connection", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "subscriptionName": { + "type": "string", + "description": "Name of the subscription with the connection" + } + }, + "required": [ + "id" + ] + }, + "flowProperties": { + "type": "object", + "properties": { + "connection": { + "$ref": "#/definitions/selectedResource", + "description": "The connection associated with this flow" + }, + "flowId": { + "type": "string", + "description": "Dataflow GUID associated with this flow", + "readOnly": true + }, + "keyVaultUri": { + "type": "string", + "description": "AME, PME, or TORUS only! AKV Chain Containing SAS Token" + }, + "linkStatus": { + "enum": [ + "Linked", + "Unlinked" + ], + "type": "string", + "x-ms-enum": { + "name": "linkStatusFlow", + "modelAsString": true + }, + "description": "Link status of the current flow", + "readOnly": true + }, + "linkedFlowId": { + "type": "string", + "description": "Resource ID of the linked flow", + "readOnly": true + }, + "status": { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "flowStatus", + "modelAsString": true + }, + "description": "Status of the current flow" + }, + "storageAccountName": { + "type": "string", + "description": "Storage Account" + }, + "storageAccountId": { + "type": "string", + "format": "arm-id", + "description": "Storage Account ID", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "scopes": [ + "*" + ], + "type": "Microsoft.Storage/storageAccounts" + } + ] + } + }, + "storageContainerName": { + "type": "string", + "description": "Storage Container Name" + }, + "serviceBusQueueId": { + "type": "string", + "format": "arm-id", + "description": "Service Bus Queue ID", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "scopes": [ + "*" + ], + "type": "Microsoft.Storage/namespaces/queues" + } + ] + } + }, + "flowType": { + "$ref": "#/definitions/flowType", + "description": "The flow type for this flow" + }, + "dataType": { + "enum": [ + "Blob", + "Table" + ], + "type": "string", + "x-ms-enum": { + "name": "dataType", + "modelAsString": true + }, + "description": "Transfer Storage Blobs or Tables" + }, + "provisioningState": { + "description": "Provisioning state of the flow", + "enum": [ + "Failed", + "Succeeded", + "Canceled", + "Accepted" + ], + "type": "string", + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "policies": { + "type": "array", + "description": "The policies for this flow", + "items": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/schema", + "description": "The selected schema for this flow" + } + }, + "description": "Properties of flow" + }, + "flow": { + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "$ref": "#/definitions/flowProperties" + }, + "plan": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Plan" + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The managed identity of the flow resource, if configured." + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "description": "The flow resource definition." + }, + "pendingFlow": { + "type": "object", + "description": "Pending flow object", + "properties": { + "subscriptionId": { + "type": "string", + "description": "Subscription ID of the pending flow.", + "readOnly": true + }, + "connectionId": { + "type": "string", + "description": "Connection ID of the pending flow.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/flowProperties" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] + }, + "flowsPatch": { + "type": "object", + "properties": { + "identity": { + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The managed identity of the flow resource, if configured." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "The flows resource patch definition." + }, + "flowsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/flow" + }, + "description": "Flows array.", + "x-ms-identifiers": [ + "id" + ] + }, + "nextLink": { + "description": "Link to next results", + "type": "string" + } + }, + "description": "The flows list result." + }, + "connectionProperties": { + "type": "object", + "properties": { + "pipeline": { + "type": "string", + "description": "Pipeline to use to transfer data" + }, + "direction": { + "description": "Direction of data movement", + "enum": [ + "Send", + "Receive" + ], + "type": "string", + "x-ms-enum": { + "name": "direction", + "modelAsString": true + } + }, + "justification": { + "type": "string", + "description": "Justification for the connection request" + }, + "status": { + "description": "Status of the connection", + "enum": [ + "InReview", + "Approved", + "Rejected", + "Accepted" + ], + "type": "string", + "x-ms-enum": { + "name": "status", + "modelAsString": true + }, + "readOnly": true + }, + "statusReason": { + "type": "string", + "description": "Reason for status", + "readOnly": true + }, + "linkStatus": { + "enum": [ + "Linked", + "Unlinked" + ], + "type": "string", + "x-ms-enum": { + "name": "linkStatus", + "modelAsString": true + }, + "description": "Link status of the current connection", + "readOnly": true + }, + "linkedConnectionId": { + "type": "string", + "description": "Resource ID of the linked connection", + "readOnly": true + }, + "flowTypes": { + "$ref": "#/definitions/flowTypes", + "description": "The flow types being requested for this connection" + }, + "requirementId": { + "description": "Requirement ID of the connection", + "type": "string" + }, + "remoteSubscriptionId": { + "description": "Subscription ID to link cloud subscriptions together", + "type": "string" + }, + "approver": { + "description": "Approver of this connection request", + "type": "string", + "readOnly": true + }, + "pin": { + "description": "PIN to link requests together", + "type": "string" + }, + "dateSubmitted": { + "type": "string", + "format": "date-time", + "description": "The timestamp that this connection request was submitted at", + "readOnly": true + }, + "primaryContact": { + "type": "string", + "description": "The primary contact for this connection request" + }, + "secondaryContacts": { + "type": "array", + "description": "The secondary contacts for this connection request", + "items": { + "type": "string" + } + }, + "provisioningState": { + "description": "Provisioning state of the connection", + "enum": [ + "Failed", + "Succeeded", + "Canceled", + "Accepted" + ], + "type": "string", + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "policies": { + "type": "array", + "description": "The policies for this connection", + "items": { + "type": "string" + } + }, + "schemas": { + "description": "The schemas for this connection", + "$ref": "#/definitions/schemas" + } + }, + "required": [ + "pipeline" + ], + "description": "Properties of connection" + }, + "connection": { + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "$ref": "#/definitions/connectionProperties" + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "description": "The connection resource definition." + }, + "pendingConnection": { + "type": "object", + "description": "Pending connection object", + "properties": { + "subscriptionId": { + "type": "string", + "description": "Subscription ID of the pending connection.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/connectionProperties" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] + }, + "connectionsPatch": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "The connections resource patch definition." + }, + "connectionsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/connection" + }, + "description": "Connections array.", + "x-ms-identifiers": [ + "id" + ] + }, + "nextLink": { + "description": "Link to next results", + "type": "string" + } + }, + "description": "The connections list result." + }, + "pendingConnectionsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/pendingConnection" + }, + "description": "Connections array.", + "x-ms-identifiers": [ + "id" + ] + }, + "nextLink": { + "description": "Link to next results", + "type": "string" + } + }, + "description": "The connections list result." + }, + "pendingFlowsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/pendingFlow" + }, + "description": "flows array.", + "x-ms-identifiers": [ + "id" + ] + }, + "nextLink": { + "description": "Link to next results", + "type": "string" + } + }, + "description": "The connections list result." + }, + "operationStatusProperties": { + "type": "object", + "description": "Operation status associated with the last patch request", + "properties": { + "status": { + "enum": [ + "Failed", + "Succeeded" + ], + "type": "string", + "x-ms-enum": { + "name": "operationStatusEnum", + "modelAsString": true + }, + "description": "Operation status for the last patch request for this connection.", + "readOnly": true + }, + "id": { + "type": "string", + "description": "Operation status ID of the last patch request for this connection.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Message for the operation for the last patch request for this connection.", + "readOnly": true + } + } + }, + "internalMetadataProperties": { + "type": "object", + "description": "Internal metadata of the connection inside pipeline.", + "properties": { + "operationStatus": { + "$ref": "#/definitions/operationStatusProperties" + }, + "statusSetBy": { + "type": "string", + "description": "User that last set the approved status for this connection", + "readOnly": true + } + }, + "additionalProperties": {} + }, + "pipelineConnection": { + "description": "Connection body inside a pipeline", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Connection id inside pipeline" + }, + "name": { + "type": "string", + "description": "Connection name inside pipeline", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Connection type inside pipeline", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Connection location inside pipeline", + "x-ms-mutability": [ + "read" + ], + "readOnly": true + }, + "etag": { + "type": "string", + "description": "Connection etag inside pipeline", + "readOnly": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData" + }, + "properties": { + "type": "object", + "description": "Connection properties inside pipeline", + "properties": { + "internalMetadata": { + "$ref": "#/definitions/internalMetadataProperties" + } + }, + "additionalProperties": {} + } + }, + "additionalProperties": {}, + "required": [ + "id" + ] + }, + "pipelineProperties": { + "type": "object", + "properties": { + "remoteCloud": { + "type": "string", + "description": "Remote cloud of the data to be transferred or received" + }, + "displayName": { + "type": "string", + "description": "Display name of this pipeline" + }, + "connections": { + "type": "array", + "items": { + "$ref": "#/definitions/pipelineConnection" + }, + "description": "Connections associated with pipeline", + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + }, + "subscribers": { + "type": "array", + "items": { + "$ref": "#/definitions/subscriber" + }, + "x-ms-identifiers": [], + "description": "Subscribers of this resource" + }, + "provisioningState": { + "description": "Provisioning state of the pipeline", + "enum": [ + "Failed", + "Succeeded", + "Canceled", + "Accepted" + ], + "type": "string", + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "policies": { + "type": "array", + "description": "The policies for this pipeline", + "items": { + "type": "string" + } + }, + "flowTypes": { + "$ref": "#/definitions/flowTypes", + "description": "The flow types allowed for this pipeline" + } + }, + "required": [ + "remoteCloud" + ], + "description": "Properties of pipeline" + }, + "pipeline": { + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "$ref": "#/definitions/pipelineProperties" + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "description": "The pipeline resource definition." + }, + "pipelinesPatch": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "connections": { + "type": "array", + "items": { + "$ref": "#/definitions/pipelineConnection" + }, + "description": "Connections associated with pipeline", + "x-ms-identifiers": [ + "id" + ] + }, + "flowTypes": { + "$ref": "#/definitions/flowTypes", + "description": "The flow types allowed for this pipeline" + } + }, + "description": "Properties of pipelines patch body." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "The pipelines resource patch definition." + }, + "pipelinesListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/pipeline" + }, + "description": "Pipelines array.", + "x-ms-identifiers": [ + "id" + ] + }, + "nextLink": { + "description": "Link to next results", + "type": "string" + } + }, + "description": "The pipelines list result." + }, + "subscriber": { + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "Email of the subscriber" + }, + "notifications": { + "type": "integer", + "format": "int64", + "description": "Number specifying what notifications to receive" + } + } + }, + "schemas": { + "type": "array", + "description": "The schemas for this connection", + "x-ms-identifiers": [ + "connectionId", + "name" + ], + "items": { + "$ref": "#/definitions/schema" + } + }, + "schema": { + "type": "object", + "description": "The schema object.", + "properties": { + "id": { + "type": "string", + "description": "ID associated with this schema" + }, + "connectionId": { + "type": "string", + "description": "Connection ID associated with this schema" + }, + "status": { + "enum": [ + "New", + "Approved" + ], + "type": "string", + "x-ms-enum": { + "name": "schemaStatus", + "modelAsString": true + }, + "description": "Status of the schema" + }, + "name": { + "type": "string", + "description": "Name of the schema" + }, + "content": { + "type": "string", + "description": "Content of the schema" + } + } + }, + "schemasListResult": { + "type": "object", + "properties": { + "value": { + "description": "Schemas array.", + "$ref": "#/definitions/schemas" + } + }, + "description": "The schemas list result." + }, + "flowTypes": { + "type": "array", + "description": "The flow types that are allowed for this resource", + "items": { + "$ref": "#/definitions/flowType" + } + }, + "flowType": { + "enum": [ + "Unknown", + "Complex", + "DevSecOps", + "Messaging", + "Mission", + "MicrosoftInternal", + "BasicFiles", + "Data" + ], + "type": "string", + "x-ms-enum": { + "name": "flowType", + "modelAsString": true + }, + "description": "Flow type for the specified resource" + }, + "resourceBody": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the resource." + }, + "statusReason": { + "type": "string", + "description": "Reason for resource operation." + } + }, + "required": [ + "id" + ], + "description": "The resource to reference." + } + }, + "parameters": { + "flowNameParameter": { + "x-ms-parameter-location": "method", + "name": "flowName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,64}$", + "maxLength": 64, + "minLength": 3, + "description": "The name for the flow that is to be onboarded." + }, + "connectionNameParameter": { + "x-ms-parameter-location": "method", + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,64}$", + "maxLength": 64, + "minLength": 3, + "description": "The name for the connection that is to be requested." + }, + "pipelineNameParameter": { + "x-ms-parameter-location": "method", + "name": "pipelineName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,64}$", + "maxLength": 64, + "minLength": 3, + "description": "The name for the pipeline that is to be requested." + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/approveOrRejectConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/approveOrRejectConnection.json new file mode 100644 index 000000000000..705b2389de68 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/approveOrRejectConnection.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "pipelineName": "testPipeline", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "connection": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection", + "statusReason": "Example reason" + } + }, + "responses": { + "202": { + "headers": { + "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2023-10-11-preview" + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection", + "type": "Microsoft.AzureDataTransfer/connections", + "location": "East US", + "properties": { + "pipeline": "testdc", + "justification": "justification", + "requirementId": "id" + } + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/createOrUpdateConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/createOrUpdateConnection.json new file mode 100644 index 000000000000..713dec2d9105 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/createOrUpdateConnection.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "connectionName": "testConnection", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "connection": { + "properties": { + "pipeline": "testdc", + "justification": "justification", + "requirementId": "id" + }, + "location": "East US" + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection", + "type": "Microsoft.AzureDataTransfer/connections", + "location": "East US", + "properties": { + "pipeline": "testdc", + "justification": "justification", + "requirementId": "id" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection", + "type": "Microsoft.AzureDataTransfer/connections", + "location": "East US", + "properties": { + "pipeline": "testdc", + "justification": "justification", + "requirementId": "id" + } + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/createOrUpdateFlow.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/createOrUpdateFlow.json new file mode 100644 index 000000000000..557facfa1ce2 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/createOrUpdateFlow.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "connectionName": "testConnection", + "flowName": "testFlow", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "flow": { + "properties": { + "storageAccountName": "testsa", + "storageContainerName": "testcontainer", + "flowType": "Blob", + "connection": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection" + } + }, + "location": "East US" + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow", + "type": "Microsoft.AzureDataTransfer/flows", + "location": "East US" + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow", + "type": "Microsoft.AzureDataTransfer/flows", + "location": "East US" + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/createOrUpdatePipeline.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/createOrUpdatePipeline.json new file mode 100644 index 000000000000..7282647b72d0 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/createOrUpdatePipeline.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "pipelineName": "testPipeline", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "pipeline": { + "properties": { + "remoteCloud": "testdc" + }, + "location": "East US" + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline", + "type": "Microsoft.AzureDataTransfer/pipelines", + "location": "East US" + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline", + "type": "Microsoft.AzureDataTransfer/pipelines", + "location": "East US" + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/deleteConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/deleteConnection.json new file mode 100644 index 000000000000..768ad98de2fa --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/deleteConnection.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "connectionName": "testConnection", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2023-10-11-preview" + } + }, + "204": {} + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/deleteFlow.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/deleteFlow.json new file mode 100644 index 000000000000..9a6d1941311b --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/deleteFlow.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "connectionName": "testConnection", + "flowName": "testFlow", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2023-10-11-preview" + } + }, + "204": {} + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/deletePipeline.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/deletePipeline.json new file mode 100644 index 000000000000..5ccd7d9136ee --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/deletePipeline.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "pipelineName": "testPipeline", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2023-10-11-preview" + } + }, + "204": {} + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/enableOrDisableFlow.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/enableOrDisableFlow.json new file mode 100644 index 000000000000..95e8dc6b404d --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/enableOrDisableFlow.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "connectionName": "testConnection", + "flowName": "testFlow", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow", + "type": "Microsoft.AzureDataTransfer/flows", + "location": "East US" + } + }, + "202": { + "headers": { + "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2023-10-11-preview" + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/getConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/getConnection.json new file mode 100644 index 000000000000..14a651e53077 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/getConnection.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "connectionName": "testConnection", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connection/testConnection", + "type": "Microsoft.AzureDataTransfer/connections", + "location": "East US" + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/getFlow.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/getFlow.json new file mode 100644 index 000000000000..bcaa70ae6669 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/getFlow.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "connectionName": "testConnection", + "flowName": "testFlow", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow", + "type": "Microsoft.AzureDataTransfer/flows", + "location": "East US" + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/getPipeline.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/getPipeline.json new file mode 100644 index 000000000000..3a519f345369 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/getPipeline.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "pipelineName": "testPipeline", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline", + "type": "Microsoft.AzureDataTransfer/pipelines", + "location": "East US" + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/linkConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/linkConnection.json new file mode 100644 index 000000000000..4b7f998580ab --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/linkConnection.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "connectionName": "testConnection", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "connection": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection", + "type": "Microsoft.AzureDataTransfer/connection", + "location": "East US" + } + }, + "202": { + "headers": { + "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2023-10-11-preview" + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/linkFlow.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/linkFlow.json new file mode 100644 index 000000000000..c5c89effa176 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/linkFlow.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "connectionName": "testConnection", + "flowName": "testFlow", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "flow": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow", + "type": "Microsoft.AzureDataTransfer/flows", + "location": "East US" + } + }, + "202": { + "headers": { + "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2023-10-11-preview" + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listConnectionsByResourceGroup.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listConnectionsByResourceGroup.json new file mode 100644 index 000000000000..aa5ca3af63ff --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listConnectionsByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testConnection", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection", + "type": "Microsoft.AzureDataTransfer/connections", + "location": "East US", + "properties": { + "pipeline": "testdc", + "justification": "justification", + "requirementId": "id" + } + }, + { + "name": "testConnection2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection2", + "type": "Microsoft.AzureDataTransfer/connections", + "location": "East US", + "properties": { + "pipeline": "testdc", + "justification": "justification", + "requirementId": "id" + } + } + ] + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listConnectionsBySubscription.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listConnectionsBySubscription.json new file mode 100644 index 000000000000..0faa21bc5dfe --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listConnectionsBySubscription.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testConnection", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection", + "type": "Microsoft.AzureDataTransfer/connections", + "location": "East US", + "properties": { + "pipeline": "testdc", + "justification": "justification", + "requirementId": "id" + } + }, + { + "name": "testConnection2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection2", + "type": "Microsoft.AzureDataTransfer/connections", + "location": "East US", + "properties": { + "pipeline": "testdc", + "justification": "justification", + "requirementId": "id" + } + } + ] + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listFlowsByConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listFlowsByConnection.json new file mode 100644 index 000000000000..218121abf4af --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listFlowsByConnection.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "resourceGroupName": "testRG", + "connectionName": "testConnection", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testConnection", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow", + "type": "Microsoft.AzureDataTransfer/connections/flows", + "location": "East US", + "properties": { + "storageAccountName": "testsa", + "storageContainerName": "testcontainer", + "flowType": "Blob", + "connection": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testFlow" + } + } + }, + { + "name": "testConnection2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection2/flows/testFlow", + "type": "Microsoft.AzureDataTransfer/connections/flows", + "location": "East US", + "properties": { + "storageAccountName": "testsa", + "storageContainerName": "testcontainer", + "flowType": "Blob", + "connection": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testFlow" + } + } + } + ] + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listOperations.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listOperations.json new file mode 100644 index 000000000000..3120aa85c46a --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listOperations.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "teleportalClient", + "api-version": "2023-10-11-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.AzureDataTransfer/read", + "display": { + "provider": "CTS Experience", + "resource": "Flow", + "operation": "Read flows", + "description": "Read flows" + } + }, + { + "name": "Microsoft.AzureDataTransfer/write", + "display": { + "provider": "CTS Experience", + "resource": "Flow", + "operation": "Update flows", + "description": "Update flows" + } + }, + { + "name": "Microsoft.AzureDataTransfer/delete", + "display": { + "provider": "CTS Experience", + "resource": "Flow", + "operation": "Delete flows", + "description": "Delete flows" + } + } + ] + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listPendingConnections.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listPendingConnections.json new file mode 100644 index 000000000000..58bfb075dc78 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listPendingConnections.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "resourceGroupName": "testRG", + "connectionName": "testConnection", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testConnection", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection", + "location": "East US", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "pipeline": "testdc", + "justification": "justification", + "requirementId": "id" + }, + { + "name": "testConnection", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection", + "location": "East US", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "pipeline": "testdc", + "justification": "justification", + "requirementId": "id" + } + ] + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listPendingFlows.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listPendingFlows.json new file mode 100644 index 000000000000..07de65291538 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listPendingFlows.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "resourceGroupName": "testRG", + "connectionName": "testConnection", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testFlow", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow", + "type": "Microsoft.AzureDataTransfer/connections/flows", + "location": "East US", + "storageAccountName": "testsa", + "storageContainerName": "testcontainer", + "flowType": "Blob" + }, + { + "name": "testInstallation2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow", + "type": "Microsoft.AzureDataTransfer/connections/flows", + "location": "East US", + "storageAccountName": "testsa", + "storageContainerName": "testcontainer", + "flowType": "Blob" + } + ] + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listPipelinesByResourceGroup.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listPipelinesByResourceGroup.json new file mode 100644 index 000000000000..d643fb0b457f --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listPipelinesByResourceGroup.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testPipeline", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline", + "type": "Microsoft.AzureDataTransfer/pipelines", + "location": "East US", + "properties": { + "remoteCloud": "testdc" + } + }, + { + "name": "testPipeline2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline2", + "type": "Microsoft.AzureDataTransfer/pipelines", + "location": "East US", + "properties": { + "remoteCloud": "testdc" + } + } + ] + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listPipelinesBySubscription.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listPipelinesBySubscription.json new file mode 100644 index 000000000000..9583b6d84538 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listPipelinesBySubscription.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testPipeline", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline", + "type": "Microsoft.AzureDataTransfer/pipelines", + "location": "East US", + "properties": { + "remoteCloud": "testdc" + } + }, + { + "name": "testPipeline2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline2", + "type": "Microsoft.AzureDataTransfer/pipelines", + "location": "East US", + "properties": { + "remoteCloud": "testdc" + } + } + ] + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listSchemas.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listSchemas.json new file mode 100644 index 000000000000..9c4aa753bba9 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/listSchemas.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "pipelineName": "testPipeline", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "schema": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection", + "name": "test.xsd" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test.xsd", + "content": "xsd content" + } + ] + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/patchConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/patchConnection.json new file mode 100644 index 000000000000..25321f7be09c --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/patchConnection.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "connectionName": "testConnection", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "connection": {}, + "tags": { + "tag": "value" + } + }, + "responses": { + "202": { + "headers": { + "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2023-10-11-preview" + }, + "body": { + "tags": { + "tag": "value" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection", + "type": "Microsoft.AzureDataTransfer/connections", + "location": "East US", + "properties": { + "pipeline": "testdc", + "justification": "justification", + "requirementId": "id" + } + } + }, + "200": { + "body": { + "tags": { + "tag": "value" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection", + "type": "Microsoft.AzureDataTransfer/connections", + "location": "East US", + "properties": { + "pipeline": "testdc", + "justification": "justification", + "requirementId": "id" + } + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/patchFlow.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/patchFlow.json new file mode 100644 index 000000000000..1839646db644 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/patchFlow.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "connectionName": "testConnection", + "flowName": "testFlow", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "flow": {}, + "tags": { + "tag": "value" + } + }, + "responses": { + "202": { + "headers": { + "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2023-10-11-preview" + }, + "body": { + "tags": { + "tag": "value" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow", + "type": "Microsoft.AzureDataTransfer/connections/flows", + "location": "East US", + "properties": { + "storageAccountName": "testsa", + "storageContainerName": "testcontainer", + "flowType": "Blob", + "connection": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testFlow" + } + } + } + }, + "200": { + "body": { + "tags": { + "tag": "value" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow", + "type": "Microsoft.AzureDataTransfer/connections/flows", + "location": "East US", + "properties": { + "storageAccountName": "testsa", + "storageContainerName": "testcontainer", + "flowType": "Blob", + "connection": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testFlow" + } + } + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/patchPipeline.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/patchPipeline.json new file mode 100644 index 000000000000..cf0f045fd8ed --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/patchPipeline.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "pipelineName": "testPipeline", + "resourceGroupName": "testRG", + "api-version": "2023-10-11-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "pipeline": {}, + "tags": { + "tag": "value" + } + }, + "responses": { + "202": { + "headers": { + "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2023-10-11-preview" + }, + "body": { + "tags": { + "tag": "value" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline", + "type": "Microsoft.AzureDataTransfer/pipelines", + "location": "East US", + "properties": { + "remoteCloud": "testdc" + } + } + }, + "200": { + "body": { + "tags": { + "tag": "value" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline", + "type": "Microsoft.AzureDataTransfer/pipelines", + "location": "East US", + "properties": { + "remoteCloud": "testdc" + } + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/postListApprovedSchemas.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/postListApprovedSchemas.json new file mode 100644 index 000000000000..6823f20b039d --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/postListApprovedSchemas.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-10-11-preview", + "pipeline": { + "pipeline": "test", + "direction": "Send" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test.xsd", + "content": "xsd content" + } + ] + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/postValidateSchema.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/postValidateSchema.json new file mode 100644 index 000000000000..78e933f2393f --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/preview/2023-10-11-preview/examples/postValidateSchema.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-10-11-preview", + "schema": { + "name": "schema.xml" + } + }, + "responses": { + "200": { + "body": { + "status": "Failed", + "message": "Validation failed" + } + } + } +} diff --git a/specification/azuredatatransfer/resource-manager/readme.az.md b/specification/azuredatatransfer/resource-manager/readme.az.md new file mode 100644 index 000000000000..0cd06f8c05cb --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/readme.az.md @@ -0,0 +1,28 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage. + +``` yaml $(az) && $(target-mode) != 'core' +az: + extensions: azuredatatransfer + namespace: azure.mgmt.azuredatatransfer + package-name: azure-mgmt-azuredatatransfer +az-output-folder: $(azure-cli-extension-folder)/src/azuredatatransfer +python-sdk-output-folder: "$(az-output-folder)/azext_azuredatatransfer/vendored_sdks/azuredatatransfer" +# add additional configuration here specific for Azure CLI +# refer to the faq.md for more details +``` + + + +This is for command modules that already in azure cli main repo. +``` yaml $(az) && $(target-mode) == 'core' +az: + extensions: azuredatatransfer + namespace: azure.mgmt.azuredatatransfer + package-name: azure-mgmt-azuredatatransfer +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/azuredatatransfer +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/azuredatatransfer" +``` \ No newline at end of file diff --git a/specification/azuredatatransfer/resource-manager/readme.cli.md b/specification/azuredatatransfer/resource-manager/readme.cli.md new file mode 100644 index 000000000000..c6cf6ad37ea4 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/readme.cli.md @@ -0,0 +1 @@ +## CLI Common Settings for all the command line tools \ No newline at end of file diff --git a/specification/azuredatatransfer/resource-manager/readme.csharp.md b/specification/azuredatatransfer/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..00705786c763 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.AzureDataTransfer + output-folder: $(csharp-sdks-folder)/azuredatatransfer/management/Microsoft.AzureDataTransfer/GeneratedProtocol +``` diff --git a/specification/azuredatatransfer/resource-manager/readme.go.md b/specification/azuredatatransfer/resource-manager/readme.go.md new file mode 100644 index 000000000000..f23afe971379 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/readme.go.md @@ -0,0 +1,11 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/azuredatatransfer/armazuredatatransfer +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +``` diff --git a/specification/azuredatatransfer/resource-manager/readme.md b/specification/azuredatatransfer/resource-manager/readme.md new file mode 100644 index 000000000000..107e12c1a304 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/readme.md @@ -0,0 +1,79 @@ +# azuredatatransfer + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for azuredatatransfer. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the azuredatatransfer. + +```yaml +openapi-type: arm +openapi-subtype: rpaas +tag: package-2023-10-11-preview +``` + +### Tag: package-2023-10-11-preview + +These settings apply only when `--tag=package-2023-10-11-preview` is specified on the command line. + +```yaml $(tag) == 'package-2023-10-11-preview' +input-file: + - Microsoft.AzureDataTransfer/preview/2023-10-11-preview/azuredatatransfer.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + - repo: azure-cli-extensions + - repo: azure-powershell +``` +## Az + +See configuration in [readme.az.md](./readme.az.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/azuredatatransfer/resource-manager/readme.python.md b/specification/azuredatatransfer/resource-manager/readme.python.md new file mode 100644 index 000000000000..3e4a01a3d110 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/readme.python.md @@ -0,0 +1,18 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-azuredatatransfer +namespace: azure.mgmt.azuredatatransfer +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/azuredatatransfer/azure-mgmt-azuredatatransfer/azure/mgmt/azuredatatransfer +``` diff --git a/specification/azuredatatransfer/resource-manager/readme.typescript.md b/specification/azuredatatransfer/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..5d9625774fa3 --- /dev/null +++ b/specification/azuredatatransfer/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-azuredatatransfer" + output-folder: "$(typescript-sdks-folder)/sdk/azuredatatransfer/arm-azuredatatransfer" + payload-flattening-threshold: 1 + clear-output-folder: true + generate-metadata: true +``` diff --git a/specification/azureintegrationspaces/resource-manager/readme.python.md b/specification/azureintegrationspaces/resource-manager/readme.python.md index 34139c5bbcba..671df7a8c67b 100644 --- a/specification/azureintegrationspaces/resource-manager/readme.python.md +++ b/specification/azureintegrationspaces/resource-manager/readme.python.md @@ -4,6 +4,7 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. ``` yaml $(python) +title: IntegrationSpacesMgmtClient azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-azureintegrationspaces diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp new file mode 100644 index 000000000000..eb4c16b4fb8b --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp @@ -0,0 +1,108 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; +using TypeSpec.Http; + +namespace Microsoft.AzureLargeInstance; +@doc(""" +Azure Large Instance info on Azure (ARM properties and AzureLargeInstance +properties) +""") +model AzureLargeInstance is TrackedResource { + @doc("Name of the AzureLargeInstance.") + @pattern(".*") + @path + @key("azureLargeInstanceName") + @segment("azureLargeInstances") + name: string; +} + +@armResourceOperations +@projectedName("client", "AzureLargeInstance") +interface AzureLargeInstances { + @doc(""" +Gets an Azure Large Instance for the specified subscription, resource group, +and instance name. +""") + get is ArmResourceRead; + + @doc(""" +Patches the Tags field of an Azure Large Instance for the specified +subscription, resource group, and instance name. +""") + update is ArmCustomPatchSync; + + @doc(""" +Gets a list of Azure Large Instances in the specified subscription and resource +group. The operations returns various properties of each Azure Large Instance. +""") + listByResourceGroup is ArmResourceListByParent; + + @doc(""" +Gets a list of Azure Large Instances in the specified subscription. The +operations returns various properties of each Azure Large Instance. +""") + listBySubscription is ArmListBySubscription; + + @doc("The operation to start an Azure Large Instance (only for compute instances)") + start is ArmResourceActionNoBody< + AzureLargeInstance, + {}, + OperationStatusResult + >; + + @doc("The operation to restart an Azure Large Instance (only for compute instances)") + restart is ArmResourceActionNoBody< + AzureLargeInstance, + { + /** When set to 'active', this parameter empowers the server with the ability to forcefully terminate and halt any existing processes that may be running on the server */ + @body forceParameter?: ForceState; + }, + OperationStatusResult + >; + + @doc("The operation to shutdown an Azure Large Instance (only for compute instances)") + shutdown is ArmResourceActionNoBody< + AzureLargeInstance, + {}, + OperationStatusResult + >; +} + +/** + * A long-running resource action. + * @template TResource The resource being acted upon + * @template TRequest The request model for the action + * @template TResponse The response type for the action + * @template TBaseParameters Optional. Allows overriding the parameters for the operation + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "Template for optional body" +@autoRoute +@OpenAPI.extension("x-ms-long-running-operation", true) +@OpenAPI.extension( + "x-ms-long-running-operation-options", + { + `final-state-via`: "location", + } +) +@armResourceAction(TResource) +@post +op ArmResourceActionNoBody< + TResource extends Azure.ResourceManager.Foundations.ArmResource, + TRequest extends TypeSpec.Reflection.Model, + TResponse extends TypeSpec.Reflection.Model | void, + TBaseParameters extends TypeSpec.Reflection.Model = Azure.ResourceManager.Foundations.BaseParameters +>( + ...ResourceInstanceParameters, + ...TRequest, +): ArmAcceptedLroResponse | TResponse | ErrorResponse; + +@@projectedName(AzureLargeInstances.update::parameters.properties, + "json", + "tagsParameter" +); diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeStorageInstance.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeStorageInstance.tsp new file mode 100644 index 000000000000..1ccbddb3f3a6 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeStorageInstance.tsp @@ -0,0 +1,55 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; +using TypeSpec.Http; + +namespace Microsoft.AzureLargeInstance; +@doc(""" +AzureLargeStorageInstance info on Azure (ARM properties and +AzureLargeStorageInstance properties) +""") +model AzureLargeStorageInstance + is TrackedResource { + @doc("Name of the AzureLargeStorageInstance.") + @pattern(".*") + @path + @key("azureLargeStorageInstanceName") + @segment("azureLargeStorageInstances") + name: string; +} + +@armResourceOperations +@projectedName("client", "AzureLargeStorageInstance") +interface AzureLargeStorageInstances { + @doc(""" +Gets an Azure Large Storage instance for the specified subscription, resource +group, and instance name. +""") + get is ArmResourceRead; + @doc(""" +Patches the Tags field of a Azure Large Storage Instance for the specified +subscription, resource group, and instance name. +""") + update is ArmCustomPatchSync; + @doc(""" +Gets a list of AzureLargeStorageInstances in the specified subscription and +resource group. The operations returns various properties of each Azure +LargeStorage instance. +""") + listByResourceGroup is ArmResourceListByParent; + @doc(""" +Gets a list of AzureLargeStorageInstances in the specified subscription. The +operations returns various properties of each Azure LargeStorage instance. +""") + listBySubscription is ArmListBySubscription; +} + +@@projectedName(AzureLargeStorageInstances.update::parameters.properties, + "json", + "tagsParameter" +); diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstanceOperations_List.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstanceOperations_List.json new file mode 100644 index 000000000000..ed454099134a --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstanceOperations_List.json @@ -0,0 +1,35 @@ +{ + "operationId": "Operations_List", + "title": "Operations_List", + "parameters": { + "api-version": "2023-07-20-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.AzureLargeInstance/read", + "display": { + "provider": "Microsoft Azure Large Instance", + "resource": "AzureLargeInstance", + "operation": "Read AzureLargeInstance", + "description": "Read any AzureLargeInstance" + }, + "isDataAction": false + }, + { + "name": "Microsoft.AzureLargeInstance", + "display": { + "provider": "Microsoft Azure Large Instance", + "resource": "AzureLargeInstance", + "operation": "Start AzureLargeInstance", + "description": "Start any AzureLargeInstance" + }, + "isDataAction": true + } + ] + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_Get.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_Get.json new file mode 100644 index 000000000000..9a8ad20f3a87 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_Get.json @@ -0,0 +1,57 @@ +{ + "operationId": "AzureLargeInstance_Get", + "title": "AzureLargeInstance_Get", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", + "resourceGroupName": "myResourceGroup", + "azureLargeInstanceName": "myAzureLargeInstance" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeInstances/myAzureLargeInstance", + "location": "westus2", + "name": "myAzureLargeInstance", + "tags": { + "key": "value" + }, + "type": "Microsoft.AzureLargeInstance/AzureLargeInstances", + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2020-12-20T23:10:22.6828621Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-21T08:01:22.0000000Z" + }, + "properties": { + "azureLargeInstanceId": "23415635-4d7e-41dc-9598-8194f22c24e1", + "powerState": "restarting", + "hwRevision": "Rev 4.2", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureLargeInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "123.123.123.123" + } + ], + "circuitId": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuits/myCircuitId" + }, + "storageProfile": { + "nfsIpAddress": "123.123.119.123" + }, + "osProfile": { + "computerName": "myComputerName", + "osType": "SLES 12 SP2", + "version": "12 SP2" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_ListByResourceGroup.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_ListByResourceGroup.json new file mode 100644 index 000000000000..90931798e483 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_ListByResourceGroup.json @@ -0,0 +1,108 @@ +{ + "operationId": "AzureLargeInstance_ListByResourceGroup", + "title": "AzureLargeInstance_ListByResourceGroup", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeInstances/myAzureLargeMetalInstance1", + "name": "myAzureLargeMetalInstance1", + "type": "Microsoft.AzureLargeInstance/AzureLargeInstances", + "location": "westus", + "tags": { + "key": "value" + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2020-12-20T23:10:22.6828621Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-21T08:01:22.0000000Z" + }, + "properties": { + "azureLargeInstanceId": "23415635-4d7e-41dc-9598-8194f22c24e1", + "powerState": "started", + "proximityPlacementGroup": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup", + "hwRevision": "Rev 3", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureLargeInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "100.100.100.100" + } + ], + "circuitId": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit" + }, + "storageProfile": { + "nfsIpAddress": "200.200.200.200" + }, + "osProfile": { + "computerName": "myComputerName1", + "osType": "SUSE", + "version": "12 SP1", + "sshPublicKey": "{ssh-rsa public key}" + }, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeInstances/myABMInstance2", + "name": "myABMInstance2", + "type": "Microsoft.AzureLargeInstance/AzureLargeInstances", + "location": "westus", + "tags": { + "key": "value" + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-21T08:01:22.0000000Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-13T08:01:22.1234567Z" + }, + "properties": { + "azureLargeInstanceId": "589bce49-9fe6-4dc8-82df-cf6ae25e0cb9", + "powerState": "started", + "proximityPlacementGroup": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup", + "hwRevision": "Rev 3", + "hardwareProfile": { + "hardwareType": "HPE", + "azureLargeInstanceSize": "S384" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "100.100.100.101" + } + ], + "circuitId": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit" + }, + "storageProfile": { + "nfsIpAddress": "200.200.200.201" + }, + "osProfile": { + "computerName": "myComputerName2", + "osType": "SUSE", + "version": "12 SP1", + "sshPublicKey": "{ssh-rsa public key}" + }, + "partnerNodeId": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeInstances/myAzureLargeMetalInstance1", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_ListBySubscription.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_ListBySubscription.json new file mode 100644 index 000000000000..bad25bd33b9a --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_ListBySubscription.json @@ -0,0 +1,102 @@ +{ + "operationId": "AzureLargeInstance_ListBySubscription", + "title": "AzureLargeInstance_ListBySubscription", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeInstances/myAzureLargeInstance1", + "location": "westus2", + "name": "myAzureLargeInstance1", + "tags": { + "key": "value" + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-21T08:01:22.0000000Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-13T08:01:22.1234567Z" + }, + "type": "Microsoft.AzureLargeInstance/AzureLargeInstances", + "properties": { + "azureLargeInstanceId": "23415635-4d7e-41dc-9598-8194f22c24e1", + "powerState": "restarting", + "hwRevision": "Rev 4.2", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureLargeInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "123.123.123.123" + } + ], + "circuitId": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuits/myCircuitId" + }, + "storageProfile": { + "nfsIpAddress": "123.123.119.123" + }, + "osProfile": { + "computerName": "myComputerName", + "osType": "SLES 12 SP2", + "version": "12 SP2" + }, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeInstances/myAzureLargeInstance2", + "location": "westus2", + "name": "myAzureLargeInstance2", + "tags": { + "key": "value" + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-21T08:01:22.0000000Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-13T08:01:22.1234567Z" + }, + "type": "Microsoft.AzureLargeInstance/AzureLargeInstances", + "properties": { + "azureLargeInstanceId": "589bce49-9fe6-4dc8-82df-cf6ae25e0cb9", + "powerState": "restarting", + "hwRevision": "Rev 4.2", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureLargeInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "123.123.123.123" + } + ], + "circuitId": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuits/myCircuitId" + }, + "storageProfile": { + "nfsIpAddress": "123.123.119.123" + }, + "osProfile": { + "computerName": "myComputerName2", + "osType": "SLES 12 SP2", + "version": "12 SP2" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_PatchTags.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_PatchTags.json new file mode 100644 index 000000000000..44dea91b6076 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_PatchTags.json @@ -0,0 +1,65 @@ +{ + "operationId": "AzureLargeInstance_Update", + "title": "AzureLargeInstance_Update_Tag", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", + "resourceGroupName": "myResourceGroup", + "azureLargeInstanceName": "myALInstance", + "tagsParameter": { + "tags": { + "testkey": "testvalue" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeInstances/myALInstance", + "name": "myALInstance", + "type": "Microsoft.AzureLargeInstance/AzureLargeInstances", + "location": "westus", + "tags": { + "testkey": "testvalue" + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2020-12-20T23:10:22.6828621Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-21T08:01:22.0000000Z" + }, + "properties": { + "azureLargeInstanceId": "23415635-4d7e-41dc-9598-8194f22c24e1", + "powerState": "started", + "proximityPlacementGroup": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup", + "hwRevision": "Rev 3", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureLargeInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "100.100.100.100" + } + ], + "circuitId": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit" + }, + "storageProfile": { + "nfsIpAddress": "200.200.200.200" + }, + "osProfile": { + "computerName": "myComputerName", + "osType": "SUSE", + "version": "12 SP1", + "sshPublicKey": "{ssh-rsa public key}" + }, + "partnerNodeId": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeInstances/myALInstance2", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_PatchTags_Delete.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_PatchTags_Delete.json new file mode 100644 index 000000000000..8b40928bc19f --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_PatchTags_Delete.json @@ -0,0 +1,61 @@ +{ + "operationId": "AzureLargeInstance_Update", + "title": "AzureLargeInstance_Delete_Tag", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", + "resourceGroupName": "myResourceGroup", + "azureLargeInstanceName": "myALInstance", + "tagsParameter": { + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeInstances/myALInstance", + "name": "myALInstance", + "type": "Microsoft.AzureLargeInstance/AzureLargeInstances", + "location": "westus", + "tags": {}, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2020-12-20T23:10:22.6828621Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-21T08:01:22.0000000Z" + }, + "properties": { + "azureLargeInstanceId": "23415635-4d7e-41dc-9598-8194f22c24e1", + "powerState": "started", + "proximityPlacementGroup": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup", + "hwRevision": "Rev 3", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureLargeInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "100.100.100.100" + } + ], + "circuitId": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit" + }, + "storageProfile": { + "nfsIpAddress": "200.200.200.200" + }, + "osProfile": { + "computerName": "myComputerName", + "osType": "SUSE", + "version": "12 SP1", + "sshPublicKey": "{ssh-rsa public key}" + }, + "partnerNodeId": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeInstances/myALInstance2", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_Restart.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_Restart.json new file mode 100644 index 000000000000..562512af582d --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_Restart.json @@ -0,0 +1,31 @@ +{ + "operationId": "AzureLargeInstance_Restart", + "title": "AzureLargeInstance_Restart", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureLargeInstanceName": "myALInstance", + "forceState": { + "state": "active" + } + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000001", + "status": "InProgress", + "startTime": "2023-08-04T21:17:24.9052926Z", + "error": { + "code": "", + "message": "" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2023-07-20" + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_Shutdown.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_Shutdown.json new file mode 100644 index 000000000000..5f3e7dd254f9 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_Shutdown.json @@ -0,0 +1,28 @@ +{ + "operationId": "AzureLargeInstance_Shutdown", + "title": "AzureLargeInstance_Shutdown", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureLargeInstanceName": "myALInstance" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000001", + "status": "InProgress", + "startTime": "2023-08-04T21:17:24.9052926Z", + "error": { + "code": "", + "message": "" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2023-07-20" + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_Start.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_Start.json new file mode 100644 index 000000000000..8f2121b81b78 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeInstance_Start.json @@ -0,0 +1,28 @@ +{ + "operationId": "AzureLargeInstance_Start", + "title": "AzureLargeInstance_Start", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureLargeInstanceName": "myALInstance" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000001", + "status": "InProgress", + "startTime": "2023-08-04T21:17:24.9052926Z", + "error": { + "code": "", + "message": "" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2023-07-20" + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_Get.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_Get.json new file mode 100644 index 000000000000..2a76fc31c494 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_Get.json @@ -0,0 +1,46 @@ +{ + "operationId": "AzureLargeStorageInstance_Get", + "title": "AzureLargeStorageInstance_Get", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", + "resourceGroupName": "myResourceGroup", + "azureLargeStorageInstanceName": "myAzureLargeStorageInstance" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeStorageInstances/myAzureLargeStorageInstance", + "location": "westus2", + "name": "myAzureLargeStorageInstance", + "tags": { + "key": "value" + }, + "type": "Microsoft.AzureLargeInstance/AzureLargeStorageInstances", + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2020-12-20T23:10:22.6828621Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-21T08:01:22.0000000Z" + }, + "properties": { + "azureLargeStorageInstanceUniqueIdentifier": "23415635-4d7e-41dc-9598-8194f22c24e9", + "storageProperties": { + "provisioningState": "Succeeded", + "offeringType": "EPIC", + "storageType": "FC", + "generation": "Gen4", + "hardwareType": "NetApp", + "workloadType": "ODB", + "storageBillingProperties": { + "billingMode": "PAYG", + "sku": "" + } + } + } + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_ListByResourceGroup.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_ListByResourceGroup.json new file mode 100644 index 000000000000..9fb5b728f5f9 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_ListByResourceGroup.json @@ -0,0 +1,81 @@ +{ + "operationId": "AzureLargeStorageInstance_ListByResourceGroup", + "title": "AzureLargeStorageInstance_ListByResourceGroup", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeStorageInstances/myAzureLargeStorageInstance1", + "location": "westus2", + "name": "myAzureLargeStorageInstance1", + "tags": { + "key": "value" + }, + "type": "Microsoft.AzureLargeInstance/AzureLargeStorageInstances", + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2020-12-20T23:10:22.6828621Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-21T08:01:22.0000000Z" + }, + "properties": { + "azureLargeStorageInstanceUniqueIdentifier": "23415635-4d7e-41dc-9598-8194f22c24e9", + "storageProperties": { + "provisioningState": "Succeeded", + "offeringType": "EPIC", + "storageType": "FC", + "generation": "Gen4", + "hardwareType": "NetApp", + "workloadType": "ODB", + "storageBillingProperties": { + "billingMode": "PAYG", + "sku": "" + } + } + } + }, + { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeStorageInstances/myAzureLargeStorageInstance2", + "location": "westus2", + "name": "myAzureLargeStorageInstance2", + "tags": { + "key": "value" + }, + "type": "Microsoft.AzureLargeInstance/AzureLargeStorageInstances", + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-21T08:01:22.0000000Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-13T08:01:22.1234567Z" + }, + "properties": { + "azureLargeStorageInstanceUniqueIdentifier": "23415635-4d7e-41dc-9598-8194f22c24f7", + "storageProperties": { + "provisioningState": "Succeeded", + "offeringType": "EPIC", + "storageType": "NFS", + "generation": "Gen4", + "hardwareType": "NetApp", + "workloadType": "Cogito", + "storageBillingProperties": { + "billingMode": "RI", + "sku": "" + } + } + } + } + ] + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_ListBySubscription.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_ListBySubscription.json new file mode 100644 index 000000000000..381768222b44 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_ListBySubscription.json @@ -0,0 +1,80 @@ +{ + "operationId": "AzureLargeStorageInstance_ListBySubscription", + "title": "AzureLargeStorageInstance_ListBySubscription", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeStorageInstances/myAzureLargeInstance1", + "location": "westus2", + "name": "myAzureLargeInstance1", + "tags": { + "key": "value" + }, + "type": "Microsoft.AzureLargeInstance/AzureLargeStorageInstances", + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2020-12-20T23:10:22.6828621Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-21T08:01:22.0000000Z" + }, + "properties": { + "azureLargeStorageInstanceUniqueIdentifier": "23415635-4d7e-41dc-9598-8194f22c24e9", + "storageProperties": { + "provisioningState": "Succeeded", + "offeringType": "EPIC", + "storageType": "FC", + "generation": "Gen4", + "hardwareType": "NetApp", + "workloadType": "ODB", + "storageBillingProperties": { + "billingMode": "PAYG", + "sku": "" + } + } + } + }, + { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeStorageInstances/myAzureLargeInstance2", + "location": "westus2", + "name": "myAzureLargeInstance2", + "tags": { + "key": "value" + }, + "type": "Microsoft.AzureLargeInstance/AzureLargeStorageInstances", + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-21T08:01:22.0000000Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-13T08:01:22.1234567Z" + }, + "properties": { + "azureLargeStorageInstanceUniqueIdentifier": "23415635-4d7e-41dc-9598-8194f22c24f7", + "storageProperties": { + "provisioningState": "Succeeded", + "offeringType": "EPIC", + "storageType": "NFS", + "generation": "Gen4", + "hardwareType": "NetApp", + "workloadType": "Cogito", + "storageBillingProperties": { + "billingMode": "RI", + "sku": "" + } + } + } + } + ] + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_PatchTags.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_PatchTags.json new file mode 100644 index 000000000000..1a4001200614 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_PatchTags.json @@ -0,0 +1,51 @@ +{ + "operationId": "AzureLargeStorageInstance_Update", + "title": "AzureLargeStorageInstance_Update_Tag", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", + "resourceGroupName": "myResourceGroup", + "azureLargeStorageInstanceName": "myALSInstance", + "tagsParameter": { + "tags": { + "testkey": "testvalue" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeStorageInstances/myAzureLargeStorageInstance", + "location": "westus2", + "name": "myAzureLargeStorageInstance", + "tags": { + "testkey": "testvalue" + }, + "type": "Microsoft.AzureLargeInstance/AzureLargeStorageInstances", + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2020-12-20T23:10:22.6828621Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-21T08:01:22.0000000Z" + }, + "properties": { + "azureLargeStorageInstanceUniqueIdentifier": "23415635-4d7e-41dc-9598-8194f22c24e9", + "storageProperties": { + "provisioningState": "Succeeded", + "offeringType": "EPIC", + "storageType": "FC", + "generation": "Gen4", + "hardwareType": "NetApp", + "workloadType": "ODB", + "storageBillingProperties": { + "billingMode": "PAYG", + "sku": "" + } + } + } + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_PatchTags_Delete.json b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_PatchTags_Delete.json new file mode 100644 index 000000000000..6ddc84104207 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/examples/2023-07-20-preview/AzureLargeStorageInstance_PatchTags_Delete.json @@ -0,0 +1,47 @@ +{ + "operationId": "AzureLargeStorageInstance_Update", + "title": "AzureLargeStorageInstance_Delete_Tag", + "parameters": { + "api-version": "2023-07-20-preview", + "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", + "resourceGroupName": "myResourceGroup", + "azureLargeStorageInstanceName": "myALSInstance", + "tagsParameter": { + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/f0f4887f-d13c-4943-a8ba-d7da28d2a3fd/resourceGroups/myResourceGroup/providers/Microsoft.AzureLargeInstance/AzureLargeStorageInstances/myAzureLargeStorageInstance", + "location": "westus2", + "name": "myAzureLargeStorageInstance", + "tags": {}, + "type": "Microsoft.AzureLargeInstance/AzureLargeStorageInstances", + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2020-12-20T23:10:22.6828621Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-21T08:01:22.0000000Z" + }, + "properties": { + "azureLargeStorageInstanceUniqueIdentifier": "23415635-4d7e-41dc-9598-8194f22c24e9", + "storageProperties": { + "provisioningState": "Succeeded", + "offeringType": "EPIC", + "storageType": "FC", + "generation": "Gen4", + "hardwareType": "NetApp", + "workloadType": "ODB", + "storageBillingProperties": { + "billingMode": "PAYG", + "sku": "" + } + } + } + } + } + } +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/main.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/main.tsp new file mode 100644 index 000000000000..606b9399f0e2 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/main.tsp @@ -0,0 +1,31 @@ +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./models.tsp"; +import "./AzureLargeInstance.tsp"; +import "./AzureLargeStorageInstance.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; +using TypeSpec.Versioning; + +@Azure.ResourceManager.armCommonTypesVersion("v5") +@armProviderNamespace +@service({ + title: "Azure Large Instance", +}) +@doc("The AzureLargeInstance Management client") +@versioned(Versions) +namespace Microsoft.AzureLargeInstance; + +@doc("Azure Large Instance api versions.") +enum Versions { + @doc("Azure Large Instance api version 2023-07-20-preview.") + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @useDependency(Azure.Core.Versions.v1_0_Preview_1) + v2023_07_20_preview: "2023-07-20-preview", +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp new file mode 100644 index 000000000000..fec1d1c51610 --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp @@ -0,0 +1,437 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; + +namespace Microsoft.AzureLargeInstance; + +interface Operations extends Azure.ResourceManager.Operations {} + +@doc("Enum of the hardware options (vendor and/or their product name) for an Azure Large Instance") +enum AzureLargeInstanceHardwareTypeNamesEnum { + @doc("Hardware type of UCS from vendor Cisco") + Cisco_UCS, + + @doc("Hardware type of HPE from vendor Hewlett Packard Enterprise") + HPE, + + @doc("Hardware type of SDFLEX") + SDFLEX, +} + +@doc("Enum of available model types (each of which have their own storage / memory sizes) for an Azure Large Instance type. See https://docs.microsoft.com/azure/sap/large-instances/hana-available-skus") +enum AzureLargeInstanceSizeNamesEnum { + @doc("Type I class SKU that can't be purchased anymore") + S72m, + + @doc("Type I class SKU that can't be purchased anymore") + S144m, + + @doc("Type I class SKU that can't be purchased anymore") + S72, + + @doc("Type I class SKU that can't be purchased anymore") + S144, + + @doc("Type I class SKU that can't be purchased anymore") + S192, + + @doc("Type I class SKU that can't be purchased anymore") + S192m, + + @doc("Type I class SKU that can't be purchased anymore") + S192xm, + + @doc("2 sockets, 96 CPU threads, 48 CPU cores, 768 GB total memory, 768 GB DRAM, 3.0 TB storage, Cisco_UCS hardware type") + S96, + + @doc("No longer offered or used.") + S112, + + @doc("4 sockets, 224 CPU threads, 112 CPU cores, 3 TB total memory, 3 TB DRAM, 6.3 TB storage, Cisco_UCS hardware type") + S224, + + @doc("4 sockets, 224 CPU threads, 112 CPU cores, 6 TB total memory, 6 TB DRAM, 10.5 TB storage, Cisco_UCS hardware type") + S224m, + + @doc("4 sockets, 224 CPU threads, 112 CPU cores, 6 TB total memory, 3 TB DRAM, 3 TB memory optane, 10.5 TB storage, Cisco_UCS hardware type") + S224om, + + @doc("4 sockets, 224 CPU threads, 112 CPU cores, 4.5 TB total memory, 1.5 TB DRAM, 3 TB memory optane, 8.4 TB storage, Cisco_UCS hardware type") + S224oo, + + @doc("4 sockets, 224 CPU threads, 112 CPU cores, 9 TB total memory, 3 TB DRAM, 6 TB memory optane, 14.8 TB storage, Cisco_UCS hardware type") + S224oom, + + @doc("4 sockets, 224 CPU threads, 112 CPU cores, 7.5TB total memory, 1.5 TB DRAM, 6 TB memory optane, 12.7 TB storage, Cisco_UCS hardware type") + S224ooo, + + @doc("4 sockets, 448 CPU threads, 6 TB total memory, SDFLEX hardware type") + S224se, + + @doc("8 sockets, 384 CPU threads, 192 CPU cores, 4 TB total memory, 4 TB DRAM, 16 TB storage, HPEMc990x hardware type") + S384, + + @doc("8 sockets, 384 CPU threads, 192 CPU cores, 6 TB total memory, 6 TB DRAM, 18 TB storage, HPEMc990x hardware type") + S384m, + + @doc("8 sockets, 384 CPU threads, 192 CPU cores, 8 TB total memory, 8 TB DRAM, 22 TB storage, HPEMc990x hardware type") + S384xm, + + @doc("8 sockets, 384 CPU threads, 12 TB total memory, HPEMc990x hardware type") + S384xxm, + + @doc("8 sockets, 448 CPU threads, 224 CPU cores, 6 TB total memory, 6 TB DRAM, 10.5 TB storage, SDFLEX hardware type") + S448, + + @doc("8 sockets, 448 CPU threads, 224 CPU cores, 12 TB total memory, 12 TB DRAM, 18.9 TB storage, SDFLEX hardware type") + S448m, + + @doc("8 sockets, 448 CPU threads, 224 CPU cores, 12 TB total memory, 6 TB DRAM, 6 TB memory optane, 18.9 TB storage, SDFLEX hardware type") + S448om, + + @doc("8 sockets, 448 CPU threads, 224 CPU cores, 9 TB total memory, 3 TB DRAM, 6 TB memory optane, 14.8 TB storage, SDFLEX hardware type") + S448oo, + + @doc("8 sockets, 448 CPU threads, 224 CPU cores, 18 TB total memory, 6 TB DRAM, 12 memory optane, 27.4 TB storage, SDFLEX hardware type") + S448oom, + + @doc("8 sockets, 448 CPU threads, 224 CPU cores, 15 TB total memory, 3 TB DRAM, 12 memory optane, 23.2 TB storage, SDFLEX hardware type") + S448ooo, + + @doc("8 sockets, 448 CPU threads, 12 TB total memory, SDFLEX hardware type") + S448se, + + @doc("12 sockets, 576 CPU threads, 288 CPU cores, 12 TB total memory, 12 TB DRAM, 28 TB storage, HPEMc990x hardware type") + S576m, + + @doc("12 sockets, 576 CPU threads, 288 CPU cores, 18 TB total memory, HPEMc990x hardware type") + S576xm, + + @doc("12 sockets, 672 CPU threads, 336 CPU cores, 9 TB total memory, 9 TB DRAM, 14.7 TB storage, SDFLEX hardware type") + S672, + + @doc("12 sockets, 672 CPU threads, 336 CPU cores, 18 TB total memory, 18 TB DRAM, 27.4 TB storage, SDFLEX hardware type") + S672m, + + @doc("12 sockets, 672 CPU threads, 336 CPU cores, 18 TB total memory, 9 TB DRAM, 9 TB memory optane, 27.4 TB storage, SDFLEX hardware type") + S672om, + + @doc("12 sockets, 672 CPU threads, 336 CPU cores, 13.5 TB total memory, 4.5 TB DRAM, 9 TB memory optane, 21.1 TB storage, SDFLEX hardware type") + S672oo, + + @doc("12 sockets, 672 CPU threads, 336 CPU cores, 27 TB total memory, 9 TB DRAM, 18 TB memory optane, 40 TB storage, SDFLEX hardware type") + S672oom, + + @doc("12 sockets, 672 CPU threads, 336 CPU cores, 22.5 TB total memory, 4.5 TB DRAM, 18 TB memory optane, 33.7 TB storage, SDFLEX hardware type") + S672ooo, + + @doc("No longer offered or used.") + S768, + + @doc("16 sockets, 768 CPU threads, 384 CPU cores, 16 TB total memory, 16 TB DRAM, 36 TB storage, HPEMc990x hardware type") + S768m, + + @doc("16 sockets, 768 CPU threads, 384 CPU cores, 24 TB total memory, 24 TB DRAM, 56 TB storage, HPEMc990x hardware type") + S768xm, + + @doc("16 sockets, 896 CPU threads, 448 CPU cores, 12 TB total memory, 12 TB DRAM, 18.9 TB storage, SDFLEX hardware type") + S896, + + @doc("16 sockets, 896 CPU threads, 448 CPU cores, 24 TB total memory, 24 TB DRAM, 35.8 TB storage, SDFLEX hardware type") + S896m, + + @doc("16 sockets, 896 CPU threads, 448 CPU cores, 24 TB total memory, 12 TB DRAM, 12 TB memory optane, 35.8 TB storage, SDFLEX hardware type") + S896om, + + @doc("16 sockets, 896 CPU threads, 448 CPU cores, 18 TB total memory, 6 TB DRAM, 12 TB memory optane, 27.4 TB storage, SDFLEX hardware type") + S896oo, + + @doc("16 sockets, 896 CPU threads, 448 CPU cores, 36 TB total memory, 12 TB DRAM, 24 TB memory optane, 52.7 TB storage, SDFLEX hardware type") + S896oom, + + @doc("16 sockets, 896 CPU threads, 448 CPU cores, 30 TB total memory, 6 TB DRAM, 24 TB memory optane, 44.3 TB storage, SDFLEX hardware type") + S896ooo, + + @doc("20 sockets, 960 CPU threads, 480 CPU cores, 20 TB total memory, 20 TB DRAM, 46 TB storage, HPEMc990x hardware type") + S960m, +} + +@doc("Power states that an Azure Large Instance can be in") +enum AzureLargeInstancePowerStateEnum { + @doc("Starting means that the Azure Large Instance resource is turning on.") + starting, + + @doc("Started means that the Azure Large Instance resource has been powered on.") + started, + + @doc("Stopping means that the Azure Large Instance resource is shutting down.") + stopping, + + @doc("Stopped means that the Azure Large Instance resource has shut down.") + stopped, + + @doc("Restarting means that the Azure Large Instance resource is restarting.") + restarting, + + @doc("Unknown means that the state of the Azure Large Instance is unknown.") + `unknown`, +} + +@doc("Provisioning states that an Azure Large Instance can be in") +enum AzureLargeInstanceProvisioningStatesEnum { + @doc("Accepted means Azure Large Instance resource provisioning has been accepted.") + Accepted, + + @doc("Creating means Azure Large Instance resource is being created.") + Creating, + + @doc("Updating means an existing Azure Large Instance resource is being updated") + Updating, + + @doc("Failed means Azure Large Instance resource is in failed state") + Failed, + + @doc("Succeeded means Azure Large Instance resource creation succeeded during last create/update") + Succeeded, + + @doc("Deleting means Azure Large Instance resource is in the process of being deleted") + Deleting, + + @doc("Migrating means Azure Large Instance resource is being migrated from one subscription or resource group to another") + Migrating, + + @doc("Cancelled Azure Large Instance resource operation has been cancelled") + Canceled, +} + +@doc("The type of identity that created the resource: User, Application, ManagedIdentity") +enum CreatedByType { + @doc("An AAD user. The createdByType/lastModifiedBy property will be a user principal name (email address).") + User, + + @doc("An AAD application. The createdByType/lastModifiedBy property will be the Application Id.") + Application, + + @doc("A Managed Identity. The createdByType/lastModifiedBy property will be the ManagedIdentity resource Id") + ManagedIdentity, + + @doc("A key") + Key, +} + +@doc("Enum of two possible values to determine if the ALI instance restart operation should forcefully terminate and halt any existing processes that may be running on the server or not.") +enum AzureLargeInstanceForcePowerState { + @doc("Active means that the restart operation will terminate and halt existing processes that may be running on the server") + active, + + @doc("Inactive means that the restart operation will not terminate and halt existing processes that may be running on the server") + inactive, +} + +@doc("An enum of possible operation states for an AzureLargeStorageInstances") +enum ProvisioningState { + @doc("Accepted means ARM resource has been accepted.") + Accepted, + + @doc("Creating means ARM resource is being created.") + Creating, + + @doc("Updating means an existing ARM resource is being updated") + Updating, + + @doc("Failed means resource is in failed state") + Failed, + + @doc("Succeeded means resource creation succeeded during last create/update") + Succeeded, + + @doc("Deleting means resource is in the process of being deleted") + Deleting, + + @doc("Cancelled means resource operation has been cancelled") + Canceled, + + @doc("Migrating means resource is being migrated from one subscription or resource group to another") + Migrating, +} + +@doc("Describes the properties of an Azure Large Instance.") +model AzureLargeInstanceProperties { + @doc("Specifies the hardware settings for the Azure Large Instance.") + hardwareProfile?: HardwareProfile; + + @doc("Specifies the storage settings for the Azure Large Instance disks.") + storageProfile?: StorageProfile; + + @doc("Specifies the operating system settings for the Azure Large Instance.") + osProfile?: OsProfile; + + @doc("Specifies the network settings for the Azure Large Instance.") + networkProfile?: NetworkProfile; + + @doc("Specifies the Azure Large Instance unique ID.") + @visibility("read") + azureLargeInstanceId?: string; + + @doc("Resource power state") + @visibility("read") + powerState?: AzureLargeInstancePowerStateEnum; + + @doc("Resource proximity placement group") + @visibility("read") + proximityPlacementGroup?: string; + + @doc("Hardware revision of an Azure Large Instance") + @visibility("read") + hwRevision?: string; + + @doc(""" +ARM ID of another AzureLargeInstance that will share a network with this +AzureLargeInstance +""") + partnerNodeId?: string; + + @doc("State of provisioning of the AzureLargeInstance") + @visibility("read") + provisioningState?: AzureLargeInstanceProvisioningStatesEnum; +} + +@doc("Specifies the hardware settings for the Azure Large Instance.") +model HardwareProfile { + @doc("Name of the hardware type (vendor and/or their product name)") + @visibility("read") + hardwareType?: AzureLargeInstanceHardwareTypeNamesEnum; + + @doc("Specifies the Azure Large Instance SKU.") + @visibility("read") + azureLargeInstanceSize?: AzureLargeInstanceSizeNamesEnum; +} + +@doc("Specifies the storage settings for the Azure Large Instance disks.") +model StorageProfile { + @doc("IP Address to connect to storage.") + @visibility("read") + nfsIpAddress?: string; + + @doc(""" +Specifies information about the operating system disk used by Azure Large +Instance. +""") + osDisks?: Disk[]; +} + +@doc("Specifies the disk information fo the Azure Large Instance") +model Disk { + @doc("The disk name.") + name?: string; + + #suppress "@azure-tools/typespec-azure-core/casing-style" "Avoiding name change to prevent compatibility issues with existing bareMetalInfrastructure service and apis" + @doc("Specifies the size of an empty data disk in gigabytes.") + diskSizeGB?: int32; + + @doc(""" +Specifies the logical unit number of the data disk. This value is used to +identify data disks within the VM and therefore must be unique for each data +disk attached to a VM. +""") + @visibility("read") + lun?: int32; +} + +@doc("Specifies the operating system settings for the Azure Large Instance.") +model OsProfile { + @doc("Specifies the host OS name of the Azure Large Instance.") + computerName?: string; + + @doc("This property allows you to specify the type of the OS.") + @visibility("read") + osType?: string; + + @doc("Specifies version of operating system.") + @visibility("read") + version?: string; + + @doc("Specifies the SSH public key used to access the operating system.") + sshPublicKey?: string; +} + +@doc("Specifies the network settings for the Azure Large Instance disks.") +model NetworkProfile { + @doc("Specifies the network interfaces for the Azure Large Instance.") + networkInterfaces?: IpAddress[]; + + @doc("Specifies the circuit id for connecting to express route.") + @visibility("read") + circuitId?: string; +} + +@doc("Specifies the IP address of the network interface.") +model IpAddress { + @doc("Specifies the IP address of the network interface.") + @projectedName("csharp", "ipAddressValue") + ipAddress?: string; +} + +@doc(""" +The active state empowers the server with the ability to forcefully terminate +and halt any existing processes that may be running on the server +""") +model ForceState { + @doc("Whether to force restart by shutting all processes.") + @projectedName("csharp", "forceStateValue") + forceState?: AzureLargeInstanceForcePowerState; +} + +@doc("Tags field of the AzureLargeInstance instance.") +model Tags { + @projectedName("csharp", "tagsValue") + @doc("Tags field of the AzureLargeInstance instance.") + tags?: Record; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "legacy API" +@doc("Describes the properties of an AzureLargeStorageInstance.") +model AzureLargeStorageInstanceProperties { + @doc("Specifies the AzureLargeStorageInstance unique ID.") + azureLargeStorageInstanceUniqueIdentifier?: string; + + @doc("Specifies the storage properties for the AzureLargeStorage instance.") + storageProperties?: StorageProperties; +} + +@doc("described the storage properties of the azure large storage instance") +model StorageProperties { + @doc("State of provisioning of the AzureLargeStorageInstance") + provisioningState?: ProvisioningState; + + @doc("the offering type for which the resource is getting provisioned") + offeringType?: string; + + @doc("the storage protocol for which the resource is getting provisioned") + storageType?: string; + + @doc("the kind of storage instance") + generation?: string; + + @doc("the hardware type of the storage instance") + hardwareType?: AzureLargeInstanceHardwareTypeNamesEnum; + + @doc("the workload for which the resource is getting provisioned") + workloadType?: string; + + @doc("the billing related information for the resource") + storageBillingProperties?: StorageBillingProperties; +} + +@doc("Describes the billing related details of the AzureLargeStorageInstance.") +model StorageBillingProperties { + @doc("the billing mode for the storage instance") + billingMode?: string; + + @doc("the SKU type that is provisioned") + sku?: string; +} diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/tspconfig.yaml b/specification/azurelargeinstance/AzureLargeInstance.Management/tspconfig.yaml new file mode 100644 index 000000000000..98ebe87a241d --- /dev/null +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/tspconfig.yaml @@ -0,0 +1,12 @@ +emit: + - "@azure-tools/typespec-autorest" +linter: + extends: + - "@azure-tools/typespec-azure-resource-manager/all" +options: + '@azure-tools/typespec-autorest': + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/azurelargeinstance.json" + examples-directory: "{project-root}/examples" + use-read-only-status-schema: true \ No newline at end of file diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/azurelargeinstance.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/azurelargeinstance.json index 5479cc294091..5da3b86ec36b 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/azurelargeinstance.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/azurelargeinstance.json @@ -1,21 +1,23 @@ { "swagger": "2.0", "info": { - "version": "2023-07-20-preview", "title": "Azure Large Instance", + "version": "2023-07-20-preview", "description": "The AzureLargeInstance Management client", - "x-ms-code-generation-settings": { - "name": "AzureLargeInstanceClient" - } + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] }, - "host": "management.azure.com", "schemes": [ "https" ], - "consumes": [ + "host": "management.azure.com", + "produces": [ "application/json" ], - "produces": [ + "consumes": [ "application/json" ], "security": [ @@ -28,9 +30,9 @@ "securityDefinitions": { "azure_auth": { "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } @@ -38,32 +40,59 @@ }, "tags": [ { - "name": "Azure Large Instances", - "description": "Handle Operations for Compute Azure Large Instances." + "name": "Operations" }, { - "name": "Azure Large Storage Instances", - "description": "Handle Operations for Storage Azure Large Instances." + "name": "AzureLargeInstances" }, { - "name": "Common", - "description": "Handle Common Operations across Azure Large Instances (Compute, and Storage)" + "name": "AzureLargeStorageInstances" } ], "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureLargeInstance/azureLargeInstances": { + "/providers/Microsoft.AzureLargeInstance/operations": { "get": { + "operationId": "Operations_List", "tags": [ - "Azure Large Instances" + "Operations" ], - "operationId": "AzureLargeInstance_ListBySubscription", - "summary": "Gets a list of Azure Large Instances in the specified subscription.", - "description": "Gets a list of Azure Large Instances in the specified subscription. The operations returns various properties of each Azure Large Instance.", + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, "x-ms-examples": { - "List all Azure Large Instances in a subscription": { - "$ref": "./examples/AzureLargeInstance_ListBySubscription.json" + "Operations_List": { + "$ref": "./examples/AzureLargeInstanceOperations_List.json" } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureLargeInstance/azureLargeInstances": { + "get": { + "operationId": "AzureLargeInstance_ListBySubscription", + "tags": [ + "AzureLargeInstances" + ], + "description": "Gets a list of Azure Large Instances in the specified subscription. The\noperations returns various properties of each Azure Large Instance.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" @@ -74,36 +103,74 @@ ], "responses": { "200": { - "description": "OK", + "description": "ARM operation completed successfully.", "schema": { "$ref": "#/definitions/AzureLargeInstanceListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, + "x-ms-examples": { + "AzureLargeInstance_ListBySubscription": { + "$ref": "./examples/AzureLargeInstance_ListBySubscription.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances": { "get": { + "operationId": "AzureLargeStorageInstance_ListBySubscription", "tags": [ - "Azure Large Instances" + "AzureLargeStorageInstances" ], - "operationId": "AzureLargeInstance_ListByResourceGroup", - "summary": "Gets a list of Azure Large Instances in the specified subscription and resource group.", - "description": "Gets a list of Azure Large Instances in the specified subscription and resource group. The operations returns various properties of each Azure Large Instance.", + "description": "Gets a list of AzureLargeStorageInstances in the specified subscription. The\noperations returns various properties of each Azure LargeStorage instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/AzureLargeStorageInstanceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, "x-ms-examples": { - "List all Azure Large Instances in a resource group": { - "$ref": "./examples/AzureLargeInstance_ListByResourceGroup.json" + "AzureLargeStorageInstance_ListBySubscription": { + "$ref": "./examples/AzureLargeStorageInstance_ListBySubscription.json" } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances": { + "get": { + "operationId": "AzureLargeInstance_ListByResourceGroup", + "tags": [ + "AzureLargeInstances" + ], + "description": "Gets a list of Azure Large Instances in the specified subscription and resource\ngroup. The operations returns various properties of each Azure Large Instance.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" @@ -117,47 +184,80 @@ ], "responses": { "200": { - "description": "OK", + "description": "ARM operation completed successfully.", "schema": { "$ref": "#/definitions/AzureLargeInstanceListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, + "x-ms-examples": { + "AzureLargeInstance_ListByResourceGroup": { + "$ref": "./examples/AzureLargeInstance_ListByResourceGroup.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}/start": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}": { + "get": { + "operationId": "AzureLargeInstance_Get", "tags": [ - "Azure Large Instances" + "AzureLargeInstances" ], - "summary": "Start an Azure Large Instance.", - "description": "The operation to start an Azure Large Instance (only for compute instances)", - "operationId": "AzureLargeInstance_Start", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location", - "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult" + "description": "Gets an Azure Large Instance for the specified subscription, resource group,\nand instance name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "azureLargeInstanceName", + "in": "path", + "description": "Name of the AzureLargeInstance.", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/AzureLargeInstance" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } }, "x-ms-examples": { - "Start an Azure Large Instance": { - "$ref": "./examples/AzureLargeInstance_Start.json" + "AzureLargeInstance_Get": { + "$ref": "./examples/AzureLargeInstance_Get.json" } - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" + } + }, + "patch": { + "operationId": "AzureLargeInstance_Update", + "tags": [ + "AzureLargeInstances" ], + "description": "Patches the Tags field of an Azure Large Instance for the specified\nsubscription, resource group, and instance name.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" @@ -169,58 +269,55 @@ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AzureLargeInstanceNameParameter" + "name": "azureLargeInstanceName", + "in": "path", + "description": "Name of the AzureLargeInstance.", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "tagsParameter", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/AzureLargeInstanceTagsUpdate" + }, + "x-ms-client-name": "properties" } ], "responses": { "200": { - "description": "OK", + "description": "ARM operation completed successfully.", "schema": { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult" - } - }, - "202": { - "description": "Accepted. The response indicates that the existing Azure Large Instance is now turning on and includes a 'Location' header to query the operation result.", - "headers": { - "Location": { - "type": "string", - "description": "URL to track the operation status of the Microsoft Azure Large Instance in the specified location." - } + "$ref": "#/definitions/AzureLargeInstance" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "AzureLargeInstance_Delete_Tag": { + "$ref": "./examples/AzureLargeInstance_PatchTags_Delete.json" + }, + "AzureLargeInstance_Update_Tag": { + "$ref": "./examples/AzureLargeInstance_PatchTags.json" + } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}/restart": { "post": { + "operationId": "AzureLargeInstance_Restart", "tags": [ - "Azure Large Instances" + "AzureLargeInstances" ], - "summary": "Restart an Azure Large Instance.", "description": "The operation to restart an Azure Large Instance (only for compute instances)", - "operationId": "AzureLargeInstance_Restart", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location", - "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult" - }, - "x-ms-examples": { - "Restart an Azure Large Instance": { - "$ref": "./examples/AzureLargeInstance_Restart.json" - } - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" @@ -232,61 +329,134 @@ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AzureLargeInstanceNameParameter" + "name": "azureLargeInstanceName", + "in": "path", + "description": "Name of the AzureLargeInstance.", + "required": true, + "type": "string", + "pattern": ".*" }, { - "$ref": "#/parameters/ForcePowerManagementOperationParameter" + "name": "forceParameter", + "in": "body", + "description": "When set to 'active', this parameter empowers the server with the ability to forcefully terminate and halt any existing processes that may be running on the server", + "required": false, + "schema": { + "$ref": "#/definitions/ForceState" + } } ], "responses": { "200": { - "description": "OK", + "description": "The request has succeeded.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult" } }, "202": { - "description": "Accepted. The response indicates that the existing Azure Large Instance is now restarting and includes a 'Location' header to query the operation result.", + "description": "Resource operation accepted.", "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, "Location": { "type": "string", - "description": "URL to track the operation status of the Microsoft Azure Large Instance in the specified location." + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-examples": { + "AzureLargeInstance_Restart": { + "$ref": "./examples/AzureLargeInstance_Restart.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}/shutdown": { "post": { + "operationId": "AzureLargeInstance_Shutdown", "tags": [ - "Azure Large Instances" + "AzureLargeInstances" ], - "summary": "Shutdown an Azure Large Instance.", "description": "The operation to shutdown an Azure Large Instance (only for compute instances)", - "operationId": "AzureLargeInstance_Shutdown", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location", - "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult" + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "azureLargeInstanceName", + "in": "path", + "description": "Name of the AzureLargeInstance.", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } }, "x-ms-examples": { - "Shutdown an AzureLarge instance": { + "AzureLargeInstance_Shutdown": { "$ref": "./examples/AzureLargeInstance_Shutdown.json" } }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}/start": { + "post": { + "operationId": "AzureLargeInstance_Start", + "tags": [ + "AzureLargeInstances" ], + "description": "The operation to start an Azure Large Instance (only for compute instances)", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" @@ -298,90 +468,102 @@ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AzureLargeInstanceNameParameter" + "name": "azureLargeInstanceName", + "in": "path", + "description": "Name of the AzureLargeInstance.", + "required": true, + "type": "string", + "pattern": ".*" } ], "responses": { "200": { - "description": "OK", + "description": "The request has succeeded.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult" } }, "202": { - "description": "Accepted. The response indicates that the existing Azure Large Instance is now turning off and includes a 'Location' header to query the operation result.", + "description": "Resource operation accepted.", "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, "Location": { "type": "string", - "description": "URL to track the operation status of the Microsoft Azure Large Instance in the specified location." + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-examples": { + "AzureLargeInstance_Start": { + "$ref": "./examples/AzureLargeInstance_Start.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/providers/Microsoft.AzureLargeInstance/operations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances": { "get": { + "operationId": "AzureLargeStorageInstance_ListByResourceGroup", "tags": [ - "Common" - ], - "operationId": "Operations_List", - "x-ms-examples": { - "List all management operations supported by the AzureLargeInstance RP": { - "$ref": "./examples/AzureLargeInstanceOperations_List.json" - } - }, - "summary": "Lists all of the available AzureLargeInstance REST API operations.", - "description": "Gets a list of AzureLargeInstance management operations.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" + "AzureLargeStorageInstances" ], + "description": "Gets a list of AzureLargeStorageInstances in the specified subscription and\nresource group. The operations returns various properties of each Azure\nLargeStorage instance.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { - "description": "OK", + "description": "ARM operation completed successfully.", "schema": { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" + "$ref": "#/definitions/AzureLargeStorageInstanceListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, + "x-ms-examples": { + "AzureLargeStorageInstance_ListByResourceGroup": { + "$ref": "./examples/AzureLargeStorageInstance_ListByResourceGroup.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances/{azureLargeStorageInstanceName}": { "get": { + "operationId": "AzureLargeStorageInstance_Get", "tags": [ - "Azure Large Instances" + "AzureLargeStorageInstances" ], - "operationId": "AzureLargeInstance_Get", - "summary": "Gets an Azure Large Instance.", - "description": "Gets an Azure Large Instance for the specified subscription, resource group, and instance name.", - "x-ms-examples": { - "Get an Azure Large Instance": { - "$ref": "./examples/AzureLargeInstance_Get.json" - } - }, + "description": "Gets an Azure Large Storage instance for the specified subscription, resource\ngroup, and instance name.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" @@ -393,39 +575,40 @@ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AzureLargeInstanceNameParameter" + "name": "azureLargeStorageInstanceName", + "in": "path", + "description": "Name of the AzureLargeStorageInstance.", + "required": true, + "type": "string", + "pattern": ".*" } ], "responses": { "200": { - "description": "OK", + "description": "ARM operation completed successfully.", "schema": { - "$ref": "#/definitions/AzureLargeInstance" + "$ref": "#/definitions/AzureLargeStorageInstance" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "AzureLargeStorageInstance_Get": { + "$ref": "./examples/AzureLargeStorageInstance_Get.json" + } } }, "patch": { + "operationId": "AzureLargeStorageInstance_Update", "tags": [ - "Azure Large Instances" + "AzureLargeStorageInstances" ], - "operationId": "AzureLargeInstance_Update", - "summary": "Patches the Tags field of an Azure Large Instance.", - "description": "Patches the Tags field of an Azure Large Instance for the specified subscription, resource group, and instance name.", - "x-ms-examples": { - "Update Tags field of an Azure Large Instance": { - "$ref": "./examples/AzureLargeInstance_PatchTags.json" - }, - "Delete Tags field of an Azure Large Instance": { - "$ref": "./examples/AzureLargeInstance_PatchTags_Delete.json" - } - }, + "description": "Patches the Tags field of a Azure Large Storage Instance for the specified\nsubscription, resource group, and instance name.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" @@ -437,391 +620,707 @@ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AzureLargeInstanceNameParameter" + "name": "azureLargeStorageInstanceName", + "in": "path", + "description": "Name of the AzureLargeStorageInstance.", + "required": true, + "type": "string", + "pattern": ".*" }, { - "$ref": "#/parameters/TagsParameter" + "name": "tagsParameter", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/AzureLargeStorageInstanceTagsUpdate" + }, + "x-ms-client-name": "properties" } ], "responses": { "200": { - "description": "OK", + "description": "ARM operation completed successfully.", "schema": { - "$ref": "#/definitions/AzureLargeInstance" + "$ref": "#/definitions/AzureLargeStorageInstance" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "AzureLargeStorageInstance_Delete_Tag": { + "$ref": "./examples/AzureLargeStorageInstance_PatchTags_Delete.json" + }, + "AzureLargeStorageInstance_Update_Tag": { + "$ref": "./examples/AzureLargeStorageInstance_PatchTags.json" + } } } + } + }, + "definitions": { + "AzureLargeInstance": { + "type": "object", + "description": "Azure Large Instance info on Azure (ARM properties and AzureLargeInstance\nproperties)", + "properties": { + "properties": { + "$ref": "#/definitions/AzureLargeInstanceProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances": { - "get": { - "tags": [ - "Azure Large Storage Instances" - ], - "operationId": "AzureLargeStorageInstance_ListBySubscription", - "summary": "Gets a list of Azure Large Storage Instances in the specified subscription.", - "description": "Gets a list of AzureLargeStorageInstances in the specified subscription. The operations returns various properties of each Azure LargeStorage instance.", - "x-ms-examples": { - "List all AzureLargeStorageInstances in a subscription": { - "$ref": "./examples/AzureLargeStorageInstance_ListBySubscription.json" - } - }, - "parameters": [ + "AzureLargeInstanceForcePowerState": { + "type": "string", + "description": "Enum of two possible values to determine if the ALI instance restart operation should forcefully terminate and halt any existing processes that may be running on the server or not.", + "enum": [ + "active", + "inactive" + ], + "x-ms-enum": { + "name": "AzureLargeInstanceForcePowerState", + "modelAsString": true, + "values": [ { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "name": "active", + "value": "active", + "description": "Active means that the restart operation will terminate and halt existing processes that may be running on the server" }, { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "inactive", + "value": "inactive", + "description": "Inactive means that the restart operation will not terminate and halt existing processes that may be running on the server" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AzureLargeStorageInstanceListResult" - } + ] + } + }, + "AzureLargeInstanceHardwareTypeNamesEnum": { + "type": "string", + "description": "Enum of the hardware options (vendor and/or their product name) for an Azure Large Instance", + "enum": [ + "Cisco_UCS", + "HPE", + "SDFLEX" + ], + "x-ms-enum": { + "name": "AzureLargeInstanceHardwareTypeNamesEnum", + "modelAsString": true, + "values": [ + { + "name": "Cisco_UCS", + "value": "Cisco_UCS", + "description": "Hardware type of UCS from vendor Cisco" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" - } + { + "name": "HPE", + "value": "HPE", + "description": "Hardware type of HPE from vendor Hewlett Packard Enterprise" + }, + { + "name": "SDFLEX", + "value": "SDFLEX", + "description": "Hardware type of SDFLEX" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + ] } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances": { - "get": { - "tags": [ - "Azure Large Storage Instances" - ], - "operationId": "AzureLargeStorageInstance_ListByResourceGroup", - "summary": "Gets a list of Azure Large Storage Instances in the specified subscription and resource group.", - "description": "Gets a list of AzureLargeStorageInstances in the specified subscription and resource group. The operations returns various properties of each Azure LargeStorage instance.", - "x-ms-examples": { - "List all AzureLargeStorageInstances in a resource group": { - "$ref": "./examples/AzureLargeStorageInstance_ListByResourceGroup.json" + "AzureLargeInstanceListResult": { + "type": "object", + "description": "The response of a AzureLargeInstance list operation.", + "properties": { + "value": { + "type": "array", + "description": "The AzureLargeInstance items on this page", + "items": { + "$ref": "#/definitions/AzureLargeInstance" } }, - "parameters": [ + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "AzureLargeInstancePowerStateEnum": { + "type": "string", + "description": "Power states that an Azure Large Instance can be in", + "enum": [ + "starting", + "started", + "stopping", + "stopped", + "restarting", + "unknown" + ], + "x-ms-enum": { + "name": "AzureLargeInstancePowerStateEnum", + "modelAsString": true, + "values": [ { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "name": "starting", + "value": "starting", + "description": "Starting means that the Azure Large Instance resource is turning on." }, { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "started", + "value": "started", + "description": "Started means that the Azure Large Instance resource has been powered on." }, { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AzureLargeStorageInstanceListResult" - } + "name": "stopping", + "value": "stopping", + "description": "Stopping means that the Azure Large Instance resource is shutting down." }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" - } + { + "name": "stopped", + "value": "stopped", + "description": "Stopped means that the Azure Large Instance resource has shut down." + }, + { + "name": "restarting", + "value": "restarting", + "description": "Restarting means that the Azure Large Instance resource is restarting." + }, + { + "name": "unknown", + "value": "unknown", + "description": "Unknown means that the state of the Azure Large Instance is unknown." } + ] + } + }, + "AzureLargeInstanceProperties": { + "type": "object", + "description": "Describes the properties of an Azure Large Instance.", + "properties": { + "hardwareProfile": { + "$ref": "#/definitions/HardwareProfile", + "description": "Specifies the hardware settings for the Azure Large Instance." }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Specifies the storage settings for the Azure Large Instance disks." + }, + "osProfile": { + "$ref": "#/definitions/OsProfile", + "description": "Specifies the operating system settings for the Azure Large Instance." + }, + "networkProfile": { + "$ref": "#/definitions/NetworkProfile", + "description": "Specifies the network settings for the Azure Large Instance." + }, + "azureLargeInstanceId": { + "type": "string", + "description": "Specifies the Azure Large Instance unique ID.", + "readOnly": true + }, + "powerState": { + "$ref": "#/definitions/AzureLargeInstancePowerStateEnum", + "description": "Resource power state", + "readOnly": true + }, + "proximityPlacementGroup": { + "type": "string", + "description": "Resource proximity placement group", + "readOnly": true + }, + "hwRevision": { + "type": "string", + "description": "Hardware revision of an Azure Large Instance", + "readOnly": true + }, + "partnerNodeId": { + "type": "string", + "description": "ARM ID of another AzureLargeInstance that will share a network with this\nAzureLargeInstance" + }, + "provisioningState": { + "$ref": "#/definitions/AzureLargeInstanceProvisioningStatesEnum", + "description": "State of provisioning of the AzureLargeInstance", + "readOnly": true } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances/{azureLargeStorageInstanceName}": { - "get": { - "tags": [ - "Azure Large Storage Instances" - ], - "operationId": "AzureLargeStorageInstance_Get", - "summary": "Gets an Azure Large Storage Instance.", - "description": "Gets an Azure Large Storage instance for the specified subscription, resource group, and instance name.", - "x-ms-examples": { - "Get an AzureLargeStorageStorage instance": { - "$ref": "./examples/AzureLargeStorageInstance_Get.json" - } - }, - "parameters": [ + "AzureLargeInstanceProvisioningStatesEnum": { + "type": "string", + "description": "Provisioning states that an Azure Large Instance can be in", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating", + "Canceled" + ], + "x-ms-enum": { + "name": "AzureLargeInstanceProvisioningStatesEnum", + "modelAsString": true, + "values": [ { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "name": "Accepted", + "value": "Accepted", + "description": "Accepted means Azure Large Instance resource provisioning has been accepted." }, { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "Creating", + "value": "Creating", + "description": "Creating means Azure Large Instance resource is being created." }, { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "Updating", + "value": "Updating", + "description": "Updating means an existing Azure Large Instance resource is being updated" }, { - "$ref": "#/parameters/AzureLargeStorageInstanceNameParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AzureLargeStorageInstance" - } + "name": "Failed", + "value": "Failed", + "description": "Failed means Azure Large Instance resource is in failed state" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" - } + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Succeeded means Azure Large Instance resource creation succeeded during last create/update" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Deleting means Azure Large Instance resource is in the process of being deleted" + }, + { + "name": "Migrating", + "value": "Migrating", + "description": "Migrating means Azure Large Instance resource is being migrated from one subscription or resource group to another" + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Cancelled Azure Large Instance resource operation has been cancelled" } - } + ] }, - "patch": { - "tags": [ - "Azure Large Storage Instances" - ], - "operationId": "AzureLargeStorageInstance_Update", - "summary": "Patches the Tags field of an Azure Large Storage instance.", - "description": "Patches the Tags field of a Azure Large Storage Instance for the specified subscription, resource group, and instance name.", - "x-ms-examples": { - "Update Tags field of an AzureLargeStorageStorage instance": { - "$ref": "./examples/AzureLargeStorageInstance_PatchTags.json" + "readOnly": true + }, + "AzureLargeInstanceSizeNamesEnum": { + "type": "string", + "description": "Enum of available model types (each of which have their own storage / memory sizes) for an Azure Large Instance type. See https://docs.microsoft.com/azure/sap/large-instances/hana-available-skus", + "enum": [ + "S72m", + "S144m", + "S72", + "S144", + "S192", + "S192m", + "S192xm", + "S96", + "S112", + "S224", + "S224m", + "S224om", + "S224oo", + "S224oom", + "S224ooo", + "S224se", + "S384", + "S384m", + "S384xm", + "S384xxm", + "S448", + "S448m", + "S448om", + "S448oo", + "S448oom", + "S448ooo", + "S448se", + "S576m", + "S576xm", + "S672", + "S672m", + "S672om", + "S672oo", + "S672oom", + "S672ooo", + "S768", + "S768m", + "S768xm", + "S896", + "S896m", + "S896om", + "S896oo", + "S896oom", + "S896ooo", + "S960m" + ], + "x-ms-enum": { + "name": "AzureLargeInstanceSizeNamesEnum", + "modelAsString": true, + "values": [ + { + "name": "S72m", + "value": "S72m", + "description": "Type I class SKU that can't be purchased anymore" }, - "Delete Tags field of an AzureLargeStorageStorage instance": { - "$ref": "./examples/AzureLargeStorageInstance_PatchTags_Delete.json" - } - }, - "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "name": "S144m", + "value": "S144m", + "description": "Type I class SKU that can't be purchased anymore" }, { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "S72", + "value": "S72", + "description": "Type I class SKU that can't be purchased anymore" }, { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "S144", + "value": "S144", + "description": "Type I class SKU that can't be purchased anymore" }, { - "$ref": "#/parameters/AzureLargeStorageInstanceNameParameter" + "name": "S192", + "value": "S192", + "description": "Type I class SKU that can't be purchased anymore" }, { - "$ref": "#/parameters/TagsParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AzureLargeStorageInstance" - } + "name": "S192m", + "value": "S192m", + "description": "Type I class SKU that can't be purchased anymore" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" - } + { + "name": "S192xm", + "value": "S192xm", + "description": "Type I class SKU that can't be purchased anymore" + }, + { + "name": "S96", + "value": "S96", + "description": "2 sockets, 96 CPU threads, 48 CPU cores, 768 GB total memory, 768 GB DRAM, 3.0 TB storage, Cisco_UCS hardware type" + }, + { + "name": "S112", + "value": "S112", + "description": "No longer offered or used." + }, + { + "name": "S224", + "value": "S224", + "description": "4 sockets, 224 CPU threads, 112 CPU cores, 3 TB total memory, 3 TB DRAM, 6.3 TB storage, Cisco_UCS hardware type" + }, + { + "name": "S224m", + "value": "S224m", + "description": "4 sockets, 224 CPU threads, 112 CPU cores, 6 TB total memory, 6 TB DRAM, 10.5 TB storage, Cisco_UCS hardware type" + }, + { + "name": "S224om", + "value": "S224om", + "description": "4 sockets, 224 CPU threads, 112 CPU cores, 6 TB total memory, 3 TB DRAM, 3 TB memory optane, 10.5 TB storage, Cisco_UCS hardware type" + }, + { + "name": "S224oo", + "value": "S224oo", + "description": "4 sockets, 224 CPU threads, 112 CPU cores, 4.5 TB total memory, 1.5 TB DRAM, 3 TB memory optane, 8.4 TB storage, Cisco_UCS hardware type" + }, + { + "name": "S224oom", + "value": "S224oom", + "description": "4 sockets, 224 CPU threads, 112 CPU cores, 9 TB total memory, 3 TB DRAM, 6 TB memory optane, 14.8 TB storage, Cisco_UCS hardware type" + }, + { + "name": "S224ooo", + "value": "S224ooo", + "description": "4 sockets, 224 CPU threads, 112 CPU cores, 7.5TB total memory, 1.5 TB DRAM, 6 TB memory optane, 12.7 TB storage, Cisco_UCS hardware type" + }, + { + "name": "S224se", + "value": "S224se", + "description": "4 sockets, 448 CPU threads, 6 TB total memory, SDFLEX hardware type" + }, + { + "name": "S384", + "value": "S384", + "description": "8 sockets, 384 CPU threads, 192 CPU cores, 4 TB total memory, 4 TB DRAM, 16 TB storage, HPEMc990x hardware type" + }, + { + "name": "S384m", + "value": "S384m", + "description": "8 sockets, 384 CPU threads, 192 CPU cores, 6 TB total memory, 6 TB DRAM, 18 TB storage, HPEMc990x hardware type" + }, + { + "name": "S384xm", + "value": "S384xm", + "description": "8 sockets, 384 CPU threads, 192 CPU cores, 8 TB total memory, 8 TB DRAM, 22 TB storage, HPEMc990x hardware type" + }, + { + "name": "S384xxm", + "value": "S384xxm", + "description": "8 sockets, 384 CPU threads, 12 TB total memory, HPEMc990x hardware type" + }, + { + "name": "S448", + "value": "S448", + "description": "8 sockets, 448 CPU threads, 224 CPU cores, 6 TB total memory, 6 TB DRAM, 10.5 TB storage, SDFLEX hardware type" + }, + { + "name": "S448m", + "value": "S448m", + "description": "8 sockets, 448 CPU threads, 224 CPU cores, 12 TB total memory, 12 TB DRAM, 18.9 TB storage, SDFLEX hardware type" + }, + { + "name": "S448om", + "value": "S448om", + "description": "8 sockets, 448 CPU threads, 224 CPU cores, 12 TB total memory, 6 TB DRAM, 6 TB memory optane, 18.9 TB storage, SDFLEX hardware type" + }, + { + "name": "S448oo", + "value": "S448oo", + "description": "8 sockets, 448 CPU threads, 224 CPU cores, 9 TB total memory, 3 TB DRAM, 6 TB memory optane, 14.8 TB storage, SDFLEX hardware type" + }, + { + "name": "S448oom", + "value": "S448oom", + "description": "8 sockets, 448 CPU threads, 224 CPU cores, 18 TB total memory, 6 TB DRAM, 12 memory optane, 27.4 TB storage, SDFLEX hardware type" + }, + { + "name": "S448ooo", + "value": "S448ooo", + "description": "8 sockets, 448 CPU threads, 224 CPU cores, 15 TB total memory, 3 TB DRAM, 12 memory optane, 23.2 TB storage, SDFLEX hardware type" + }, + { + "name": "S448se", + "value": "S448se", + "description": "8 sockets, 448 CPU threads, 12 TB total memory, SDFLEX hardware type" + }, + { + "name": "S576m", + "value": "S576m", + "description": "12 sockets, 576 CPU threads, 288 CPU cores, 12 TB total memory, 12 TB DRAM, 28 TB storage, HPEMc990x hardware type" + }, + { + "name": "S576xm", + "value": "S576xm", + "description": "12 sockets, 576 CPU threads, 288 CPU cores, 18 TB total memory, HPEMc990x hardware type" + }, + { + "name": "S672", + "value": "S672", + "description": "12 sockets, 672 CPU threads, 336 CPU cores, 9 TB total memory, 9 TB DRAM, 14.7 TB storage, SDFLEX hardware type" + }, + { + "name": "S672m", + "value": "S672m", + "description": "12 sockets, 672 CPU threads, 336 CPU cores, 18 TB total memory, 18 TB DRAM, 27.4 TB storage, SDFLEX hardware type" + }, + { + "name": "S672om", + "value": "S672om", + "description": "12 sockets, 672 CPU threads, 336 CPU cores, 18 TB total memory, 9 TB DRAM, 9 TB memory optane, 27.4 TB storage, SDFLEX hardware type" + }, + { + "name": "S672oo", + "value": "S672oo", + "description": "12 sockets, 672 CPU threads, 336 CPU cores, 13.5 TB total memory, 4.5 TB DRAM, 9 TB memory optane, 21.1 TB storage, SDFLEX hardware type" + }, + { + "name": "S672oom", + "value": "S672oom", + "description": "12 sockets, 672 CPU threads, 336 CPU cores, 27 TB total memory, 9 TB DRAM, 18 TB memory optane, 40 TB storage, SDFLEX hardware type" + }, + { + "name": "S672ooo", + "value": "S672ooo", + "description": "12 sockets, 672 CPU threads, 336 CPU cores, 22.5 TB total memory, 4.5 TB DRAM, 18 TB memory optane, 33.7 TB storage, SDFLEX hardware type" + }, + { + "name": "S768", + "value": "S768", + "description": "No longer offered or used." + }, + { + "name": "S768m", + "value": "S768m", + "description": "16 sockets, 768 CPU threads, 384 CPU cores, 16 TB total memory, 16 TB DRAM, 36 TB storage, HPEMc990x hardware type" + }, + { + "name": "S768xm", + "value": "S768xm", + "description": "16 sockets, 768 CPU threads, 384 CPU cores, 24 TB total memory, 24 TB DRAM, 56 TB storage, HPEMc990x hardware type" + }, + { + "name": "S896", + "value": "S896", + "description": "16 sockets, 896 CPU threads, 448 CPU cores, 12 TB total memory, 12 TB DRAM, 18.9 TB storage, SDFLEX hardware type" + }, + { + "name": "S896m", + "value": "S896m", + "description": "16 sockets, 896 CPU threads, 448 CPU cores, 24 TB\ttotal memory, 24 TB DRAM, 35.8 TB storage, SDFLEX hardware type" + }, + { + "name": "S896om", + "value": "S896om", + "description": "16 sockets, 896 CPU threads, 448 CPU cores, 24 TB\ttotal memory, 12 TB DRAM, 12 TB memory optane, 35.8 TB storage, SDFLEX hardware type" + }, + { + "name": "S896oo", + "value": "S896oo", + "description": "16 sockets, 896 CPU threads, 448 CPU cores, 18 TB total memory, 6 TB DRAM, 12 TB memory optane, 27.4 TB storage, SDFLEX hardware type" + }, + { + "name": "S896oom", + "value": "S896oom", + "description": "16 sockets, 896 CPU threads, 448 CPU cores, 36 TB total memory, 12 TB DRAM, 24 TB memory optane, 52.7 TB storage, SDFLEX hardware type" + }, + { + "name": "S896ooo", + "value": "S896ooo", + "description": "16 sockets, 896 CPU threads, 448 CPU cores, 30 TB total memory, 6 TB DRAM, 24 TB memory optane, 44.3 TB storage, SDFLEX hardware type" + }, + { + "name": "S960m", + "value": "S960m", + "description": "20 sockets, 960 CPU threads, 480 CPU cores, 20 TB total memory, 20 TB DRAM, 46 TB storage, HPEMc990x hardware type" } - } + ] } - } - }, - "definitions": { - "AzureLargeInstanceListResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/AzureLargeInstance" - }, - "description": "The list of Azure Large Instances." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of Azure Large Instances." + }, + "AzureLargeInstanceTagsUpdate": { + "type": "object", + "description": "The type used for updating tags in AzureLargeInstance resources.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } } - }, - "description": "The response from the List Azure Large Instances operation." + } }, - "AzureLargeInstance": { + "AzureLargeStorageInstance": { "type": "object", + "description": "AzureLargeStorageInstance info on Azure (ARM properties and\nAzureLargeStorageInstance properties)", "properties": { "properties": { + "$ref": "#/definitions/AzureLargeStorageInstanceProperties", + "description": "The resource-specific properties for this resource.", "x-ms-client-flatten": true, - "$ref": "#/definitions/AzureLargeInstanceProperties", - "description": "Azure Large Instance properties" + "x-ms-mutability": [ + "read", + "create" + ] } }, "allOf": [ { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" } - ], - "description": "Azure Large Instance info on Azure (ARM properties and AzureLargeInstance properties)" + ] }, - "AzureLargeInstanceProperties": { + "AzureLargeStorageInstanceListResult": { "type": "object", + "description": "The response of a AzureLargeStorageInstance list operation.", "properties": { - "hardwareProfile": { - "$ref": "#/definitions/HardwareProfile", - "description": "Specifies the hardware settings for the Azure Large Instance." - }, - "storageProfile": { - "$ref": "#/definitions/StorageProfile", - "description": "Specifies the storage settings for the Azure Large Instance disks." - }, - "osProfile": { - "$ref": "#/definitions/OSProfile", - "description": "Specifies the operating system settings for the Azure Large Instance." - }, - "networkProfile": { - "$ref": "#/definitions/NetworkProfile", - "description": "Specifies the network settings for the Azure Large Instance." - }, - "azureLargeInstanceId": { - "readOnly": true, - "type": "string", - "description": "Specifies the Azure Large Instance unique ID." - }, - "powerState": { - "readOnly": true, - "type": "string", - "enum": [ - "starting", - "started", - "stopping", - "stopped", - "restarting", - "unknown" - ], - "x-ms-enum": { - "name": "AzureLargeInstancePowerStateEnum", - "modelAsString": true - }, - "description": "Resource power state" - }, - "proximityPlacementGroup": { - "readOnly": true, - "type": "string", - "description": "Resource proximity placement group" - }, - "hwRevision": { - "readOnly": true, - "type": "string", - "description": "Hardware revision of an Azure Large Instance" - }, - "partnerNodeId": { - "type": "string", - "description": "ARM ID of another AzureLargeInstance that will share a network with this AzureLargeInstance" + "value": { + "type": "array", + "description": "The AzureLargeStorageInstance items on this page", + "items": { + "$ref": "#/definitions/AzureLargeStorageInstance" + } }, - "provisioningState": { - "readOnly": true, + "nextLink": { "type": "string", - "enum": [ - "Accepted", - "Creating", - "Updating", - "Failed", - "Succeeded", - "Deleting", - "Migrating", - "Canceled" - ], - "x-ms-enum": { - "name": "AzureLargeInstanceProvisioningStatesEnum", - "modelAsString": true - }, - "description": "State of provisioning of the AzureLargeInstance" + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "Describes the properties of an Azure Large Instance." + "required": [ + "value" + ] }, - "HardwareProfile": { + "AzureLargeStorageInstanceProperties": { "type": "object", + "description": "Describes the properties of an AzureLargeStorageInstance.", "properties": { - "hardwareType": { - "readOnly": true, + "azureLargeStorageInstanceUniqueIdentifier": { "type": "string", - "enum": [ - "Cisco_UCS", - "HPE", - "SDFLEX" - ], - "x-ms-enum": { - "name": "AzureLargeInstanceHardwareTypeNamesEnum", - "modelAsString": true - }, - "description": "Name of the hardware type (vendor and/or their product name)" + "description": "Specifies the AzureLargeStorageInstance unique ID." }, - "azureLargeInstanceSize": { - "readOnly": true, - "type": "string", - "enum": [ - "S72m", - "S144m", - "S72", - "S144", - "S192", - "S192m", - "S192xm", - "S96", - "S112", - "S224", - "S224m", - "S224om", - "S224oo", - "S224oom", - "S224ooo", - "S224se", - "S384", - "S384m", - "S384xm", - "S384xxm", - "S448", - "S448m", - "S448om", - "S448oo", - "S448oom", - "S448ooo", - "S448se", - "S576m", - "S576xm", - "S672", - "S672m", - "S672om", - "S672oo", - "S672oom", - "S672ooo", - "S768", - "S768m", - "S768xm", - "S896", - "S896m", - "S896om", - "S896oo", - "S896oom", - "S896ooo", - "S960m" - ], - "x-ms-enum": { - "name": "azureLargeInstanceSizeNamesEnum", - "modelAsString": true - }, - "description": "Specifies the Azure Large Instance SKU." + "storageProperties": { + "$ref": "#/definitions/StorageProperties", + "description": "Specifies the storage properties for the AzureLargeStorage instance." } - }, - "description": "Specifies the hardware settings for the Azure Large Instance." + } + }, + "AzureLargeStorageInstanceTagsUpdate": { + "type": "object", + "description": "The type used for updating tags in AzureLargeStorageInstance resources.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "CreatedByType": { + "type": "string", + "description": "The type of identity that created the resource: User, Application, ManagedIdentity", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "CreatedByType", + "modelAsString": true, + "values": [ + { + "name": "User", + "value": "User", + "description": "An AAD user. The createdByType/lastModifiedBy property will be a user principal name (email address)." + }, + { + "name": "Application", + "value": "Application", + "description": "An AAD application. The createdByType/lastModifiedBy property will be the Application Id." + }, + { + "name": "ManagedIdentity", + "value": "ManagedIdentity", + "description": "A Managed Identity. The createdByType/lastModifiedBy property will be the ManagedIdentity resource Id" + }, + { + "name": "Key", + "value": "Key", + "description": "A key" + } + ] + } }, "Disk": { "type": "object", + "description": "Specifies the disk information fo the Azure Large Instance", "properties": { "name": { "type": "string", @@ -833,161 +1332,192 @@ "description": "Specifies the size of an empty data disk in gigabytes." }, "lun": { - "readOnly": true, "type": "integer", "format": "int32", - "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + "description": "Specifies the logical unit number of the data disk. This value is used to\nidentify data disks within the VM and therefore must be unique for each data\ndisk attached to a VM.", + "readOnly": true } - }, - "description": "Specifies the disk information fo the Azure Large Instance" + } }, - "StorageProfile": { + "ForceState": { "type": "object", + "description": "The active state empowers the server with the ability to forcefully terminate\nand halt any existing processes that may be running on the server", "properties": { - "nfsIpAddress": { - "readOnly": true, - "type": "string", - "description": "IP Address to connect to storage." - }, - "osDisks": { - "type": "array", - "items": { - "$ref": "#/definitions/Disk" - }, - "x-ms-identifiers": [ - "name" - ], - "description": "Specifies information about the operating system disk used by Azure Large Instance." + "forceState": { + "$ref": "#/definitions/AzureLargeInstanceForcePowerState", + "description": "Whether to force restart by shutting all processes." } - }, - "description": "Specifies the storage settings for the Azure Large Instance disks." + } }, - "OSProfile": { + "HardwareProfile": { "type": "object", + "description": "Specifies the hardware settings for the Azure Large Instance.", "properties": { - "computerName": { - "type": "string", - "description": "Specifies the host OS name of the Azure Large Instance." - }, - "osType": { - "readOnly": true, - "type": "string", - "description": "This property allows you to specify the type of the OS." - }, - "version": { - "readOnly": true, - "type": "string", - "description": "Specifies version of operating system." + "hardwareType": { + "$ref": "#/definitions/AzureLargeInstanceHardwareTypeNamesEnum", + "description": "Name of the hardware type (vendor and/or their product name)", + "readOnly": true }, - "sshPublicKey": { + "azureLargeInstanceSize": { + "$ref": "#/definitions/AzureLargeInstanceSizeNamesEnum", + "description": "Specifies the Azure Large Instance SKU.", + "readOnly": true + } + } + }, + "IpAddress": { + "type": "object", + "description": "Specifies the IP address of the network interface.", + "properties": { + "ipAddress": { "type": "string", - "description": "Specifies the SSH public key used to access the operating system." + "description": "Specifies the IP address of the network interface." } - }, - "description": "Specifies the operating system settings for the Azure Large Instance." + } }, "NetworkProfile": { "type": "object", + "description": "Specifies the network settings for the Azure Large Instance disks.", "properties": { "networkInterfaces": { "type": "array", + "description": "Specifies the network interfaces for the Azure Large Instance.", "items": { "$ref": "#/definitions/IpAddress" }, - "x-ms-identifiers": [ - "ipAddress" - ], - "description": "Specifies the network interfaces for the Azure Large Instance." + "x-ms-identifiers": [] }, "circuitId": { - "readOnly": true, "type": "string", - "description": "Specifies the circuit id for connecting to express route." + "description": "Specifies the circuit id for connecting to express route.", + "readOnly": true } - }, - "description": "Specifies the network settings for the Azure Large Instance disks." + } }, - "IpAddress": { + "OsProfile": { "type": "object", + "description": "Specifies the operating system settings for the Azure Large Instance.", "properties": { - "ipAddress": { + "computerName": { "type": "string", - "description": "Specifies the IP address of the network interface." - } - }, - "description": "Specifies the IP address of the network interface." - }, - "AzureLargeStorageInstanceListResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/AzureLargeStorageInstance" - }, - "description": "The list of AzureLargeStorage instances.", - "x-ms-identifiers": [] + "description": "Specifies the host OS name of the Azure Large Instance." }, - "nextLink": { + "osType": { + "type": "string", + "description": "This property allows you to specify the type of the OS.", + "readOnly": true + }, + "version": { + "type": "string", + "description": "Specifies version of operating system.", + "readOnly": true + }, + "sshPublicKey": { "type": "string", - "description": "The URL to get the next set of AzureLargeStorage instances." + "description": "Specifies the SSH public key used to access the operating system." } + } + }, + "ProvisioningState": { + "type": "string", + "description": "An enum of possible operation states for an AzureLargeStorageInstances", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Canceled", + "Migrating" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Accepted", + "value": "Accepted", + "description": "Accepted means ARM resource has been accepted." + }, + { + "name": "Creating", + "value": "Creating", + "description": "Creating means ARM resource is being created." + }, + { + "name": "Updating", + "value": "Updating", + "description": "Updating means an existing ARM resource is being updated" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Failed means resource is in failed state" + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Succeeded means resource creation succeeded during last create/update" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Deleting means resource is in the process of being deleted" + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Cancelled means resource operation has been cancelled" + }, + { + "name": "Migrating", + "value": "Migrating", + "description": "Migrating means resource is being migrated from one subscription or resource group to another" + } + ] }, - "description": "The response from the Get AzureLargeStorageInstances operation." + "readOnly": true }, - "AzureLargeStorageInstance": { + "StorageBillingProperties": { "type": "object", + "description": "Describes the billing related details of the AzureLargeStorageInstance.", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AzureLargeStorageInstanceProperties", - "description": "AzureLargeStorageInstance properties" + "billingMode": { + "type": "string", + "description": "the billing mode for the storage instance" }, - "systemData": { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", - "description": "The system metadata relating to this resource." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + "sku": { + "type": "string", + "description": "the SKU type that is provisioned" } - ], - "description": "AzureLargeStorageInstance info on Azure (ARM properties and AzureLargeStorageInstance properties)" + } }, - "AzureLargeStorageInstanceProperties": { + "StorageProfile": { "type": "object", + "description": "Specifies the storage settings for the Azure Large Instance disks.", "properties": { - "azureLargeStorageInstanceUniqueIdentifier": { + "nfsIpAddress": { "type": "string", - "description": "Specifies the AzureLargeStorageInstance unique ID." + "description": "IP Address to connect to storage.", + "readOnly": true }, - "storageProperties": { - "$ref": "#/definitions/StorageProperties", - "description": "Specifies the storage properties for the AzureLargeStorage instance." + "osDisks": { + "type": "array", + "description": "Specifies information about the operating system disk used by Azure Large\nInstance.", + "items": { + "$ref": "#/definitions/Disk" + }, + "x-ms-identifiers": [] } - }, - "description": "Describes the properties of an AzureLargeStorageInstance." + } }, "StorageProperties": { "type": "object", + "description": "described the storage properties of the azure large storage instance", "properties": { "provisioningState": { - "type": "string", - "enum": [ - "Accepted", - "Creating", - "Updating", - "Failed", - "Succeeded", - "Deleting", - "Canceled", - "Migrating" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true - }, + "$ref": "#/definitions/ProvisioningState", "description": "State of provisioning of the AzureLargeStorageInstance" }, "offeringType": { @@ -1003,7 +1533,7 @@ "description": "the kind of storage instance" }, "hardwareType": { - "type": "string", + "$ref": "#/definitions/AzureLargeInstanceHardwareTypeNamesEnum", "description": "the hardware type of the storage instance" }, "workloadType": { @@ -1014,93 +1544,39 @@ "$ref": "#/definitions/StorageBillingProperties", "description": "the billing related information for the resource" } - }, - "description": "described the storage properties of the azure large storage instance" - }, - "StorageBillingProperties": { - "type": "object", - "properties": { - "billingMode": { - "type": "string", - "description": "the billing mode for the storage instance" - }, - "sku": { - "type": "string", - "description": "the SKU type that is provisioned" - } - }, - "description": "Describes the billing related details of the AzureLargeStorageInstance." + } }, "Tags": { "type": "object", + "description": "Tags field of the AzureLargeInstance instance.", "properties": { "tags": { "type": "object", + "description": "Tags field of the AzureLargeInstance instance.", "additionalProperties": { "type": "string" - }, - "description": "Tags field of the AzureLargeInstance instance." - } - }, - "description": "Tags field of the AzureLargeInstance instance." - }, - "ForceState": { - "type": "object", - "properties": { - "forceState": { - "type": "string", - "enum": [ - "active", - "inactive" - ], - "x-ms-enum": { - "name": "AzureLargeInstanceForcePowerState", - "modelAsString": true - }, - "description": "Whether to force restart by shutting all processes." + } } - }, - "description": "The active state empowers the server with the ability to forcefully terminate and halt any existing processes that may be running on the server" - } - }, - "parameters": { - "AzureLargeInstanceNameParameter": { - "name": "azureLargeInstanceName", - "in": "path", - "required": true, - "type": "string", - "pattern": ".*", - "description": "Name of the AzureLargeInstance.", - "x-ms-parameter-location": "method" + } }, - "AzureLargeStorageInstanceNameParameter": { - "name": "azureLargeStorageInstanceName", - "in": "path", - "required": true, + "Versions": { "type": "string", - "pattern": ".*", - "description": "Name of the AzureLargeStorageInstance.", - "x-ms-parameter-location": "method" - }, - "ForcePowerManagementOperationParameter": { - "name": "forceParameter", - "in": "body", - "required": false, - "schema": { - "$ref": "#/definitions/ForceState" - }, - "description": "When set to 'active', this parameter empowers the server with the ability to forcefully terminate and halt any existing processes that may be running on the server", - "x-ms-parameter-location": "method" - }, - "TagsParameter": { - "name": "tagsParameter", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Tags" - }, - "description": "Request body that only contains the new Tags field", - "x-ms-parameter-location": "method" + "description": "Azure Large Instance api versions.", + "enum": [ + "2023-07-20-preview" + ], + "x-ms-enum": { + "name": "Versions", + "modelAsString": true, + "values": [ + { + "name": "v2023_07_20_preview", + "value": "2023-07-20-preview", + "description": "Azure Large Instance api version 2023-07-20-preview." + } + ] + } } - } + }, + "parameters": {} } diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstanceOperations_List.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstanceOperations_List.json index 4f89110ea120..ed454099134a 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstanceOperations_List.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstanceOperations_List.json @@ -1,4 +1,6 @@ { + "operationId": "Operations_List", + "title": "Operations_List", "parameters": { "api-version": "2023-07-20-preview" }, diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Get.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Get.json index 943c0f04a6ad..9a8ad20f3a87 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Get.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Get.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeInstance_Get", + "title": "AzureLargeInstance_Get", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_ListByResourceGroup.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_ListByResourceGroup.json index 8ee165ffef5b..90931798e483 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_ListByResourceGroup.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_ListByResourceGroup.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeInstance_ListByResourceGroup", + "title": "AzureLargeInstance_ListByResourceGroup", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_ListBySubscription.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_ListBySubscription.json index 91dd7c065016..bad25bd33b9a 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_ListBySubscription.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_ListBySubscription.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeInstance_ListBySubscription", + "title": "AzureLargeInstance_ListBySubscription", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd" diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_PatchTags.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_PatchTags.json index 9a30bb63c5bd..44dea91b6076 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_PatchTags.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_PatchTags.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeInstance_Update", + "title": "AzureLargeInstance_Update_Tag", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_PatchTags_Delete.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_PatchTags_Delete.json index fc21e85dc5e4..8b40928bc19f 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_PatchTags_Delete.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_PatchTags_Delete.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeInstance_Update", + "title": "AzureLargeInstance_Delete_Tag", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Restart.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Restart.json index 8ff8fd5750ea..562512af582d 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Restart.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Restart.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeInstance_Restart", + "title": "AzureLargeInstance_Restart", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Shutdown.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Shutdown.json index 86946a6476b4..5f3e7dd254f9 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Shutdown.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Shutdown.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeInstance_Shutdown", + "title": "AzureLargeInstance_Shutdown", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Start.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Start.json index 86946a6476b4..8f2121b81b78 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Start.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeInstance_Start.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeInstance_Start", + "title": "AzureLargeInstance_Start", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_Get.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_Get.json index e331b0ffaa59..2a76fc31c494 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_Get.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_Get.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeStorageInstance_Get", + "title": "AzureLargeStorageInstance_Get", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_ListByResourceGroup.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_ListByResourceGroup.json index 74f5b8809cda..9fb5b728f5f9 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_ListByResourceGroup.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_ListByResourceGroup.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeStorageInstance_ListByResourceGroup", + "title": "AzureLargeStorageInstance_ListByResourceGroup", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_ListBySubscription.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_ListBySubscription.json index 09773c17350c..381768222b44 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_ListBySubscription.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_ListBySubscription.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeStorageInstance_ListBySubscription", + "title": "AzureLargeStorageInstance_ListBySubscription", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd" diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_PatchTags.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_PatchTags.json index 89803d4bdc1b..1a4001200614 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_PatchTags.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_PatchTags.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeStorageInstance_Update", + "title": "AzureLargeStorageInstance_Update_Tag", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_PatchTags_Delete.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_PatchTags_Delete.json index 53895764f0c2..6ddc84104207 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_PatchTags_Delete.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/examples/AzureLargeStorageInstance_PatchTags_Delete.json @@ -1,4 +1,6 @@ { + "operationId": "AzureLargeStorageInstance_Update", + "title": "AzureLargeStorageInstance_Delete_Tag", "parameters": { "api-version": "2023-07-20-preview", "subscriptionId": "f0f4887f-d13c-4943-a8ba-d7da28d2a3fd", diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/BatchService.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/BatchService.json new file mode 100644 index 000000000000..c3ab556d0515 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/BatchService.json @@ -0,0 +1,17628 @@ +{ + "swagger": "2.0", + "info": { + "title": "BatchServiceClient", + "version": "2023-11-01.18.0", + "description": "A client for issuing REST requests to the Azure Batch service." + }, + "x-ms-parameterized-host": { + "hostTemplate": "{batchUrl}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/batchUrl" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json; odata=minimalmetadata" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + }, + { + "api_key": [] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Microsoft Entra OAuth 2.0 auth code flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + }, + "api_key": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + }, + "paths": { + "/applications": { + "get": { + "tags": [ + "Applications" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Application_List", + "x-ms-examples": { + "List applications": { + "$ref": "./examples/ApplicationList.json" + } + }, + "summary": "Lists all of the applications available in the specified Account.", + "description": "This operation returns only Applications and versions that are available for use on Compute Nodes; that is, that can be used in an Package reference. For administrator information about applications and versions that are not yet available to Compute Nodes, use the Azure portal or the Azure Resource Manager API.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 applications can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of applications.", + "schema": { + "$ref": "#/definitions/ApplicationListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/applications/{applicationId}": { + "get": { + "tags": [ + "Applications" + ], + "operationId": "Application_Get", + "x-ms-examples": { + "Get applications": { + "$ref": "./examples/ApplicationGet.json" + } + }, + "summary": "Gets information about the specified Application.", + "description": "This operation returns only Applications and versions that are available for use on Compute Nodes; that is, that can be used in an Package reference. For administrator information about Applications and versions that are not yet available to Compute Nodes, use the Azure portal or the Azure Resource Manager API.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "applicationId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Application." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the application.", + "schema": { + "$ref": "#/definitions/ApplicationSummary" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/poolusagemetrics": { + "get": { + "tags": [ + "Pools" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Pool_ListUsageMetrics", + "x-ms-examples": { + "Pool list usage metrics": { + "$ref": "./examples/PoolListUsageMetrics.json" + } + }, + "summary": "Lists the usage metrics, aggregated by Pool across individual time intervals, for the specified Account.", + "description": "If you do not specify a $filter clause including a poolId, the response includes all Pools that existed in the Account in the time range of the returned aggregation intervals. If you do not specify a $filter clause including a startTime or endTime these filters default to the start and end times of the last aggregation interval currently available; that is, only the last aggregation interval is returned.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "starttime", + "x-ms-client-name": "startTime", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "The earliest time from which to include metrics. This must be at least two and a half hours before the current time. If not specified this defaults to the start time of the last aggregation interval currently available.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "endtime", + "x-ms-client-name": "endTime", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "The latest time from which to include metrics. This must be at least two hours before the current time. If not specified this defaults to the end time of the last aggregation interval currently available.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-account-usage-metrics.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 results will be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Pool usage details.", + "schema": { + "$ref": "#/definitions/PoolListUsageMetricsResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/supportedimages": { + "get": { + "tags": [ + "Accounts" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Account_ListSupportedImages", + "x-ms-examples": { + "Account list node agent skus": { + "$ref": "./examples/AccountListSupportedImages.json" + } + }, + "summary": "Lists all Virtual Machine Images supported by the Azure Batch service.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-support-images.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 results will be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of supported Virtual Machine Images.", + "schema": { + "$ref": "#/definitions/AccountListSupportedImagesResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/nodecounts": { + "get": { + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "tags": [ + "Accounts" + ], + "operationId": "Account_ListPoolNodeCounts", + "description": "Gets the number of Compute Nodes in each state, grouped by Pool. Note that the numbers returned may not always be up to date. If you need exact node counts, use a list query.", + "x-ms-examples": { + "NodeCountsPayload": { + "$ref": "./examples/AccountListPoolNodeCounts.json" + } + }, + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 10, + "minimum": 1, + "maximum": 10, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + } + }, + "description": "The response contains the number of Compute Nodes in each Compute Node state, grouped by Pool.", + "schema": { + "$ref": "#/definitions/PoolNodeCountsListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/certificates": { + "post": { + "deprecated": true, + "tags": [ + "Certificates" + ], + "operationId": "Certificate_Add", + "x-ms-examples": { + "Certificate add": { + "$ref": "./examples/CertificateAdd.json" + } + }, + "summary": "Adds a Certificate to the specified Account.", + "description": "Warning: This operation is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "certificate", + "in": "body", + "description": "The Certificate to be added.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateAddParameter" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "deprecated": true, + "tags": [ + "Certificates" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Certificate_List", + "x-ms-examples": { + "Certificate list": { + "$ref": "./examples/CertificateList.json" + } + }, + "summary": "Lists all of the Certificates that have been added to the specified Account.", + "description": "Warning: This operation is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-certificates.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Certificates can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Certificates.", + "schema": { + "$ref": "#/definitions/CertificateListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete": { + "post": { + "deprecated": true, + "tags": [ + "Certificates" + ], + "operationId": "Certificate_CancelDeletion", + "x-ms-examples": { + "Certificate cancel delete": { + "$ref": "./examples/CertificateCancelDelete.json" + } + }, + "summary": "Cancels a failed deletion of a Certificate from the specified Account.", + "description": "If you try to delete a Certificate that is being used by a Pool or Compute Node, the status of the Certificate changes to deleteFailed. If you decide that you want to continue using the Certificate, you can use this operation to set the status of the Certificate back to active. If you intend to delete the Certificate, you do not need to run this operation after the deletion failed. You must make sure that the Certificate is not being used by any resources, and then you can try again to delete the Certificate.\n\nWarning: This operation is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "thumbprintAlgorithm", + "in": "path", + "required": true, + "type": "string", + "description": "The algorithm used to derive the thumbprint parameter. This must be sha1." + }, + { + "name": "thumbprint", + "in": "path", + "required": true, + "type": "string", + "description": "The thumbprint of the Certificate being deleted." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})": { + "delete": { + "deprecated": true, + "tags": [ + "Certificates" + ], + "operationId": "Certificate_Delete", + "x-ms-examples": { + "Certificate delete": { + "$ref": "./examples/CertificateDelete.json" + } + }, + "summary": "Deletes a Certificate from the specified Account.", + "description": "You cannot delete a Certificate if a resource (Pool or Compute Node) is using it. Before you can delete a Certificate, you must therefore make sure that the Certificate is not associated with any existing Pools, the Certificate is not installed on any Nodes (even if you remove a Certificate from a Pool, it is not removed from existing Compute Nodes in that Pool until they restart), and no running Tasks depend on the Certificate. If you try to delete a Certificate that is in use, the deletion fails. The Certificate status changes to deleteFailed. You can use Cancel Delete Certificate to set the status back to active if you decide that you want to continue using the Certificate.\n\nWarning: This operation is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "thumbprintAlgorithm", + "in": "path", + "required": true, + "type": "string", + "description": "The algorithm used to derive the thumbprint parameter. This must be sha1." + }, + { + "name": "thumbprint", + "in": "path", + "required": true, + "type": "string", + "description": "The thumbprint of the Certificate to be deleted." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "deprecated": true, + "tags": [ + "Certificates" + ], + "operationId": "Certificate_Get", + "x-ms-examples": { + "Certificate get": { + "$ref": "./examples/CertificateGet.json" + } + }, + "summary": "Gets information about the specified Certificate.", + "description": "Warning: This operation is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "thumbprintAlgorithm", + "in": "path", + "required": true, + "type": "string", + "description": "The algorithm used to derive the thumbprint parameter. This must be sha1." + }, + { + "name": "thumbprint", + "in": "path", + "required": true, + "type": "string", + "description": "The thumbprint of the Certificate to get." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Certificate.", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks/{taskId}/files/{filePath}": { + "delete": { + "tags": [ + "Files" + ], + "operationId": "File_DeleteFromTask", + "x-ms-examples": { + "File delete from task": { + "$ref": "./examples/FileDeleteFromTask.json" + } + }, + "summary": "Deletes the specified Task file from the Compute Node where the Task ran.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job that contains the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task whose file you want to delete." + }, + { + "name": "filePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path to the Task file or directory that you want to delete." + }, + { + "name": "recursive", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false then the directory must be empty or deletion will fail." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Files" + ], + "operationId": "File_GetFromTask", + "x-ms-examples": { + "Get File From Task": { + "$ref": "./examples/FileGetFromTask.json" + } + }, + "description": "Returns the content of the specified Task file.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job that contains the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task whose file you want to retrieve." + }, + { + "name": "filePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path to the Task file that you want to get the content of." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-range", + "in": "header", + "required": false, + "type": "string", + "description": "The byte range to be retrieved. The default is to retrieve the entire file. The format is bytes=startRange-endRange.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json", + "application/octet-stream" + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-creation-time": { + "description": "The file creation time.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-batch-file-isdirectory": { + "description": "Whether the object represents a directory.", + "type": "boolean" + }, + "ocp-batch-file-url": { + "description": "The URL of the file.", + "type": "string" + }, + "ocp-batch-file-mode": { + "description": "The file mode attribute in octal format.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of the file.", + "type": "string" + }, + "Content-Length": { + "description": "The length of the file.", + "type": "integer", + "format": "int64" + } + }, + "description": "A response containing the file content.", + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "head": { + "tags": [ + "Files" + ], + "operationId": "File_GetPropertiesFromTask", + "x-ms-examples": { + "File get properties from task": { + "$ref": "./examples/FileGetPropertiesFromTask.json" + } + }, + "description": "Gets the properties of the specified Task file.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job that contains the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task whose file you want to get the properties of." + }, + { + "name": "filePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path to the Task file that you want to get the properties of." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-creation-time": { + "description": "The file creation time.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-batch-file-isdirectory": { + "description": "Whether the object represents a directory.", + "type": "boolean" + }, + "ocp-batch-file-url": { + "description": "The URL of the file.", + "type": "string" + }, + "ocp-batch-file-mode": { + "description": "The file mode attribute in octal format.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of the file.", + "type": "string" + }, + "Content-Length": { + "description": "The length of the file.", + "type": "integer", + "format": "int64" + } + }, + "description": "A response containing the file properties." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/files/{filePath}": { + "delete": { + "tags": [ + "Files" + ], + "operationId": "File_DeleteFromComputeNode", + "x-ms-examples": { + "File delete from node": { + "$ref": "./examples/FileDeleteFromNode.json" + } + }, + "summary": "Deletes the specified file from the Compute Node.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node from which you want to delete the file." + }, + { + "name": "filePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path to the file or directory that you want to delete." + }, + { + "name": "recursive", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false then the directory must be empty or deletion will fail." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Files" + ], + "operationId": "File_GetFromComputeNode", + "x-ms-examples": { + "Get File From Compute Node": { + "$ref": "./examples/FileGetFromNode.json" + } + }, + "description": "Returns the content of the specified Compute Node file.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that contains the file." + }, + { + "name": "filePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path to the Compute Node file that you want to get the content of." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-range", + "in": "header", + "required": false, + "type": "string", + "description": "The byte range to be retrieved. The default is to retrieve the entire file. The format is bytes=startRange-endRange.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json", + "application/octet-stream" + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-creation-time": { + "description": "The file creation time.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-batch-file-isdirectory": { + "description": "Whether the object represents a directory.", + "type": "boolean" + }, + "ocp-batch-file-url": { + "description": "The URL of the file.", + "type": "string" + }, + "ocp-batch-file-mode": { + "description": "The file mode attribute in octal format.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of the file.", + "type": "string" + }, + "Content-Length": { + "description": "The length of the file.", + "type": "integer", + "format": "int64" + } + }, + "description": "The file content.", + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "head": { + "tags": [ + "Files" + ], + "operationId": "File_GetPropertiesFromComputeNode", + "x-ms-examples": { + "File get properties from node": { + "$ref": "./examples/FileGetPropertiesFromNode.json" + } + }, + "description": "Gets the properties of the specified Compute Node file.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that contains the file." + }, + { + "name": "filePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path to the Compute Node file that you want to get the properties of." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-creation-time": { + "description": "The file creation time.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-batch-file-isdirectory": { + "description": "Whether the object represents a directory.", + "type": "boolean" + }, + "ocp-batch-file-url": { + "description": "The URL of the file.", + "type": "string" + }, + "ocp-batch-file-mode": { + "description": "The file mode attribute in octal format.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of the file.", + "type": "string" + }, + "Content-Length": { + "description": "The length of the file.", + "type": "integer", + "format": "int64" + } + }, + "description": "A response containing the file properties." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks/{taskId}/files": { + "get": { + "tags": [ + "Files" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "File_ListFromTask", + "x-ms-examples": { + "File list from task": { + "$ref": "./examples/FileListFromTask.json" + } + }, + "summary": "Lists the files in a Task's directory on its Compute Node.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job that contains the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task whose files you want to list." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-task-files.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "recursive", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to list children of the Task directory. This parameter can be used in combination with the filter parameter to list specific type of files." + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 files can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of files.", + "schema": { + "$ref": "#/definitions/NodeFileListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/files": { + "get": { + "tags": [ + "Files" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "File_ListFromComputeNode", + "x-ms-examples": { + "File list from node": { + "$ref": "./examples/FileListFromNode.json" + } + }, + "summary": "Lists all of the files in Task directories on the specified Compute Node.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node whose files you want to list." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-compute-node-files.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "recursive", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to list children of a directory." + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 files can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of files.", + "schema": { + "$ref": "#/definitions/NodeFileListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobschedules/{jobScheduleId}": { + "head": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Exists", + "x-ms-examples": { + "Check Job Schedule Exists": { + "$ref": "./examples/JobScheduleExists.json" + } + }, + "summary": "Checks the specified Job Schedule exists.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule which you want to check." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing headers related to the Job Schedule, if it exists." + }, + "404": { + "description": "The Job Schedule does not exist." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "delete": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Delete", + "x-ms-examples": { + "JobSchedule delete": { + "$ref": "./examples/JobScheduleDelete.json" + } + }, + "summary": "Deletes a Job Schedule from the specified Account.", + "description": "When you delete a Job Schedule, this also deletes all Jobs and Tasks under that schedule. When Tasks are deleted, all the files in their working directories on the Compute Nodes are also deleted (the retention period is ignored). The Job Schedule statistics are no longer accessible once the Job Schedule is deleted, though they are still counted towards Account lifetime statistics.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to delete." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Get", + "x-ms-examples": { + "JobSchedule get": { + "$ref": "./examples/JobScheduleGet.json" + } + }, + "description": "Gets information about the specified Job Schedule.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to get." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Job Schedule.", + "schema": { + "$ref": "#/definitions/CloudJobSchedule" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "patch": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Patch", + "x-ms-examples": { + "JobSchedule patch": { + "$ref": "./examples/JobSchedulePatch.json" + } + }, + "summary": "Updates the properties of the specified Job Schedule.", + "description": "This replaces only the Job Schedule properties specified in the request. For example, if the schedule property is not specified with this request, then the Batch service will keep the existing schedule. Changes to a Job Schedule only impact Jobs created by the schedule after the update has taken place; currently running Jobs are unaffected.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to update." + }, + { + "name": "jobSchedulePatchParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobSchedulePatchParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "put": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Update", + "x-ms-examples": { + "JobSchedule update": { + "$ref": "./examples/JobScheduleUpdate.json" + } + }, + "summary": "Updates the properties of the specified Job Schedule.", + "description": "This fully replaces all the updatable properties of the Job Schedule. For example, if the schedule property is not specified with this request, then the Batch service will remove the existing schedule. Changes to a Job Schedule only impact Jobs created by the schedule after the update has taken place; currently running Jobs are unaffected.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to update." + }, + { + "name": "jobScheduleUpdateParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobScheduleUpdateParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobschedules/{jobScheduleId}/disable": { + "post": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Disable", + "x-ms-examples": { + "JobSchedule disable": { + "$ref": "./examples/JobScheduleDisable.json" + } + }, + "summary": "Disables a Job Schedule.", + "description": "No new Jobs will be created until the Job Schedule is enabled again.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to disable." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobschedules/{jobScheduleId}/enable": { + "post": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Enable", + "x-ms-examples": { + "JobSchedule enable": { + "$ref": "./examples/JobScheduleEnable.json" + } + }, + "summary": "Enables a Job Schedule.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to enable." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobschedules/{jobScheduleId}/terminate": { + "post": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Terminate", + "x-ms-examples": { + "JobSchedule terminate": { + "$ref": "./examples/JobScheduleTerminate.json" + } + }, + "summary": "Terminates a Job Schedule.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to terminates." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobschedules": { + "post": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Add", + "x-ms-examples": { + "Add a basic JobSchedule": { + "$ref": "./examples/JobScheduleAdd_Basic.json" + }, + "Add a complex JobScheduleAdd": { + "$ref": "./examples/JobScheduleAdd_Complex.json" + } + }, + "summary": "Adds a Job Schedule to the specified Account.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "cloudJobSchedule", + "in": "body", + "description": "The Job Schedule to be added.", + "required": true, + "schema": { + "$ref": "#/definitions/JobScheduleAddParameter" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "JobSchedules" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "JobSchedule_List", + "x-ms-examples": { + "JobSchedule list": { + "$ref": "./examples/JobScheduleList.json" + } + }, + "summary": "Lists all of the Job Schedules in the specified Account.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-schedules.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Job Schedules can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Job Schedules.", + "schema": { + "$ref": "#/definitions/CloudJobScheduleListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}": { + "delete": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Delete", + "x-ms-examples": { + "Delete Job": { + "$ref": "./examples/JobDelete.json" + } + }, + "summary": "Deletes a Job.", + "description": "Deleting a Job also deletes all Tasks that are part of that Job, and all Job statistics. This also overrides the retention period for Task data; that is, if the Job contains Tasks which are still retained on Compute Nodes, the Batch services deletes those Tasks' working directories and all their contents. When a Delete Job request is received, the Batch service sets the Job to the deleting state. All update operations on a Job that is in deleting state will fail with status code 409 (Conflict), with additional information indicating that the Job is being deleted.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job to delete." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Get", + "x-ms-examples": { + "Job get": { + "$ref": "./examples/JobGet.json" + } + }, + "summary": "Gets information about the specified Job.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Job.", + "schema": { + "$ref": "#/definitions/CloudJob" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "patch": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Patch", + "x-ms-examples": { + "Job patch": { + "$ref": "./examples/JobPatch.json" + } + }, + "summary": "Updates the properties of the specified Job.", + "description": "This replaces only the Job properties specified in the request. For example, if the Job has constraints, and a request does not specify the constraints element, then the Job keeps the existing constraints.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job whose properties you want to update." + }, + { + "name": "jobPatchParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobPatchParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "put": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Update", + "x-ms-examples": { + "Job update": { + "$ref": "./examples/JobUpdate.json" + } + }, + "summary": "Updates the properties of the specified Job.", + "description": "This fully replaces all the updatable properties of the Job. For example, if the Job has constraints associated with it and if constraints is not specified with this request, then the Batch service will remove the existing constraints.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job whose properties you want to update." + }, + { + "name": "jobUpdateParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobUpdateParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/disable": { + "post": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Disable", + "x-ms-examples": { + "Job disable": { + "$ref": "./examples/JobDisable.json" + } + }, + "summary": "Disables the specified Job, preventing new Tasks from running.", + "description": "The Batch Service immediately moves the Job to the disabling state. Batch then uses the disableTasks parameter to determine what to do with the currently running Tasks of the Job. The Job remains in the disabling state until the disable operation is completed and all Tasks have been dealt with according to the disableTasks option; the Job then moves to the disabled state. No new Tasks are started under the Job until it moves back to active state. If you try to disable a Job that is in any state other than active, disabling, or disabled, the request fails with status code 409.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job to disable." + }, + { + "name": "jobDisableParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobDisableParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/enable": { + "post": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Enable", + "x-ms-examples": { + "Job enable": { + "$ref": "./examples/JobEnable.json" + } + }, + "summary": "Enables the specified Job, allowing new Tasks to run.", + "description": "When you call this API, the Batch service sets a disabled Job to the enabling state. After the this operation is completed, the Job moves to the active state, and scheduling of new Tasks under the Job resumes. The Batch service does not allow a Task to remain in the active state for more than 180 days. Therefore, if you enable a Job containing active Tasks which were added more than 180 days ago, those Tasks will not run.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job to enable." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/terminate": { + "post": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Terminate", + "x-ms-examples": { + "Job terminate": { + "$ref": "./examples/JobTerminate.json" + } + }, + "summary": "Terminates the specified Job, marking it as completed.", + "description": "When a Terminate Job request is received, the Batch service sets the Job to the terminating state. The Batch service then terminates any running Tasks associated with the Job and runs any required Job release Tasks. Then the Job moves into the completed state. If there are any Tasks in the Job in the active state, they will remain in the active state. Once a Job is terminated, new Tasks cannot be added and any remaining active Tasks will not be scheduled.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job to terminate." + }, + { + "name": "jobTerminateParameter", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/JobTerminateParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs": { + "post": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Add", + "x-ms-examples": { + "Add a basic job": { + "$ref": "./examples/JobAdd_Basic.json" + }, + "Add a complex job": { + "$ref": "./examples/JobAdd_Complex.json" + } + }, + "summary": "Adds a Job to the specified Account.", + "description": "The Batch service supports two ways to control the work done as part of a Job. In the first approach, the user specifies a Job Manager Task. The Batch service launches this Task when it is ready to start the Job. The Job Manager Task controls all other Tasks that run under this Job, by using the Task APIs. In the second approach, the user directly controls the execution of Tasks under an active Job, by using the Task APIs. Also note: when naming Jobs, avoid including sensitive information such as user names or secret project names. This information may appear in telemetry logs accessible to Microsoft Support engineers.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "job", + "in": "body", + "description": "The Job to be added.", + "required": true, + "schema": { + "$ref": "#/definitions/JobAddParameter" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Jobs" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Job_List", + "x-ms-examples": { + "Job list": { + "$ref": "./examples/JobList.json" + } + }, + "summary": "Lists all of the Jobs in the specified Account.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Jobs can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Jobs.", + "schema": { + "$ref": "#/definitions/CloudJobListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobschedules/{jobScheduleId}/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "x-ms-examples": { + "List Job Under Job Schedule": { + "$ref": "./examples/JobListFromJobSchedule.json" + } + }, + "operationId": "Job_ListFromJobSchedule", + "summary": "Lists the Jobs that have been created under the specified Job Schedule.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule from which you want to get a list of Jobs." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs-in-a-job-schedule.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Jobs can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Jobs.", + "schema": { + "$ref": "#/definitions/CloudJobListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/jobpreparationandreleasetaskstatus": { + "get": { + "tags": [ + "Jobs" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Job_ListPreparationAndReleaseTaskStatus", + "x-ms-examples": { + "Job list preparation and release task status": { + "$ref": "./examples/JobListPreparationAndReleaseTaskStatus.json" + } + }, + "summary": "Lists the execution status of the Job Preparation and Job Release Task for the specified Job across the Compute Nodes where the Job has run.", + "description": "This API returns the Job Preparation and Job Release Task status on all Compute Nodes that have run the Job Preparation or Job Release Task. This includes Compute Nodes which have since been removed from the Pool. If this API is invoked on a Job which has no Job Preparation or Job Release Task, the Batch service returns HTTP status code 409 (Conflict) with an error code of JobPreparationTaskNotSpecified.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-preparation-and-release-status.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Tasks can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing a list of Job Preparation and Job Release Task statuses.", + "schema": { + "$ref": "#/definitions/CloudJobListPreparationAndReleaseTaskStatusResult" + } + }, + "default": { + "description": "The error from the Batch service. If this API is invoked on a Job which has no Job Preparation or Job Release Task, the Batch service returns HTTP status code 409.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/taskcounts": { + "get": { + "tags": [ + "Jobs" + ], + "operationId": "Job_GetTaskCounts", + "x-ms-examples": { + "Job get task counts": { + "$ref": "./examples/JobGetTaskCounts.json" + } + }, + "summary": "Gets the Task counts for the specified Job.", + "description": "Task counts provide a count of the Tasks by active, running or completed Task state, and a count of Tasks which succeeded or failed. Tasks in the preparing state are counted as running. Note that the numbers returned may not always be up to date. If you need exact task counts, use a list query.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + } + }, + "description": "A response containing the Task counts for the specified Job.", + "schema": { + "$ref": "#/definitions/TaskCountsResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_Add", + "x-ms-examples": { + "Add a simple pool with resourceTags": { + "$ref": "./examples/PoolAdd_ResourceTags.json" + }, + "Add a CloudServiceConfiguration pool": { + "$ref": "./examples/PoolAdd_CloudServiceConfiguration.json" + }, + "Add a VirtualMachineConfiguration pool": { + "$ref": "./examples/PoolAdd_VirtualMachineConfiguration.json" + }, + "Add a VirtualMachineConfiguration pool with containers": { + "$ref": "./examples/PoolAdd_VirtualMachineConfigurationWithContainers.json" + }, + "Add a VirtualMachineConfiguration pool with extensions": { + "$ref": "./examples/PoolAdd_VirtualMachineConfigurationWithExtensions.json" + }, + "Add a pool with mount drive specified": { + "$ref": "./examples/PoolAdd_MountConfiguration.json" + }, + "Add a pool with accelerated networking": { + "$ref": "./examples/PoolAdd_AcceleratedNetworking.json" + }, + "Add a pool with SecurityProfile": { + "$ref": "./examples/PoolAdd_SecurityProfile.json" + }, + "Add a VirtualMachineConfiguration pool with ServiceArtifactReference": { + "$ref": "./examples/PoolAdd_VirtualMachineConfigurationWithServiceArtifactReference.json" + }, + "Add a VirtualMachineConfiguration pool with OS disk": { + "$ref": "./examples/PoolAdd_OSDisk.json" + } + }, + "summary": "Adds a Pool to the specified Account.", + "description": "When naming Pools, avoid including sensitive information such as user names or secret project names. This information may appear in telemetry logs accessible to Microsoft Support engineers.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "pool", + "in": "body", + "description": "The Pool to be added.", + "required": true, + "schema": { + "$ref": "#/definitions/PoolAddParameter" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Pools" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Pool_List", + "x-ms-examples": { + "Pool list": { + "$ref": "./examples/PoolList_Basic.json" + } + }, + "summary": "Lists all of the Pools in the specified Account.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-pools.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Pools can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Pools.", + "schema": { + "$ref": "#/definitions/CloudPoolListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}": { + "delete": { + "tags": [ + "Pools" + ], + "operationId": "Pool_Delete", + "x-ms-examples": { + "Pool delete": { + "$ref": "./examples/PoolDelete.json" + } + }, + "summary": "Deletes a Pool from the specified Account.", + "description": "When you request that a Pool be deleted, the following actions occur: the Pool state is set to deleting; any ongoing resize operation on the Pool are stopped; the Batch service starts resizing the Pool to zero Compute Nodes; any Tasks running on existing Compute Nodes are terminated and requeued (as if a resize Pool operation had been requested with the default requeue option); finally, the Pool is removed from the system. Because running Tasks are requeued, the user can rerun these Tasks by updating their Job to target a different Pool. The Tasks can then run on the new Pool. If you want to override the requeue behavior, then you should call resize Pool explicitly to shrink the Pool to zero size before deleting the Pool. If you call an Update, Patch or Delete API on a Pool in the deleting state, it will fail with HTTP status code 409 with error code PoolBeingDeleted.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool to delete." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "head": { + "tags": [ + "Pools" + ], + "operationId": "Pool_Exists", + "x-ms-examples": { + "Check Pool Exists": { + "$ref": "./examples/PoolExists.json" + } + }, + "description": "Gets basic properties of a Pool.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool to get." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing headers related to the Pool, if it exists." + }, + "404": { + "description": "The Pool does not exist." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Pools" + ], + "operationId": "Pool_Get", + "x-ms-examples": { + "Pool get": { + "$ref": "./examples/PoolGet_Basic.json" + }, + "Get a VirtualMachineConfiguration pool with extensions": { + "$ref": "./examples/PoolGet_VirtualMachineConfigurationWithExtensions.json" + }, + "Get a pool with AcceleratedNetworking": { + "$ref": "./examples/PoolGet_AcceleratedNetworking.json" + }, + "Get a VirtualMachineConfiguration pool with SecurityProfile": { + "$ref": "./examples/PoolGet_SecurityProfile.json" + }, + "Get a VirtualMachineConfiguration pool with ServiceArtifactReference": { + "$ref": "./examples/PoolGet_VirtualMachineConfigurationWithServiceArtifactReference.json" + }, + "Add a VirtualMachineConfiguration pool with OS disk": { + "$ref": "./examples/PoolGet_VirtualMachineConfigurationWithOSDisk.json" + } + }, + "description": "Gets information about the specified Pool.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool to get." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Pool.", + "schema": { + "$ref": "#/definitions/CloudPool" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "patch": { + "tags": [ + "Pools" + ], + "operationId": "Pool_Patch", + "x-ms-examples": { + "Patch the Pool": { + "$ref": "./examples/PoolPatch.json" + } + }, + "summary": "Updates the properties of the specified Pool.", + "description": "This only replaces the Pool properties specified in the request. For example, if the Pool has a StartTask associated with it, and a request does not specify a StartTask element, then the Pool keeps the existing StartTask.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool to update." + }, + { + "name": "poolPatchParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PoolPatchParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/disableautoscale": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_DisableAutoScale", + "x-ms-examples": { + "Disable pool autoscale": { + "$ref": "./examples/PoolDisableAutoScale.json" + } + }, + "summary": "Disables automatic scaling for a Pool.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool on which to disable automatic scaling." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/enableautoscale": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_EnableAutoScale", + "x-ms-examples": { + "Pool enable autoscale": { + "$ref": "./examples/PoolEnableAutoscale.json" + } + }, + "summary": "Enables automatic scaling for a Pool.", + "description": "You cannot enable automatic scaling on a Pool if a resize operation is in progress on the Pool. If automatic scaling of the Pool is currently disabled, you must specify a valid autoscale formula as part of the request. If automatic scaling of the Pool is already enabled, you may specify a new autoscale formula and/or a new evaluation interval. You cannot call this API for the same Pool more than once every 30 seconds.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool on which to enable automatic scaling." + }, + { + "name": "poolEnableAutoScaleParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PoolEnableAutoScaleParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/evaluateautoscale": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_EvaluateAutoScale", + "x-ms-examples": { + "Pool evaluate autoscale": { + "$ref": "./examples/PoolEvaluateAutoscale.json" + } + }, + "summary": "Gets the result of evaluating an automatic scaling formula on the Pool.", + "description": "This API is primarily for validating an autoscale formula, as it simply returns the result without applying the formula to the Pool. The Pool must have auto scaling enabled in order to evaluate a formula.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool on which to evaluate the automatic scaling formula." + }, + { + "name": "poolEvaluateAutoScaleParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PoolEvaluateAutoScaleParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "A response containing the results of the autoscale evaluation.", + "schema": { + "$ref": "#/definitions/AutoScaleRun" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/resize": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_Resize", + "x-ms-examples": { + "Pool resize": { + "$ref": "./examples/PoolResize.json" + } + }, + "summary": "Changes the number of Compute Nodes that are assigned to a Pool.", + "description": "You can only resize a Pool when its allocation state is steady. If the Pool is already resizing, the request fails with status code 409. When you resize a Pool, the Pool's allocation state changes from steady to resizing. You cannot resize Pools which are configured for automatic scaling. If you try to do this, the Batch service returns an error 409. If you resize a Pool downwards, the Batch service chooses which Compute Nodes to remove. To remove specific Compute Nodes, use the Pool remove Compute Nodes API instead.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool to resize." + }, + { + "name": "poolResizeParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PoolResizeParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/stopresize": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_StopResize", + "x-ms-examples": { + "Pool stop resize": { + "$ref": "./examples/PoolStopResize.json" + } + }, + "summary": "Stops an ongoing resize operation on the Pool.", + "description": "This does not restore the Pool to its previous state before the resize operation: it only stops any further changes being made, and the Pool maintains its current state. After stopping, the Pool stabilizes at the number of Compute Nodes it was at when the stop operation was done. During the stop operation, the Pool allocation state changes first to stopping and then to steady. A resize operation need not be an explicit resize Pool request; this API can also be used to halt the initial sizing of the Pool when it is created.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool whose resizing you want to stop." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service. If you call this API on a Pool which is not in the resizing state, the request fails with HTTP status code 409.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/updateproperties": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_UpdateProperties", + "x-ms-examples": { + "Pool update": { + "$ref": "./examples/PoolUpdate.json" + } + }, + "summary": "Updates the properties of the specified Pool.", + "description": "This fully replaces all the updatable properties of the Pool. For example, if the Pool has a StartTask associated with it and if StartTask is not specified with this request, then the Batch service will remove the existing StartTask.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool to update." + }, + { + "name": "poolUpdatePropertiesParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PoolUpdatePropertiesParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/removenodes": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "Pool_RemoveNodes", + "x-ms-examples": { + "Pool remove nodes": { + "$ref": "./examples/PoolRemoveNodes.json" + } + }, + "summary": "Removes Compute Nodes from the specified Pool.", + "description": "This operation can only run when the allocation state of the Pool is steady. When this operation runs, the allocation state changes from steady to resizing. Each request may remove up to 100 nodes.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool from which you want to remove Compute Nodes." + }, + { + "name": "nodeRemoveParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NodeRemoveParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks": { + "post": { + "tags": [ + "Tasks" + ], + "operationId": "Task_Add", + "x-ms-examples": { + "Add a basic task": { + "$ref": "./examples/TaskAdd_Basic.json" + }, + "Add a task with exit conditions": { + "$ref": "./examples/TaskAdd_ExitConditions.json" + }, + "Add a task with container settings": { + "$ref": "./examples/TaskAdd_ContainerSettings.json" + }, + "Add a task with extra slot requirement": { + "$ref": "./examples/TaskAdd_RequiredSlots.json" + } + }, + "summary": "Adds a Task to the specified Job.", + "description": "The maximum lifetime of a Task from addition to completion is 180 days. If a Task has not completed within 180 days of being added it will be terminated by the Batch service and left in whatever state it was in at that time.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job to which the Task is to be added." + }, + { + "name": "task", + "in": "body", + "description": "The Task to be added.", + "required": true, + "schema": { + "$ref": "#/definitions/TaskAddParameter" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Tasks" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Task_List", + "x-ms-examples": { + "Task list": { + "$ref": "./examples/TaskList.json" + } + }, + "summary": "Lists all of the Tasks that are associated with the specified Job.", + "description": "For multi-instance Tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary Task. Use the list subtasks API to retrieve information about subtasks.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-tasks.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Tasks can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Tasks.", + "schema": { + "$ref": "#/definitions/CloudTaskListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/addtaskcollection": { + "post": { + "tags": [ + "Tasks" + ], + "operationId": "Task_AddCollection", + "x-ms-examples": { + "Add a basic collection of tasks": { + "$ref": "./examples/TaskAddCollection_Basic.json" + }, + "Add a complex collection of tasks": { + "$ref": "./examples/TaskAddCollection_Complex.json" + } + }, + "summary": "Adds a collection of Tasks to the specified Job.", + "description": "Note that each Task must have a unique ID. The Batch service may not return the results for each Task in the same order the Tasks were submitted in this request. If the server times out or the connection is closed during the request, the request may have been partially or fully processed, or not at all. In such cases, the user should re-issue the request. Note that it is up to the user to correctly handle failures when re-issuing a request. For example, you should use the same Task IDs during a retry so that if the prior operation succeeded, the retry will not create extra Tasks unexpectedly. If the response contains any Tasks which failed to add, a client can retry the request. In a retry, it is most efficient to resubmit only Tasks that failed to add, and to omit Tasks that were successfully added on the first attempt. The maximum lifetime of a Task from addition to completion is 180 days. If a Task has not completed within 180 days of being added it will be terminated by the Batch service and left in whatever state it was in at that time.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job to which the Task collection is to be added." + }, + { + "name": "taskCollection", + "in": "body", + "description": "The Tasks to be added.", + "required": true, + "schema": { + "$ref": "#/definitions/TaskAddCollectionParameter" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/TaskAddCollectionResult" + }, + "description": "A response containing the results of the add Task collection operation." + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks/{taskId}": { + "delete": { + "tags": [ + "Tasks" + ], + "operationId": "Task_Delete", + "x-ms-examples": { + "Task delete": { + "$ref": "./examples/TaskDelete.json" + } + }, + "summary": "Deletes a Task from the specified Job.", + "description": "When a Task is deleted, all of the files in its directory on the Compute Node where it ran are also deleted (regardless of the retention time). For multi-instance Tasks, the delete Task operation applies synchronously to the primary task; subtasks and their files are then deleted asynchronously in the background.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job from which to delete the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task to delete." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Tasks" + ], + "operationId": "Task_Get", + "x-ms-examples": { + "Task get": { + "$ref": "./examples/TaskGet.json" + } + }, + "summary": "Gets information about the specified Task.", + "description": "For multi-instance Tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary Task. Use the list subtasks API to retrieve information about subtasks.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job that contains the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task to get information about." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "A response containing the Task.", + "schema": { + "$ref": "#/definitions/CloudTask" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "put": { + "tags": [ + "Tasks" + ], + "operationId": "Task_Update", + "x-ms-examples": { + "Task update": { + "$ref": "./examples/TaskUpdate.json" + } + }, + "description": "Updates the properties of the specified Task.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job containing the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task to update." + }, + { + "name": "taskUpdateParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TaskUpdateParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks/{taskId}/subtasksinfo": { + "get": { + "tags": [ + "Tasks" + ], + "operationId": "Task_ListSubtasks", + "x-ms-examples": { + "Task list subtasks": { + "$ref": "./examples/TaskListSubtasks.json" + } + }, + "summary": "Lists all of the subtasks that are associated with the specified multi-instance Task.", + "description": "If the Task is not a multi-instance Task then this returns an empty collection.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of subtasks.", + "schema": { + "$ref": "#/definitions/CloudTaskListSubtasksResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks/{taskId}/terminate": { + "post": { + "tags": [ + "Tasks" + ], + "operationId": "Task_Terminate", + "x-ms-examples": { + "Task terminate": { + "$ref": "./examples/TaskTerminate.json" + } + }, + "summary": "Terminates the specified Task.", + "description": "When the Task has been terminated, it moves to the completed state. For multi-instance Tasks, the terminate Task operation applies synchronously to the primary task; subtasks are then terminated asynchronously in the background.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job containing the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task to terminate." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks/{taskId}/reactivate": { + "post": { + "tags": [ + "Tasks" + ], + "operationId": "Task_Reactivate", + "x-ms-examples": { + "Task reactivate": { + "$ref": "./examples/TaskReactivate.json" + } + }, + "summary": "Reactivates a Task, allowing it to run again even if its retry count has been exhausted.", + "description": "Reactivation makes a Task eligible to be retried again up to its maximum retry count. The Task's state is changed to active. As the Task is no longer in the completed state, any previous exit code or failure information is no longer available after reactivation. Each time a Task is reactivated, its retry count is reset to 0. Reactivation will fail for Tasks that are not completed or that previously completed successfully (with an exit code of 0). Additionally, it will fail if the Job has completed (or is terminating or deleting).", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job containing the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task to reactivate." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/users": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_AddUser", + "x-ms-examples": { + "Node add user": { + "$ref": "./examples/NodeAddUser.json" + } + }, + "summary": "Adds a user Account to the specified Compute Node.", + "description": "You can add a user Account to a Compute Node only when it is in the idle or running state.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the machine on which you want to create a user Account." + }, + { + "name": "user", + "in": "body", + "description": "The user Account to be created.", + "required": true, + "schema": { + "$ref": "#/definitions/ComputeNodeUser" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/users/{userName}": { + "delete": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_DeleteUser", + "x-ms-examples": { + "Node delete user": { + "$ref": "./examples/NodeDeleteUser.json" + } + }, + "summary": "Deletes a user Account from the specified Compute Node.", + "description": "You can delete a user Account to a Compute Node only when it is in the idle or running state.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the machine on which you want to delete a user Account." + }, + { + "name": "userName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user Account to delete." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "put": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_UpdateUser", + "x-ms-examples": { + "Node update user": { + "$ref": "./examples/NodeUpdateUser.json" + } + }, + "summary": "Updates the password and expiration time of a user Account on the specified Compute Node.", + "description": "This operation replaces of all the updatable properties of the Account. For example, if the expiryTime element is not specified, the current value is replaced with the default value, not left unmodified. You can update a user Account on a Compute Node only when it is in the idle or running state.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the machine on which you want to update a user Account." + }, + { + "name": "userName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user Account to update." + }, + { + "name": "nodeUpdateUserParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NodeUpdateUserParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}": { + "get": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_Get", + "x-ms-examples": { + "Node get": { + "$ref": "./examples/NodeGet_Basic.json" + } + }, + "summary": "Gets information about the specified Compute Node.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that you want to get information about." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Compute Node.", + "schema": { + "$ref": "#/definitions/ComputeNode" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/reboot": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_Reboot", + "x-ms-examples": { + "Node reboot": { + "$ref": "./examples/NodeReboot.json" + } + }, + "summary": "Restarts the specified Compute Node.", + "description": "You can restart a Compute Node only if it is in an idle or running state.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that you want to restart." + }, + { + "name": "nodeRebootParameter", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/NodeRebootParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/reimage": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_Reimage", + "x-ms-examples": { + "Node reimage": { + "$ref": "./examples/NodeReimage.json" + } + }, + "summary": "Reinstalls the operating system on the specified Compute Node.", + "description": "You can reinstall the operating system on a Compute Node only if it is in an idle or running state. This API can be invoked only on Pools created with the cloud service configuration property.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that you want to restart." + }, + { + "name": "nodeReimageParameter", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/NodeReimageParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/disablescheduling": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_DisableScheduling", + "x-ms-examples": { + "Node disable scheduling": { + "$ref": "./examples/NodeDisableScheduling.json" + } + }, + "summary": "Disables Task scheduling on the specified Compute Node.", + "description": "You can disable Task scheduling on a Compute Node only if its current scheduling state is enabled.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node on which you want to disable Task scheduling." + }, + { + "name": "nodeDisableSchedulingParameter", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/NodeDisableSchedulingParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/enablescheduling": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_EnableScheduling", + "x-ms-examples": { + "Node enable scheduling": { + "$ref": "./examples/NodeEnableScheduling.json" + } + }, + "summary": "Enables Task scheduling on the specified Compute Node.", + "description": "You can enable Task scheduling on a Compute Node only if its current scheduling state is disabled", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node on which you want to enable Task scheduling." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/remoteloginsettings": { + "get": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_GetRemoteLoginSettings", + "x-ms-examples": { + "Node get remote login settings": { + "$ref": "./examples/NodeGetRemoteLoginSettings.json" + } + }, + "summary": "Gets the settings required for remote login to a Compute Node.", + "description": "Before you can remotely login to a Compute Node using the remote login settings, you must create a user Account on the Compute Node. This API can be invoked only on Pools created with the virtual machine configuration property. For Pools created with a cloud service configuration, see the GetRemoteDesktop API.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node for which to obtain the remote login settings." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the login settings.", + "schema": { + "$ref": "#/definitions/ComputeNodeGetRemoteLoginSettingsResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/rdp": { + "get": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_GetRemoteDesktop", + "x-ms-examples": { + "Get RDP file of the compute node": { + "$ref": "./examples/NodeGetRemoteDesktop.json" + } + }, + "summary": "Gets the Remote Desktop Protocol file for the specified Compute Node.", + "description": "Before you can access a Compute Node by using the RDP file, you must create a user Account on the Compute Node. This API can only be invoked on Pools created with a cloud service configuration. For Pools created with a virtual machine configuration, see the GetRemoteLoginSettings API.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node for which you want to get the Remote Desktop Protocol file." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json", + "application/octet-stream" + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the RDP information.", + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_UploadBatchServiceLogs", + "summary": "Upload Azure Batch service log files from the specified Compute Node to Azure Blob Storage.", + "description": "This is for gathering Azure Batch service log files in an automated fashion from Compute Nodes if you are experiencing an error and wish to escalate to Azure support. The Azure Batch service log files should be shared with Azure support to aid in debugging issues with the Batch service.", + "x-ms-examples": { + "Upload BatchService Logs": { + "$ref": "./examples/NodeUploadBatchServiceLogs.json" + } + }, + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node from which you want to upload the Azure Batch service log files." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "uploadBatchServiceLogsConfiguration", + "in": "body", + "description": "The Azure Batch service log files upload configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/UploadBatchServiceLogsConfiguration" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + } + }, + "description": "The request to the Batch service was successful.", + "schema": { + "$ref": "#/definitions/UploadBatchServiceLogsResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes": { + "get": { + "tags": [ + "ComputeNodes" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "ComputeNode_List", + "x-ms-examples": { + "Node list": { + "$ref": "./examples/NodeList.json" + } + }, + "summary": "Lists the Compute Nodes in the specified Pool.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool from which you want to list Compute Nodes." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Compute Nodes can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Compute Nodes.", + "schema": { + "$ref": "#/definitions/ComputeNodeListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/extensions/{extensionName}": { + "get": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNodeExtension_Get", + "x-ms-examples": { + "Get compute node extension": { + "$ref": "./examples/ComputeNodeExtensionGet.json" + } + }, + "summary": "Gets information about the specified Compute Node Extension.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that contains the extensions." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the of the Compute Node Extension that you want to get information about." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Compute Node Extension.", + "schema": { + "$ref": "#/definitions/NodeVMExtension" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/extensions": { + "get": { + "tags": [ + "ComputeNodes" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "ComputeNodeExtension_List", + "x-ms-examples": { + "List compute node extensions": { + "$ref": "./examples/ComputeNodeExtensionList.json" + } + }, + "summary": "Lists the Compute Nodes Extensions in the specified Pool.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that you want to list extensions." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Compute Nodes can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Compute Nodes.", + "schema": { + "$ref": "#/definitions/NodeVMExtensionList" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + } + }, + "definitions": { + "PoolUsageMetrics": { + "type": "object", + "properties": { + "poolId": { + "type": "string", + "title": "The ID of the Pool whose metrics are aggregated in this entry." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the aggregation interval covered by this entry." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The end time of the aggregation interval covered by this entry." + }, + "vmSize": { + "type": "string", + "title": "The size of virtual machines in the Pool. All VMs in a Pool are the same size.", + "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)." + }, + "totalCoreHours": { + "type": "number", + "format": "double", + "title": "The total core hours used in the Pool during this aggregation interval." + } + }, + "required": [ + "poolId", + "startTime", + "endTime", + "vmSize", + "totalCoreHours" + ], + "title": "Usage metrics for a Pool across an aggregation interval." + }, + "PoolListUsageMetricsResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PoolUsageMetrics" + }, + "title": "The Pool usage metrics data." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of a listing the usage metrics for an Account." + }, + "ImageInformation": { + "type": "object", + "properties": { + "nodeAgentSKUId": { + "type": "string", + "title": "The ID of the Compute Node agent SKU which the Image supports." + }, + "imageReference": { + "$ref": "#/definitions/ImageReference", + "title": "The reference to the Azure Virtual Machine's Marketplace Image." + }, + "osType": { + "type": "string", + "title": "The type of operating system (e.g. Windows or Linux) of the Image.", + "enum": [ + "linux", + "windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": false, + "values": [ + { + "value": "linux", + "description": "The Linux operating system." + }, + { + "value": "windows", + "description": "The Windows operating system." + } + ] + } + }, + "capabilities": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The capabilities or features which the Image supports.", + "description": "Not every capability of the Image is listed. Capabilities in this list are considered of special interest and are generally related to integration with other features in the Azure Batch service." + }, + "batchSupportEndOfLife": { + "type": "string", + "format": "date-time", + "title": "The time when the Azure Batch service will stop accepting create Pool requests for the Image." + }, + "verificationType": { + "type": "string", + "title": "Whether the Azure Batch service actively verifies that the Image is compatible with the associated Compute Node agent SKU.", + "enum": [ + "verified", + "unverified" + ], + "x-ms-enum": { + "name": "VerificationType", + "modelAsString": false, + "values": [ + { + "value": "verified", + "description": "The Image is guaranteed to be compatible with the associated Compute Node agent SKU and all Batch features have been confirmed to work as expected." + }, + { + "value": "unverified", + "description": "The associated Compute Node agent SKU should have binary compatibility with the Image, but specific functionality has not been verified." + } + ] + } + } + }, + "required": [ + "imageReference", + "verificationType", + "osType", + "nodeAgentSKUId" + ], + "title": "A reference to the Azure Virtual Machines Marketplace Image and additional information about the Image." + }, + "AuthenticationTokenSettings": { + "type": "object", + "properties": { + "access": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "enum": [ + "job" + ], + "x-ms-enum": { + "name": "AccessScope", + "modelAsString": false, + "values": [ + { + "value": "job", + "description": "Grants access to perform all operations on the Job containing the Task." + } + ] + } + }, + "title": "The Batch resources to which the token grants access.", + "description": "The authentication token grants access to a limited set of Batch service operations. Currently the only supported value for the access property is 'job', which grants access to all operations related to the Job which contains the Task." + } + }, + "title": "The settings for an authentication token that the Task can use to perform Batch service operations." + }, + "AccountListSupportedImagesResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageInformation" + }, + "title": "The list of supported Virtual Machine Images." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the supported Virtual Machine Images." + }, + "UsageStatistics": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the time range covered by the statistics." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime." + }, + "dedicatedCoreTime": { + "type": "string", + "format": "duration", + "title": "The aggregated wall-clock time of the dedicated Compute Node cores being part of the Pool." + } + }, + "required": [ + "startTime", + "lastUpdateTime", + "dedicatedCoreTime" + ], + "title": "Statistics related to Pool usage information." + }, + "ResourceStatistics": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the time range covered by the statistics." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime." + }, + "avgCPUPercentage": { + "type": "number", + "format": "double", + "title": "The average CPU usage across all Compute Nodes in the Pool (percentage per node)." + }, + "avgMemoryGiB": { + "type": "number", + "format": "double", + "title": "The average memory usage in GiB across all Compute Nodes in the Pool." + }, + "peakMemoryGiB": { + "type": "number", + "format": "double", + "title": "The peak memory usage in GiB across all Compute Nodes in the Pool." + }, + "avgDiskGiB": { + "type": "number", + "format": "double", + "title": "The average used disk space in GiB across all Compute Nodes in the Pool." + }, + "peakDiskGiB": { + "type": "number", + "format": "double", + "title": "The peak used disk space in GiB across all Compute Nodes in the Pool." + }, + "diskReadIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk read operations across all Compute Nodes in the Pool." + }, + "diskWriteIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk write operations across all Compute Nodes in the Pool." + }, + "diskReadGiB": { + "type": "number", + "format": "double", + "title": "The total amount of data in GiB of disk reads across all Compute Nodes in the Pool." + }, + "diskWriteGiB": { + "type": "number", + "format": "double", + "title": "The total amount of data in GiB of disk writes across all Compute Nodes in the Pool." + }, + "networkReadGiB": { + "type": "number", + "format": "double", + "title": "The total amount of data in GiB of network reads across all Compute Nodes in the Pool." + }, + "networkWriteGiB": { + "type": "number", + "format": "double", + "title": "The total amount of data in GiB of network writes across all Compute Nodes in the Pool." + } + }, + "required": [ + "startTime", + "lastUpdateTime", + "avgCPUPercentage", + "avgMemoryGiB", + "peakMemoryGiB", + "avgDiskGiB", + "peakDiskGiB", + "diskReadIOps", + "diskWriteIOps", + "diskReadGiB", + "diskWriteGiB", + "networkReadGiB", + "networkWriteGiB" + ], + "title": "Statistics related to resource consumption by Compute Nodes in a Pool." + }, + "PoolStatistics": { + "type": "object", + "properties": { + "url": { + "type": "string", + "title": "The URL for the statistics." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the time range covered by the statistics." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime." + }, + "usageStats": { + "$ref": "#/definitions/UsageStatistics", + "title": "Statistics related to Pool usage, such as the amount of core-time used." + }, + "resourceStats": { + "$ref": "#/definitions/ResourceStatistics", + "title": "Statistics related to resource consumption by Compute Nodes in the Pool." + } + }, + "required": [ + "url", + "startTime", + "lastUpdateTime" + ], + "title": "Contains utilization and resource usage statistics for the lifetime of a Pool." + }, + "JobStatistics": { + "type": "object", + "properties": { + "url": { + "type": "string", + "title": "The URL of the statistics." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the time range covered by the statistics." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime." + }, + "userCPUTime": { + "type": "string", + "format": "duration", + "title": "The total user mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in the Job." + }, + "kernelCPUTime": { + "type": "string", + "format": "duration", + "title": "The total kernel mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in the Job." + }, + "wallClockTime": { + "type": "string", + "format": "duration", + "title": "The total wall clock time of all Tasks in the Job.", + "description": " The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If a Task was retried, this includes the wall clock time of all the Task retries." + }, + "readIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk read operations made by all Tasks in the Job." + }, + "writeIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk write operations made by all Tasks in the Job." + }, + "readIOGiB": { + "type": "number", + "format": "double", + "title": "The total amount of data in GiB read from disk by all Tasks in the Job." + }, + "writeIOGiB": { + "type": "number", + "format": "double", + "title": "The total amount of data in GiB written to disk by all Tasks in the Job." + }, + "numSucceededTasks": { + "type": "integer", + "format": "int64", + "title": "The total number of Tasks successfully completed in the Job during the given time range.", + "description": "A Task completes successfully if it returns exit code 0." + }, + "numFailedTasks": { + "type": "integer", + "format": "int64", + "title": "The total number of Tasks in the Job that failed during the given time range.", + "description": "A Task fails if it exhausts its maximum retry count without returning exit code 0." + }, + "numTaskRetries": { + "type": "integer", + "format": "int64", + "title": "The total number of retries on all the Tasks in the Job during the given time range." + }, + "waitTime": { + "type": "string", + "format": "duration", + "title": "The total wait time of all Tasks in the Job.", + "description": "The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.) This value is only reported in the Account lifetime statistics; it is not included in the Job statistics." + } + }, + "required": [ + "url", + "startTime", + "lastUpdateTime", + "userCPUTime", + "kernelCPUTime", + "wallClockTime", + "readIOps", + "writeIOps", + "readIOGiB", + "writeIOGiB", + "numSucceededTasks", + "numFailedTasks", + "numTaskRetries", + "waitTime" + ], + "title": "Resource usage statistics for a Job." + }, + "NameValuePair": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name in the name-value pair." + }, + "value": { + "type": "string", + "title": "The value in the name-value pair." + } + }, + "title": "Represents a name-value pair." + }, + "DeleteCertificateError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "title": "An identifier for the Certificate deletion error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "title": "A message describing the Certificate deletion error, intended to be suitable for display in a user interface." + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "title": "A list of additional error details related to the Certificate deletion error.", + "description": "This list includes details such as the active Pools and Compute Nodes referencing this Certificate. However, if a large number of resources reference the Certificate, the list contains only about the first hundred." + } + }, + "title": "An error encountered by the Batch service when deleting a Certificate." + }, + "Certificate": { + "type": "object", + "properties": { + "thumbprint": { + "type": "string", + "title": "The X.509 thumbprint of the Certificate. This is a sequence of up to 40 hex digits." + }, + "thumbprintAlgorithm": { + "type": "string", + "title": "The algorithm used to derive the thumbprint." + }, + "url": { + "type": "string", + "title": "The URL of the Certificate." + }, + "state": { + "title": "The current state of the Certificate.", + "$ref": "#/definitions/CertificateState" + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Certificate entered its current state." + }, + "previousState": { + "title": "The previous state of the Certificate.", + "description": "This property is not set if the Certificate is in its initial active state.", + "$ref": "#/definitions/CertificateState" + }, + "previousStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Certificate entered its previous state.", + "description": "This property is not set if the Certificate is in its initial Active state." + }, + "publicData": { + "type": "string", + "title": "The public part of the Certificate as a base-64 encoded .cer file." + }, + "deleteCertificateError": { + "$ref": "#/definitions/DeleteCertificateError", + "title": "The error that occurred on the last attempt to delete this Certificate.", + "description": "This property is set only if the Certificate is in the DeleteFailed state." + } + }, + "description": "A Certificate that can be installed on Compute Nodes and can be used to authenticate operations on the machine." + }, + "ApplicationPackageReference": { + "type": "object", + "properties": { + "applicationId": { + "type": "string", + "title": "The ID of the application to deploy.", + "description": "When creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName})." + }, + "version": { + "type": "string", + "title": "The version of the application to deploy. If omitted, the default version is deployed.", + "description": "If this is omitted on a Pool, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences and HTTP status code 409. If this is omitted on a Task, and no default version is specified for this application, the Task fails with a pre-processing error." + } + }, + "required": [ + "applicationId" + ], + "title": "A reference to an Package to be deployed to Compute Nodes." + }, + "ApplicationSummary": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the application within the Account." + }, + "displayName": { + "type": "string", + "title": "The display name for the application." + }, + "versions": { + "type": "array", + "title": "The list of available versions of the application.", + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "displayName", + "versions" + ], + "title": "Contains information about an application in an Azure Batch Account." + }, + "CertificateAddParameter": { + "type": "object", + "properties": { + "thumbprint": { + "type": "string", + "title": "The X.509 thumbprint of the Certificate. This is a sequence of up to 40 hex digits (it may include spaces but these are removed)." + }, + "thumbprintAlgorithm": { + "type": "string", + "title": "The algorithm used to derive the thumbprint. This must be sha1." + }, + "data": { + "type": "string", + "title": "The base64-encoded contents of the Certificate. The maximum size is 10KB." + }, + "certificateFormat": { + "type": "string", + "title": "The format of the Certificate data.", + "enum": [ + "pfx", + "cer" + ], + "x-ms-enum": { + "name": "CertificateFormat", + "modelAsString": false, + "values": [ + { + "value": "pfx", + "description": "The Certificate is a PFX (PKCS#12) formatted Certificate or Certificate chain." + }, + { + "value": "cer", + "description": "The Certificate is a base64-encoded X.509 Certificate." + } + ] + } + }, + "password": { + "type": "string", + "title": "The password to access the Certificate's private key.", + "description": "This must be omitted if the Certificate format is cer." + } + }, + "required": [ + "thumbprint", + "thumbprintAlgorithm", + "data" + ], + "title": "A Certificate that can be installed on Compute Nodes and can be used to authenticate operations on the machine." + }, + "CertificateListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + }, + "title": "The list of Certificates." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Certificates in the Account." + }, + "FileProperties": { + "type": "object", + "properties": { + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The file creation time.", + "description": "The creation time is not returned for files on Linux Compute Nodes." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The time at which the file was last modified." + }, + "contentLength": { + "type": "integer", + "format": "int64", + "title": "The length of the file." + }, + "contentType": { + "type": "string", + "title": "The content type of the file." + }, + "fileMode": { + "type": "string", + "title": "The file mode attribute in octal format.", + "description": "The file mode is returned only for files on Linux Compute Nodes." + } + }, + "required": [ + "lastModified", + "contentLength" + ], + "title": "The properties of a file on a Compute Node." + }, + "NodeFile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The file path." + }, + "url": { + "type": "string", + "title": "The URL of the file." + }, + "isDirectory": { + "type": "boolean", + "title": "Whether the object represents a directory." + }, + "properties": { + "$ref": "#/definitions/FileProperties", + "title": "The file properties." + } + }, + "title": "Information about a file or directory on a Compute Node." + }, + "NodeFileListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeFile" + }, + "title": "The list of files." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the files on a Compute Node, or the files associated with a Task on a Compute Node." + }, + "Schedule": { + "type": "object", + "properties": { + "doNotRunUntil": { + "type": "string", + "format": "date-time", + "title": "The earliest time at which any Job may be created under this Job Schedule.", + "description": "If you do not specify a doNotRunUntil time, the schedule becomes ready to create Jobs immediately." + }, + "doNotRunAfter": { + "type": "string", + "format": "date-time", + "title": "A time after which no Job will be created under this Job Schedule. The schedule will move to the completed state as soon as this deadline is past and there is no active Job under this Job Schedule.", + "description": "If you do not specify a doNotRunAfter time, and you are creating a recurring Job Schedule, the Job Schedule will remain active until you explicitly terminate it." + }, + "startWindow": { + "type": "string", + "format": "duration", + "title": "The time interval, starting from the time at which the schedule indicates a Job should be created, within which a Job must be created.", + "description": "If a Job is not created within the startWindow interval, then the 'opportunity' is lost; no Job will be created until the next recurrence of the schedule. If the schedule is recurring, and the startWindow is longer than the recurrence interval, then this is equivalent to an infinite startWindow, because the Job that is 'due' in one recurrenceInterval is not carried forward into the next recurrence interval. The default is infinite. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "recurrenceInterval": { + "type": "string", + "format": "duration", + "title": "The time interval between the start times of two successive Jobs under the Job Schedule. A Job Schedule can have at most one active Job under it at any given time.", + "description": "Because a Job Schedule can have at most one active Job under it at any given time, if it is time to create a new Job under a Job Schedule, but the previous Job is still running, the Batch service will not create the new Job until the previous Job finishes. If the previous Job does not finish within the startWindow period of the new recurrenceInterval, then no new Job will be scheduled for that interval. For recurring Jobs, you should normally specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will need an external process to monitor when Jobs are created, add Tasks to the Jobs and terminate the Jobs ready for the next recurrence. The default is that the schedule does not recur: one Job is created, within the startWindow after the doNotRunUntil time, and the schedule is complete as soon as that Job finishes. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + } + }, + "title": "The schedule according to which Jobs will be created. All times are fixed respective to UTC and are not impacted by daylight saving time." + }, + "JobConstraints": { + "type": "object", + "properties": { + "maxWallClockTime": { + "type": "string", + "format": "duration", + "title": "The maximum elapsed time that the Job may run, measured from the time the Job is created.", + "description": "If the Job does not complete within the time limit, the Batch service terminates it and any Tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the Job may run." + }, + "maxTaskRetryCount": { + "type": "integer", + "format": "int32", + "title": "The maximum number of times each Task may be retried. The Batch service retries a Task if its exit code is nonzero.", + "description": "Note that this value specifically controls the number of retries. The Batch service will try each Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry Tasks. If the maximum retry count is -1, the Batch service retries Tasks without limit. The default value is 0 (no retries)." + } + }, + "title": "The execution constraints for a Job." + }, + "JobNetworkConfiguration": { + "type": "object", + "properties": { + "subnetId": { + "type": "string", + "title": "The ARM resource identifier of the virtual network subnet which Compute Nodes running Tasks from the Job will join for the duration of the Task. This will only work with a VirtualMachineConfiguration Pool.", + "description": "The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes which will run Tasks from the Job. This can be up to the number of Compute Nodes in the Pool. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet so that Azure Batch service can schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication from the Azure Batch service. For Pools created with a Virtual Machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Port 443 is also required to be open for outbound connections for communications to Azure Storage. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", + "externalDocs": { + "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", + "description": "Setting up RBAC for Azure Batch VNETs" + } + } + }, + "required": [ + "subnetId" + ], + "title": "The network configuration for the Job." + }, + "TaskContainerSettings": { + "type": "object", + "properties": { + "containerRunOptions": { + "type": "string", + "title": "Additional options to the container create command.", + "description": "These additional options are supplied as arguments to the \"docker create\" command, in addition to those controlled by the Batch Service." + }, + "imageName": { + "type": "string", + "title": "The Image to use to create the container in which the Task will run.", + "description": "This is the full Image reference, as would be specified to \"docker pull\". If no tag is provided as part of the Image name, the tag \":latest\" is used as a default." + }, + "registry": { + "$ref": "#/definitions/ContainerRegistry", + "title": "The private registry which contains the container Image.", + "description": "This setting can be omitted if was already provided at Pool creation." + }, + "workingDirectory": { + "type": "string", + "title": "The location of the container Task working directory.", + "description": "The default is 'taskWorkingDirectory'.", + "enum": [ + "taskWorkingDirectory", + "containerImageDefault" + ], + "x-ms-enum": { + "name": "ContainerWorkingDirectory", + "modelAsString": false, + "values": [ + { + "value": "taskWorkingDirectory", + "description": "Use the standard Batch service Task working directory, which will contain the Task Resource Files populated by Batch." + }, + { + "value": "containerImageDefault", + "description": "Use the working directory defined in the container Image. Beware that this directory will not contain the Resource Files downloaded by Batch." + } + ] + } + } + }, + "required": [ + "imageName" + ], + "title": "The container settings for a Task." + }, + "ResourceFile": { + "type": "object", + "properties": { + "autoStorageContainerName": { + "type": "string", + "title": "The storage container name in the auto storage Account.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified." + }, + "storageContainerUrl": { + "type": "string", + "title": "The URL of the blob container within Azure Blob Storage.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable from compute nodes. There are three ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, use a managed identity with read and list permissions, or set the ACL for the container to allow public access." + }, + "httpUrl": { + "type": "string", + "title": "The URL of the file to download.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable from compute nodes. There are three ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, use a managed identity with read permission, or set the ACL for the blob or its container to allow public access." + }, + "blobPrefix": { + "type": "string", + "title": "The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded.", + "description": "The property is valid only when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded." + }, + "filePath": { + "type": "string", + "title": "The location on the Compute Node to which to download the file(s), relative to the Task's working directory.", + "description": "If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the Task's working directory (for example by using '..')." + }, + "fileMode": { + "type": "string", + "title": "The file permission mode attribute in octal format.", + "description": "This property applies only to files being downloaded to Linux Compute Nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows Compute Node. If this property is not specified for a Linux Compute Node, then a default value of 0770 is applied to the file." + }, + "identityReference": { + "title": "The reference to the user assigned identity to use to access Azure Blob Storage specified by storageContainerUrl or httpUrl", + "$ref": "#/definitions/ComputeNodeIdentityReference" + } + }, + "title": "A single file or multiple files to be downloaded to a Compute Node." + }, + "EnvironmentSetting": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the environment variable." + }, + "value": { + "type": "string", + "title": "The value of the environment variable." + } + }, + "required": [ + "name" + ], + "title": "An environment variable to be set on a Task process." + }, + "HttpHeader": { + "properties": { + "name": { + "type": "string", + "title": "The case-insensitive name of the header to be used while uploading output files" + }, + "value": { + "type": "string", + "title": "The value of the header to be used while uploading output files" + } + }, + "required": [ + "name" + ], + "title": "An HTTP header name-value pair" + }, + "ExitConditions": { + "type": "object", + "properties": { + "exitCodes": { + "type": "array", + "items": { + "$ref": "#/definitions/ExitCodeMapping" + }, + "title": "A list of individual Task exit codes and how the Batch service should respond to them." + }, + "exitCodeRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/ExitCodeRangeMapping" + }, + "title": "A list of Task exit code ranges and how the Batch service should respond to them." + }, + "preProcessingError": { + "$ref": "#/definitions/ExitOptions", + "title": "How the Batch service should respond if the Task fails to start due to an error." + }, + "fileUploadError": { + "$ref": "#/definitions/ExitOptions", + "title": "How the Batch service should respond if a file upload error occurs.", + "description": "If the Task exited with an exit code that was specified via exitCodes or exitCodeRanges, and then encountered a file upload error, then the action specified by the exit code takes precedence." + }, + "default": { + "$ref": "#/definitions/ExitOptions", + "title": "How the Batch service should respond if the Task fails with an exit condition not covered by any of the other properties.", + "description": "This value is used if the Task exits with any nonzero exit code not listed in the exitCodes or exitCodeRanges collection, with a pre-processing error if the preProcessingError property is not present, or with a file upload error if the fileUploadError property is not present. If you want non-default behavior on exit code 0, you must list it explicitly using the exitCodes or exitCodeRanges collection." + } + }, + "title": "Specifies how the Batch service should respond when the Task completes." + }, + "ExitCodeMapping": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32", + "title": "A process exit code." + }, + "exitOptions": { + "$ref": "#/definitions/ExitOptions", + "title": "How the Batch service should respond if the Task exits with this exit code." + } + }, + "title": "How the Batch service should respond if a Task exits with a particular exit code.", + "required": [ + "code", + "exitOptions" + ] + }, + "ExitCodeRangeMapping": { + "type": "object", + "properties": { + "start": { + "type": "integer", + "format": "int32", + "title": "The first exit code in the range." + }, + "end": { + "type": "integer", + "format": "int32", + "title": "The last exit code in the range." + }, + "exitOptions": { + "$ref": "#/definitions/ExitOptions", + "title": "How the Batch service should respond if the Task exits with an exit code in the range start to end (inclusive)." + } + }, + "title": "A range of exit codes and how the Batch service should respond to exit codes within that range.", + "required": [ + "start", + "end", + "exitOptions" + ] + }, + "ExitOptions": { + "type": "object", + "properties": { + "jobAction": { + "type": "string", + "title": "An action to take on the Job containing the Task, if the Task completes with the given exit condition and the Job's onTaskFailed property is 'performExitOptionsJobAction'.", + "description": "The default is none for exit code 0 and terminate for all other exit conditions. If the Job's onTaskFailed property is noaction, then specifying this property returns an error and the add Task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).", + "enum": [ + "none", + "disable", + "terminate" + ], + "x-ms-enum": { + "name": "JobAction", + "modelAsString": false, + "values": [ + { + "value": "none", + "description": "Take no action." + }, + { + "value": "disable", + "description": "Disable the Job. This is equivalent to calling the disable Job API, with a disableTasks value of requeue." + }, + { + "value": "terminate", + "description": "Terminate the Job. The terminateReason in the Job's executionInfo is set to \"TaskFailed\"." + } + ] + } + }, + "dependencyAction": { + "type": "string", + "title": "An action that the Batch service performs on Tasks that depend on this Task.", + "description": "Possible values are 'satisfy' (allowing dependent tasks to progress) and 'block' (dependent tasks continue to wait). Batch does not yet support cancellation of dependent tasks.", + "enum": [ + "satisfy", + "block" + ], + "x-ms-enum": { + "name": "DependencyAction", + "modelAsString": false, + "values": [ + { + "value": "satisfy", + "description": "Satisfy tasks waiting on this task; once all dependencies are satisfied, the task will be scheduled to run." + }, + { + "value": "block", + "description": "Blocks tasks waiting on this task, preventing them from being scheduled." + } + ] + } + } + }, + "title": "Specifies how the Batch service responds to a particular exit condition." + }, + "AutoUserSpecification": { + "type": "object", + "properties": { + "scope": { + "type": "string", + "title": "The scope for the auto user", + "description": "The default value is pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by StartTasks.", + "enum": [ + "task", + "pool" + ], + "x-ms-enum": { + "name": "AutoUserScope", + "modelAsString": false, + "values": [ + { + "value": "task", + "description": "Specifies that the service should create a new user for the Task." + }, + { + "value": "pool", + "description": "Specifies that the Task runs as the common auto user Account which is created on every Compute Node in a Pool." + } + ] + } + }, + "elevationLevel": { + "title": "The elevation level of the auto user.", + "description": "The default value is nonAdmin.", + "$ref": "#/definitions/ElevationLevel" + } + }, + "title": "Specifies the parameters for the auto user that runs a Task on the Batch service." + }, + "UserIdentity": { + "type": "object", + "properties": { + "username": { + "type": "string", + "x-ms-client-name": "userName", + "title": "The name of the user identity under which the Task is run.", + "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both." + }, + "autoUser": { + "$ref": "#/definitions/AutoUserSpecification", + "title": "The auto user under which the Task is run.", + "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both." + } + }, + "title": "The definition of the user identity under which the Task is run.", + "description": "Specify either the userName or autoUser property, but not both." + }, + "LinuxUserConfiguration": { + "type": "object", + "properties": { + "uid": { + "type": "integer", + "format": "int32", + "title": "The user ID of the user Account.", + "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid." + }, + "gid": { + "type": "integer", + "format": "int32", + "title": "The group ID for the user Account.", + "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid." + }, + "sshPrivateKey": { + "type": "string", + "title": "The SSH private key for the user Account.", + "description": "The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between Compute Nodes in a Linux Pool when the Pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between Compute Nodes (no modification of the user's .ssh directory is done)." + } + }, + "title": "Properties used to create a user Account on a Linux Compute Node." + }, + "WindowsUserConfiguration": { + "type": "object", + "properties": { + "loginMode": { + "type": "string", + "title": "The login mode for the user", + "description": "The default value for VirtualMachineConfiguration Pools is 'batch' and for CloudServiceConfiguration Pools is 'interactive'.", + "enum": [ + "batch", + "interactive" + ], + "x-ms-enum": { + "name": "LoginMode", + "modelAsString": false, + "values": [ + { + "value": "batch", + "description": "The LOGON32_LOGON_BATCH Win32 login mode. The batch login mode is recommended for long running parallel processes." + }, + { + "value": "interactive", + "description": "The LOGON32_LOGON_INTERACTIVE Win32 login mode. UAC is enabled on Windows VirtualMachineConfiguration Pools. If this option is used with an elevated user identity in a Windows VirtualMachineConfiguration Pool, the user session will not be elevated unless the application executed by the Task command line is configured to always require administrative privilege or to always require maximum privilege." + } + ] + } + } + }, + "title": "Properties used to create a user Account on a Windows Compute Node." + }, + "UserAccount": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the user Account. Names can contain any Unicode characters up to a maximum length of 20." + }, + "password": { + "type": "string", + "title": "The password for the user Account." + }, + "elevationLevel": { + "title": "The elevation level of the user Account.", + "description": "The default value is nonAdmin.", + "$ref": "#/definitions/ElevationLevel" + }, + "linuxUserConfiguration": { + "title": "The Linux-specific user configuration for the user Account.", + "description": "This property is ignored if specified on a Windows Pool. If not specified, the user is created with the default options.", + "$ref": "#/definitions/LinuxUserConfiguration" + }, + "windowsUserConfiguration": { + "title": "The Windows-specific user configuration for the user Account.", + "description": "This property can only be specified if the user is on a Windows Pool. If not specified and on a Windows Pool, the user is created with the default options.", + "$ref": "#/definitions/WindowsUserConfiguration" + } + }, + "required": [ + "name", + "password" + ], + "title": "Properties used to create a user used to execute Tasks on an Azure Batch Compute Node." + }, + "TaskConstraints": { + "type": "object", + "properties": { + "maxWallClockTime": { + "type": "string", + "format": "duration", + "title": "The maximum elapsed time that the Task may run, measured from the time the Task starts. If the Task does not complete within the time limit, the Batch service terminates it.", + "description": "If this is not specified, there is no time limit on how long the Task may run." + }, + "retentionTime": { + "type": "string", + "format": "duration", + "title": "The minimum time to retain the Task directory on the Compute Node where it ran, from the time it completes execution. After this time, the Batch service may delete the Task directory and all its contents.", + "description": "The default is 7 days, i.e. the Task directory will be retained for 7 days unless the Compute Node is removed or the Job is deleted." + }, + "maxTaskRetryCount": { + "type": "integer", + "format": "int32", + "title": "The maximum number of times the Task may be retried. The Batch service retries a Task if its exit code is nonzero.", + "description": "Note that this value specifically controls the number of retries for the Task executable due to a nonzero exit code. The Batch service will try the Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the Task after the first attempt. If the maximum retry count is -1, the Batch service retries the Task without limit, however this is not recommended for a start task or any task. The default value is 0 (no retries)." + } + }, + "title": "Execution constraints to apply to a Task." + }, + "JobManagerTask": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Job Manager Task within the Job.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters." + }, + "displayName": { + "type": "string", + "title": "The display name of the Job Manager Task.", + "description": "It need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "commandLine": { + "type": "string", + "title": "The command line of the Job Manager Task.", + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the Job Manager Task runs.", + "description": "If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the Compute Node before running the command line.", + "description": "Files listed under this element are located in the Task's working directory. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers." + }, + "outputFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/OutputFile" + }, + "title": "A list of files that the Batch service will upload from the Compute Node after running the command line.", + "description": "For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the Job Manager Task." + }, + "constraints": { + "$ref": "#/definitions/TaskConstraints", + "title": "Constraints that apply to the Job Manager Task." + }, + "requiredSlots": { + "type": "integer", + "format": "int32", + "title": "The number of scheduling slots that the Task requires to run.", + "description": "The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this property is not supported and must not be specified." + }, + "killJobOnCompletion": { + "type": "boolean", + "title": "Whether completion of the Job Manager Task signifies completion of the entire Job.", + "description": "If true, when the Job Manager Task completes, the Batch service marks the Job as complete. If any Tasks are still running at this time (other than Job Release), those Tasks are terminated. If false, the completion of the Job Manager Task does not affect the Job status. In this case, you should either use the onAllTasksComplete attribute to terminate the Job, or have a client or user terminate the Job explicitly. An example of this is if the Job Manager creates a set of Tasks but then takes no further role in their execution. The default value is true. If you are using the onAllTasksComplete and onTaskFailure attributes to control Job lifetime, and using the Job Manager Task only to create the Tasks for the Job (not to monitor progress), then it is important to set killJobOnCompletion to false." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the Job Manager Task runs.", + "description": "If omitted, the Task runs as a non-administrative user unique to the Task." + }, + "runExclusive": { + "type": "boolean", + "title": "Whether the Job Manager Task requires exclusive use of the Compute Node where it runs.", + "description": "If true, no other Tasks will run on the same Node for as long as the Job Manager is running. If false, other Tasks can run simultaneously with the Job Manager on a Compute Node. The Job Manager Task counts normally against the Compute Node's concurrent Task limit, so this is only relevant if the Compute Node allows multiple concurrent Tasks. The default value is true." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "A list of Application Packages that the Batch service will deploy to the Compute Node before running the command line.", + "description": "Application Packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced Application Package is already on the Compute Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Application Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails." + }, + "authenticationTokenSettings": { + "title": "The settings for an authentication token that the Task can use to perform Batch service operations.", + "description": "If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.", + "$ref": "#/definitions/AuthenticationTokenSettings" + }, + "allowLowPriorityNode": { + "type": "boolean", + "title": "Whether the Job Manager Task may run on a Spot/Low-priority Compute Node.", + "description": "The default value is true." + } + }, + "required": [ + "id", + "commandLine" + ], + "title": "Specifies details of a Job Manager Task.", + "description": "The Job Manager Task is automatically started when the Job is created. The Batch service tries to schedule the Job Manager Task before any other Tasks in the Job. When shrinking a Pool, the Batch service tries to preserve Nodes where Job Manager Tasks are running for as long as possible (that is, Compute Nodes running 'normal' Tasks are removed before Compute Nodes running Job Manager Tasks). When a Job Manager Task fails and needs to be restarted, the system tries to schedule it at the highest priority. If there are no idle Compute Nodes available, the system may terminate one of the running Tasks in the Pool and return it to the queue in order to make room for the Job Manager Task to restart. Note that a Job Manager Task in one Job does not have priority over Tasks in other Jobs. Across Jobs, only Job level priorities are observed. For example, if a Job Manager in a priority 0 Job needs to be restarted, it will not displace Tasks of a priority 1 Job. Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing." + }, + "JobPreparationTask": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Job Preparation Task within the Job.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobpreparation'. No other Task in the Job can have the same ID as the Job Preparation Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobPreparationTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict)." + }, + "commandLine": { + "type": "string", + "title": "The command line of the Job Preparation Task.", + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the Job Preparation Task runs.", + "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the Compute Node before running the command line.", + "description": "Files listed under this element are located in the Task's working directory. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the Job Preparation Task." + }, + "constraints": { + "$ref": "#/definitions/TaskConstraints", + "title": "Constraints that apply to the Job Preparation Task." + }, + "waitForSuccess": { + "type": "boolean", + "title": "Whether the Batch service should wait for the Job Preparation Task to complete successfully before scheduling any other Tasks of the Job on the Compute Node. A Job Preparation Task has completed successfully if it exits with exit code 0.", + "description": "If true and the Job Preparation Task fails on a Node, the Batch service retries the Job Preparation Task up to its maximum retry count (as specified in the constraints element). If the Task has still not completed successfully after all retries, then the Batch service will not schedule Tasks of the Job to the Node. The Node remains active and eligible to run Tasks of other Jobs. If false, the Batch service will not wait for the Job Preparation Task to complete. In this case, other Tasks of the Job can start executing on the Compute Node while the Job Preparation Task is still running; and even if the Job Preparation Task fails, new Tasks will continue to be scheduled on the Compute Node. The default value is true." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the Job Preparation Task runs.", + "description": "If omitted, the Task runs as a non-administrative user unique to the Task on Windows Compute Nodes, or a non-administrative user unique to the Pool on Linux Compute Nodes." + }, + "rerunOnNodeRebootAfterSuccess": { + "type": "boolean", + "title": "Whether the Batch service should rerun the Job Preparation Task after a Compute Node reboots.", + "description": "The Job Preparation Task is always rerun if a Compute Node is reimaged, or if the Job Preparation Task did not complete (e.g. because the reboot occurred while the Task was running). Therefore, you should always write a Job Preparation Task to be idempotent and to behave correctly if run multiple times. The default value is true." + } + }, + "required": [ + "commandLine" + ], + "title": "A Job Preparation Task to run before any Tasks of the Job on any given Compute Node.", + "description": "You can use Job Preparation to prepare a Node to run Tasks for the Job. Activities commonly performed in Job Preparation include: Downloading common resource files used by all the Tasks in the Job. The Job Preparation Task can download these common resource files to the shared location on the Node. (AZ_BATCH_NODE_ROOT_DIR\\shared), or starting a local service on the Node so that all Tasks of that Job can communicate with it. If the Job Preparation Task fails (that is, exhausts its retry count before exiting with exit code 0), Batch will not run Tasks of this Job on the Node. The Compute Node remains ineligible to run Tasks of this Job until it is reimaged. The Compute Node remains active and can be used for other Jobs. The Job Preparation Task can run multiple times on the same Node. Therefore, you should write the Job Preparation Task to handle re-execution. If the Node is rebooted, the Job Preparation Task is run again on the Compute Node before scheduling any other Task of the Job, if rerunOnNodeRebootAfterSuccess is true or if the Job Preparation Task did not previously complete. If the Node is reimaged, the Job Preparation Task is run again before scheduling any Task of the Job. Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing." + }, + "JobReleaseTask": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Job Release Task within the Job.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobrelease'. No other Task in the Job can have the same ID as the Job Release Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobReleaseTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict)." + }, + "commandLine": { + "type": "string", + "title": "The command line of the Job Release Task.", + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the Job Release Task runs.", + "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the Compute Node before running the command line. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.", + "description": "Files listed under this element are located in the Task's working directory." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the Job Release Task." + }, + "maxWallClockTime": { + "type": "string", + "format": "duration", + "title": "The maximum elapsed time that the Job Release Task may run on a given Compute Node, measured from the time the Task starts. If the Task does not complete within the time limit, the Batch service terminates it. The default value is 15 minutes. You may not specify a timeout longer than 15 minutes. If you do, the Batch service rejects it with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "retentionTime": { + "type": "string", + "format": "duration", + "title": "The minimum time to retain the Task directory for the Job Release Task on the Compute Node. After this time, the Batch service may delete the Task directory and all its contents.", + "description": "The default is 7 days, i.e. the Task directory will be retained for 7 days unless the Compute Node is removed or the Job is deleted." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the Job Release Task runs.", + "description": "If omitted, the Task runs as a non-administrative user unique to the Task." + } + }, + "required": [ + "commandLine" + ], + "title": "A Job Release Task to run on Job completion on any Compute Node where the Job has run.", + "description": "The Job Release Task runs when the Job ends, because of one of the following: The user calls the Terminate Job API, or the Delete Job API while the Job is still active, the Job's maximum wall clock time constraint is reached, and the Job is still active, or the Job's Job Manager Task completed, and the Job is configured to terminate when the Job Manager completes. The Job Release Task runs on each Node where Tasks of the Job have run and the Job Preparation Task ran and completed. If you reimage a Node after it has run the Job Preparation Task, and the Job ends without any further Tasks of the Job running on that Node (and hence the Job Preparation Task does not re-run), then the Job Release Task does not run on that Compute Node. If a Node reboots while the Job Release Task is still running, the Job Release Task runs again when the Compute Node starts up. The Job is not marked as complete until all Job Release Tasks have completed. The Job Release Task runs in the background. It does not occupy a scheduling slot; that is, it does not count towards the taskSlotsPerNode limit specified on the Pool." + }, + "TaskSchedulingPolicy": { + "type": "object", + "properties": { + "nodeFillType": { + "type": "string", + "title": "How Tasks are distributed across Compute Nodes in a Pool.", + "description": "If not specified, the default is spread.", + "enum": [ + "spread", + "pack" + ], + "x-ms-enum": { + "name": "ComputeNodeFillType", + "modelAsString": false, + "values": [ + { + "value": "spread", + "description": "Tasks should be assigned evenly across all Compute Nodes in the Pool." + }, + { + "value": "pack", + "description": "As many Tasks as possible (taskSlotsPerNode) should be assigned to each Compute Node in the Pool before any Tasks are assigned to the next Compute Node in the Pool." + } + ] + } + } + }, + "required": [ + "nodeFillType" + ], + "title": "Specifies how Tasks should be distributed across Compute Nodes." + }, + "StartTask": { + "type": "object", + "properties": { + "commandLine": { + "type": "string", + "title": "The command line of the StartTask.", + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the StartTask runs.", + "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the Compute Node before running the command line. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.", + "description": "Files listed under this element are located in the Task's working directory." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the StartTask." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the StartTask runs.", + "description": "If omitted, the Task runs as a non-administrative user unique to the Task." + }, + "maxTaskRetryCount": { + "type": "integer", + "format": "int32", + "title": "The maximum number of times the Task may be retried.", + "description": "The Batch service retries a Task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the Task. If the maximum retry count is -1, the Batch service retries the Task without limit, however this is not recommended for a start task or any task. The default value is 0 (no retries)." + }, + "waitForSuccess": { + "type": "boolean", + "title": "Whether the Batch service should wait for the StartTask to complete successfully (that is, to exit with exit code 0) before scheduling any Tasks on the Compute Node.", + "description": "If true and the StartTask fails on a Node, the Batch service retries the StartTask up to its maximum retry count (maxTaskRetryCount). If the Task has still not completed successfully after all retries, then the Batch service marks the Node unusable, and will not schedule Tasks to it. This condition can be detected via the Compute Node state and failure info details. If false, the Batch service will not wait for the StartTask to complete. In this case, other Tasks can start executing on the Compute Node while the StartTask is still running; and even if the StartTask fails, new Tasks will continue to be scheduled on the Compute Node. The default is true." + } + }, + "required": [ + "commandLine" + ], + "title": "A Task which is run when a Node joins a Pool in the Azure Batch service, or when the Compute Node is rebooted or reimaged.", + "description": "Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing. In some cases the StartTask may be re-run even though the Compute Node was not rebooted. Special care should be taken to avoid StartTasks which create breakaway process or install/launch services from the StartTask working directory, as this will block Batch from being able to re-run the StartTask." + }, + "CertificateReference": { + "type": "object", + "properties": { + "thumbprint": { + "type": "string", + "title": "The thumbprint of the Certificate." + }, + "thumbprintAlgorithm": { + "type": "string", + "title": "The algorithm with which the thumbprint is associated. This must be sha1." + }, + "storeLocation": { + "type": "string", + "title": "The location of the Certificate store on the Compute Node into which to install the Certificate.", + "description": "The default value is currentuser. This property is applicable only for Pools configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows Image reference). For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.", + "enum": [ + "currentuser", + "localmachine" + ], + "x-ms-enum": { + "name": "CertificateStoreLocation", + "modelAsString": false, + "values": [ + { + "value": "currentuser", + "description": "Certificates should be installed to the CurrentUser Certificate store.", + "name": "currentUser" + }, + { + "value": "localmachine", + "description": "Certificates should be installed to the LocalMachine Certificate store.", + "name": "localMachine" + } + ] + } + }, + "storeName": { + "type": "string", + "title": "The name of the Certificate store on the Compute Node into which to install the Certificate.", + "description": "This property is applicable only for Pools configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows Image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My." + }, + "visibility": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "enum": [ + "starttask", + "task", + "remoteuser" + ], + "x-ms-enum": { + "name": "CertificateVisibility", + "modelAsString": false, + "values": [ + { + "value": "starttask", + "description": "The Certificate should be visible to the user account under which the StartTask is run. Note that if AutoUser Scope is Pool for both the StartTask and a Task, this certificate will be visible to the Task as well.", + "name": "startTask" + }, + { + "value": "task", + "description": "The Certificate should be visible to the user accounts under which Job Tasks are run." + }, + { + "value": "remoteuser", + "description": "The Certificate should be visible to the user accounts under which users remotely access the Compute Node.", + "name": "remoteUser" + } + ] + } + }, + "title": "Which user Accounts on the Compute Node should have access to the private data of the Certificate.", + "description": "You can specify more than one visibility in this collection. The default is all Accounts." + } + }, + "required": [ + "thumbprint", + "thumbprintAlgorithm" + ], + "description": "Warning: This object is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.", + "title": "A reference to a Certificate to be installed on Compute Nodes in a Pool." + }, + "MetadataItem": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the metadata item." + }, + "value": { + "type": "string", + "title": "The value of the metadata item." + } + }, + "required": [ + "name", + "value" + ], + "title": "A name-value pair associated with a Batch service resource.", + "description": "The Batch service does not assign any meaning to this metadata; it is solely for the use of user code." + }, + "PoolSpecification": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "title": "The display name for the Pool.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "vmSize": { + "type": "string", + "title": "The size of the virtual machines in the Pool. All virtual machines in a Pool are the same size.", + "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)." + }, + "cloudServiceConfiguration": { + "$ref": "#/definitions/CloudServiceConfiguration", + "title": "The cloud service configuration for the Pool.", + "description": "This property must be specified if the Pool needs to be created with Azure PaaS VMs. This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'." + }, + "virtualMachineConfiguration": { + "$ref": "#/definitions/VirtualMachineConfiguration", + "title": "The virtual machine configuration for the Pool.", + "description": "This property must be specified if the Pool needs to be created with Azure IaaS VMs. This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "taskSlotsPerNode": { + "type": "integer", + "format": "int32", + "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.", + "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256." + }, + "taskSchedulingPolicy": { + "$ref": "#/definitions/TaskSchedulingPolicy", + "title": "How Tasks are distributed across Compute Nodes in a Pool.", + "description": "If not specified, the default is spread." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of Compute Nodes to the Pool.", + "description": "This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated Compute Nodes in the Pool.", + "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of Spot/Low-priority Compute Nodes in the Pool.", + "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both." + }, + "enableAutoScale": { + "type": "boolean", + "title": "Whether the Pool size should automatically adjust over time.", + "description": "If false, at least one of targetDedicatedNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula element is required. The Pool automatically resizes according to the formula. The default value is false." + }, + "autoScaleFormula": { + "type": "string", + "title": "The formula for the desired number of Compute Nodes in the Pool.", + "description": "This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the Pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information." + }, + "autoScaleEvaluationInterval": { + "type": "string", + "format": "duration", + "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.", + "description": "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "enableInterNodeCommunication": { + "type": "boolean", + "title": "Whether the Pool permits direct communication between Compute Nodes.", + "description": "Enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false." + }, + "networkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration", + "title": "The network configuration for the Pool." + }, + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted." + }, + "certificateReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "A list of Certificates to be installed on each Compute Node in the Pool.", + "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.\n\nWarning: This property is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "The list of Packages to be installed on each Compute Node in the Pool.", + "description": "When creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool." + }, + "applicationLicenses": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.", + "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail. The permitted licenses available on the Pool are 'maya', 'vray', '3dsmax', 'arnold'. An additional charge applies for each application license added to the Pool." + }, + "userAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/UserAccount" + }, + "title": "The list of user Accounts to be created on each Compute Node in the Pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Pool as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "mountConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/MountConfiguration" + }, + "title": "A list of file systems to mount on each node in the pool.", + "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse." + }, + "targetNodeCommunicationMode": { + "title": "The desired node communication mode for the pool.", + "description": "If omitted, the default value is Default.", + "$ref": "#/definitions/NodeCommunicationMode" + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "The user-specified tags associated with the pool.", + "description": "The user-defined tags to be associated with the Azure Batch Pool. When specified, these tags are propagated to the backing Azure resources associated with the pool. This property can only be specified when the Batch account was created with the poolAllocationMode property set to 'UserSubscription'." + } + }, + "required": [ + "vmSize" + ], + "title": "Specification for creating a new Pool." + }, + "AutoPoolSpecification": { + "type": "object", + "properties": { + "autoPoolIdPrefix": { + "type": "string", + "title": "A prefix to be added to the unique identifier when a Pool is automatically created.", + "description": "The Batch service assigns each auto Pool a unique identifier on creation. To distinguish between Pools created for different purposes, you can specify this element to add a prefix to the ID that is assigned. The prefix can be up to 20 characters long." + }, + "poolLifetimeOption": { + "type": "string", + "title": "The minimum lifetime of created auto Pools, and how multiple Jobs on a schedule are assigned to Pools.", + "enum": [ + "jobschedule", + "job" + ], + "x-ms-enum": { + "name": "PoolLifetimeOption", + "modelAsString": false, + "values": [ + { + "value": "jobschedule", + "description": "The Pool exists for the lifetime of the Job Schedule. The Batch Service creates the Pool when it creates the first Job on the schedule. You may apply this option only to Job Schedules, not to Jobs.", + "name": "jobSchedule" + }, + { + "value": "job", + "description": "The Pool exists for the lifetime of the Job to which it is dedicated. The Batch service creates the Pool when it creates the Job. If the 'job' option is applied to a Job Schedule, the Batch service creates a new auto Pool for every Job created on the schedule." + } + ] + } + }, + "keepAlive": { + "type": "boolean", + "title": "Whether to keep an auto Pool alive after its lifetime expires.", + "description": "If false, the Batch service deletes the Pool once its lifetime (as determined by the poolLifetimeOption setting) expires; that is, when the Job or Job Schedule completes. If true, the Batch service does not delete the Pool automatically. It is up to the user to delete auto Pools created with this option." + }, + "pool": { + "$ref": "#/definitions/PoolSpecification", + "title": "The Pool specification for the auto Pool." + } + }, + "required": [ + "poolLifetimeOption" + ], + "title": "Specifies characteristics for a temporary 'auto pool'. The Batch service will create this auto Pool when the Job is submitted." + }, + "PoolInformation": { + "type": "object", + "properties": { + "poolId": { + "type": "string", + "title": "The ID of an existing Pool. All the Tasks of the Job will run on the specified Pool.", + "description": "You must ensure that the Pool referenced by this property exists. If the Pool does not exist at the time the Batch service tries to schedule a Job, no Tasks for the Job will run until you create a Pool with that id. Note that the Batch service will not reject the Job request; it will simply not run Tasks until the Pool exists. You must specify either the Pool ID or the auto Pool specification, but not both." + }, + "autoPoolSpecification": { + "$ref": "#/definitions/AutoPoolSpecification", + "title": "Characteristics for a temporary 'auto pool'. The Batch service will create this auto Pool when the Job is submitted.", + "description": "If auto Pool creation fails, the Batch service moves the Job to a completed state, and the Pool creation error is set in the Job's scheduling error property. The Batch service manages the lifetime (both creation and, unless keepAlive is specified, deletion) of the auto Pool. Any user actions that affect the lifetime of the auto Pool while the Job is active will result in unexpected behavior. You must specify either the Pool ID or the auto Pool specification, but not both." + } + }, + "title": "Specifies how a Job should be assigned to a Pool." + }, + "JobSpecification": { + "type": "object", + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority of Jobs created under this schedule.", + "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. This priority is used as the default for all Jobs under the Job Schedule. You can update a Job's priority after it has been created using by using the update Job API." + }, + "allowTaskPreemption": { + "type": "boolean", + "title": "Whether Tasks in this job can be preempted by other high priority jobs", + "description": "If the value is set to True, other high priority jobs submitted to the system will take precedence and will be able requeue tasks from this job. You can update a job's allowTaskPreemption after it has been created using the update job API." + }, + "maxParallelTasks": { + "type": "integer", + "format": "int32", + "default": -1, + "title": "The maximum number of tasks that can be executed in parallel for the job.", + "description": "The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API." + }, + "displayName": { + "type": "string", + "title": "The display name for Jobs created under this schedule.", + "description": "The name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "usesTaskDependencies": { + "type": "boolean", + "title": "Whether Tasks in the Job can define dependencies on each other. The default is false." + }, + "onAllTasksComplete": { + "title": "The action the Batch service should take when all Tasks in a Job created under this schedule are in the completed state.", + "description": "Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction.", + "$ref": "#/definitions/OnAllTasksComplete" + }, + "onTaskFailure": { + "title": "The action the Batch service should take when any Task fails in a Job created under this schedule. A Task is considered to have failed if it have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error.", + "description": "The default is noaction.", + "$ref": "#/definitions/OnTaskFailure" + }, + "networkConfiguration": { + "$ref": "#/definitions/JobNetworkConfiguration", + "title": "The network configuration for the Job." + }, + "constraints": { + "$ref": "#/definitions/JobConstraints", + "title": "The execution constraints for Jobs created under this schedule." + }, + "jobManagerTask": { + "$ref": "#/definitions/JobManagerTask", + "title": "The details of a Job Manager Task to be launched when a Job is started under this schedule.", + "description": "If the Job does not specify a Job Manager Task, the user must explicitly add Tasks to the Job using the Task API. If the Job does specify a Job Manager Task, the Batch service creates the Job Manager Task when the Job is created, and will try to schedule the Job Manager Task before scheduling other Tasks in the Job." + }, + "jobPreparationTask": { + "$ref": "#/definitions/JobPreparationTask", + "title": "The Job Preparation Task for Jobs created under this schedule.", + "description": "If a Job has a Job Preparation Task, the Batch service will run the Job Preparation Task on a Node before starting any Tasks of that Job on that Compute Node." + }, + "jobReleaseTask": { + "$ref": "#/definitions/JobReleaseTask", + "title": "The Job Release Task for Jobs created under this schedule.", + "description": "The primary purpose of the Job Release Task is to undo changes to Nodes made by the Job Preparation Task. Example activities include deleting local files, or shutting down services that were started as part of Job preparation. A Job Release Task cannot be specified without also specifying a Job Preparation Task for the Job. The Batch service runs the Job Release Task on the Compute Nodes that have run the Job Preparation Task." + }, + "commonEnvironmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of common environment variable settings. These environment variables are set for all Tasks in Jobs created under this schedule (including the Job Manager, Job Preparation and Job Release Tasks).", + "description": "Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value." + }, + "poolInfo": { + "$ref": "#/definitions/PoolInformation", + "title": "The Pool on which the Batch service runs the Tasks of Jobs created under this schedule." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with each Job created under this schedule as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + } + }, + "required": [ + "poolInfo" + ], + "title": "Specifies details of the Jobs to be created on a schedule." + }, + "RecentJob": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "The ID of the Job." + }, + "url": { + "type": "string", + "title": "The URL of the Job." + } + }, + "title": "Information about the most recent Job to run under the Job Schedule." + }, + "JobScheduleExecutionInformation": { + "type": "object", + "properties": { + "nextRunTime": { + "type": "string", + "format": "date-time", + "title": "The next time at which a Job will be created under this schedule.", + "description": "This property is meaningful only if the schedule is in the active state when the time comes around. For example, if the schedule is disabled, no Job will be created at nextRunTime unless the Job is enabled before then." + }, + "recentJob": { + "$ref": "#/definitions/RecentJob", + "title": "Information about the most recent Job under the Job Schedule.", + "description": "This property is present only if the at least one Job has run under the schedule." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the schedule ended.", + "description": "This property is set only if the Job Schedule is in the completed state." + } + }, + "title": "Contains information about Jobs that have been and will be run under a Job Schedule." + }, + "JobScheduleStatistics": { + "type": "object", + "properties": { + "url": { + "type": "string", + "title": "The URL of the statistics." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the time range covered by the statistics." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime." + }, + "userCPUTime": { + "type": "string", + "format": "duration", + "title": "The total user mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in all Jobs created under the schedule." + }, + "kernelCPUTime": { + "type": "string", + "format": "duration", + "title": "The total kernel mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in all Jobs created under the schedule." + }, + "wallClockTime": { + "type": "string", + "format": "duration", + "title": "The total wall clock time of all the Tasks in all the Jobs created under the schedule.", + "description": "The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If a Task was retried, this includes the wall clock time of all the Task retries." + }, + "readIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk read operations made by all Tasks in all Jobs created under the schedule." + }, + "writeIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk write operations made by all Tasks in all Jobs created under the schedule." + }, + "readIOGiB": { + "type": "number", + "format": "double", + "title": "The total gibibytes read from disk by all Tasks in all Jobs created under the schedule." + }, + "writeIOGiB": { + "type": "number", + "format": "double", + "title": "The total gibibytes written to disk by all Tasks in all Jobs created under the schedule." + }, + "numSucceededTasks": { + "type": "integer", + "format": "int64", + "title": "The total number of Tasks successfully completed during the given time range in Jobs created under the schedule. A Task completes successfully if it returns exit code 0." + }, + "numFailedTasks": { + "type": "integer", + "format": "int64", + "title": "The total number of Tasks that failed during the given time range in Jobs created under the schedule. A Task fails if it exhausts its maximum retry count without returning exit code 0." + }, + "numTaskRetries": { + "type": "integer", + "format": "int64", + "title": "The total number of retries during the given time range on all Tasks in all Jobs created under the schedule." + }, + "waitTime": { + "type": "string", + "format": "duration", + "title": "The total wait time of all Tasks in all Jobs created under the schedule. The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.)", + "description": "This value is only reported in the Account lifetime statistics; it is not included in the Job statistics." + } + }, + "required": [ + "url", + "startTime", + "lastUpdateTime", + "userCPUTime", + "kernelCPUTime", + "wallClockTime", + "readIOps", + "writeIOps", + "readIOGiB", + "writeIOGiB", + "numSucceededTasks", + "numFailedTasks", + "numTaskRetries", + "waitTime" + ], + "title": "Resource usage statistics for a Job Schedule." + }, + "CloudJobSchedule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the schedule within the Account." + }, + "displayName": { + "type": "string", + "title": "The display name for the schedule." + }, + "url": { + "type": "string", + "title": "The URL of the Job Schedule." + }, + "eTag": { + "type": "string", + "title": "The ETag of the Job Schedule.", + "description": "This is an opaque string. You can use it to detect whether the Job Schedule has changed between requests. In particular, you can be pass the ETag with an Update Job Schedule request to specify that your changes should take effect only if nobody else has modified the schedule in the meantime." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the Job Schedule.", + "description": "This is the last time at which the schedule level data, such as the Job specification or recurrence information, changed. It does not factor in job-level changes such as new Jobs being created or Jobs changing state." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The creation time of the Job Schedule." + }, + "state": { + "title": "The current state of the Job Schedule.", + "$ref": "#/definitions/JobScheduleState" + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Job Schedule entered the current state." + }, + "previousState": { + "title": "The previous state of the Job Schedule.", + "description": "This property is not present if the Job Schedule is in its initial active state.", + "$ref": "#/definitions/JobScheduleState" + }, + "previousStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Job Schedule entered its previous state.", + "description": "This property is not present if the Job Schedule is in its initial active state." + }, + "schedule": { + "$ref": "#/definitions/Schedule", + "title": "The schedule according to which Jobs will be created.", + "description": "All times are fixed respective to UTC and are not impacted by daylight saving time." + }, + "jobSpecification": { + "$ref": "#/definitions/JobSpecification", + "title": "The details of the Jobs to be created on this schedule." + }, + "executionInfo": { + "$ref": "#/definitions/JobScheduleExecutionInformation", + "title": "Information about Jobs that have been and will be run under this schedule." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the schedule as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "stats": { + "$ref": "#/definitions/JobScheduleStatistics", + "title": "The lifetime resource usage statistics for the Job Schedule. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes." + } + }, + "title": "A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a specification used to create each Job." + }, + "JobScheduleAddParameter": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the schedule within the Account.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)." + }, + "displayName": { + "type": "string", + "title": "The display name for the schedule.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "schedule": { + "$ref": "#/definitions/Schedule", + "title": "The schedule according to which Jobs will be created.", + "description": "All times are fixed respective to UTC and are not impacted by daylight saving time." + }, + "jobSpecification": { + "$ref": "#/definitions/JobSpecification", + "title": "The details of the Jobs to be created on this schedule." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the schedule as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + } + }, + "required": [ + "id", + "schedule", + "jobSpecification" + ], + "title": "A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a specification used to create each Job." + }, + "CloudJobScheduleListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudJobSchedule" + }, + "title": "The list of Job Schedules." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Job Schedules in an Account." + }, + "JobSchedulingError": { + "type": "object", + "properties": { + "category": { + "title": "The category of the Job scheduling error.", + "$ref": "#/definitions/ErrorCategory" + }, + "code": { + "type": "string", + "title": "An identifier for the Job scheduling error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "title": "A message describing the Job scheduling error, intended to be suitable for display in a user interface." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "title": "A list of additional error details related to the scheduling error." + } + }, + "required": [ + "category" + ], + "title": "An error encountered by the Batch service when scheduling a Job." + }, + "JobExecutionInformation": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the Job.", + "description": "This is the time at which the Job was created." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The completion time of the Job.", + "description": "This property is set only if the Job is in the completed state." + }, + "poolId": { + "type": "string", + "title": "The ID of the Pool to which this Job is assigned.", + "description": "This element contains the actual Pool where the Job is assigned. When you get Job details from the service, they also contain a poolInfo element, which contains the Pool configuration data from when the Job was added or updated. That poolInfo element may also contain a poolId element. If it does, the two IDs are the same. If it does not, it means the Job ran on an auto Pool, and this property contains the ID of that auto Pool." + }, + "schedulingError": { + "$ref": "#/definitions/JobSchedulingError", + "title": "Details of any error encountered by the service in starting the Job.", + "description": "This property is not set if there was no error starting the Job." + }, + "terminateReason": { + "type": "string", + "title": "A string describing the reason the Job ended.", + "description": "This property is set only if the Job is in the completed state. If the Batch service terminates the Job, it sets the reason as follows: JMComplete - the Job Manager Task completed, and killJobOnCompletion was set to true. MaxWallClockTimeExpiry - the Job reached its maxWallClockTime constraint. TerminateJobSchedule - the Job ran as part of a schedule, and the schedule terminated. AllTasksComplete - the Job's onAllTasksComplete attribute is set to terminatejob, and all Tasks in the Job are complete. TaskFailed - the Job's onTaskFailure attribute is set to performExitOptionsJobAction, and a Task in the Job failed with an exit condition that specified a jobAction of terminatejob. Any other string is a user-defined reason specified in a call to the 'Terminate a Job' operation." + } + }, + "required": [ + "startTime" + ], + "title": "Contains information about the execution of a Job in the Azure Batch service." + }, + "CloudJob": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Job within the Account.", + "description": "The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)." + }, + "displayName": { + "type": "string", + "title": "The display name for the Job." + }, + "usesTaskDependencies": { + "type": "boolean", + "title": "Whether Tasks in the Job can define dependencies on each other. The default is false." + }, + "url": { + "type": "string", + "title": "The URL of the Job." + }, + "eTag": { + "type": "string", + "title": "The ETag of the Job.", + "description": "This is an opaque string. You can use it to detect whether the Job has changed between requests. In particular, you can be pass the ETag when updating a Job to specify that your changes should take effect only if nobody else has modified the Job in the meantime." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the Job.", + "description": "This is the last time at which the Job level data, such as the Job state or priority, changed. It does not factor in task-level changes such as adding new Tasks or Tasks changing state." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The creation time of the Job." + }, + "state": { + "title": "The current state of the Job.", + "$ref": "#/definitions/JobState" + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Job entered its current state." + }, + "previousState": { + "title": "The previous state of the Job.", + "description": "This property is not set if the Job is in its initial Active state.", + "$ref": "#/definitions/JobState" + }, + "previousStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Job entered its previous state.", + "description": "This property is not set if the Job is in its initial Active state." + }, + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority of the Job.", + "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0." + }, + "allowTaskPreemption": { + "type": "boolean", + "title": "Whether Tasks in this job can be preempted by other high priority jobs", + "description": "If the value is set to True, other high priority jobs submitted to the system will take precedence and will be able requeue tasks from this job. You can update a job's allowTaskPreemption after it has been created using the update job API." + }, + "maxParallelTasks": { + "type": "integer", + "format": "int32", + "default": -1, + "title": "The maximum number of tasks that can be executed in parallel for the job.", + "description": "The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API." + }, + "constraints": { + "$ref": "#/definitions/JobConstraints", + "title": "The execution constraints for the Job." + }, + "jobManagerTask": { + "$ref": "#/definitions/JobManagerTask", + "title": "Details of a Job Manager Task to be launched when the Job is started." + }, + "jobPreparationTask": { + "$ref": "#/definitions/JobPreparationTask", + "title": "The Job Preparation Task.", + "description": "The Job Preparation Task is a special Task run on each Compute Node before any other Task of the Job." + }, + "jobReleaseTask": { + "$ref": "#/definitions/JobReleaseTask", + "title": "The Job Release Task.", + "description": "The Job Release Task is a special Task run at the end of the Job on each Compute Node that has run any other Task of the Job." + }, + "commonEnvironmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "The list of common environment variable settings. These environment variables are set for all Tasks in the Job (including the Job Manager, Job Preparation and Job Release Tasks).", + "description": "Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value." + }, + "poolInfo": { + "$ref": "#/definitions/PoolInformation", + "title": "The Pool settings associated with the Job." + }, + "onAllTasksComplete": { + "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.", + "description": "The default is noaction.", + "$ref": "#/definitions/OnAllTasksComplete" + }, + "onTaskFailure": { + "title": "The action the Batch service should take when any Task in the Job fails.", + "description": "A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.", + "$ref": "#/definitions/OnTaskFailure" + }, + "networkConfiguration": { + "$ref": "#/definitions/JobNetworkConfiguration", + "title": "The network configuration for the Job." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Job as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "executionInfo": { + "$ref": "#/definitions/JobExecutionInformation", + "title": "The execution information for the Job." + }, + "stats": { + "$ref": "#/definitions/JobStatistics", + "title": "Resource usage statistics for the entire lifetime of the Job.", + "description": "This property is populated only if the CloudJob was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes." + } + }, + "title": "An Azure Batch Job." + }, + "JobAddParameter": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Job within the Account.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)." + }, + "displayName": { + "type": "string", + "title": "The display name for the Job.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority of the Job.", + "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0." + }, + "maxParallelTasks": { + "type": "integer", + "format": "int32", + "default": -1, + "title": "The maximum number of tasks that can be executed in parallel for the job.", + "description": "The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API." + }, + "allowTaskPreemption": { + "type": "boolean", + "title": "Whether Tasks in this job can be preempted by other high priority jobs", + "description": "If the value is set to True, other high priority jobs submitted to the system will take precedence and will be able requeue tasks from this job. You can update a job's allowTaskPreemption after it has been created using the update job API." + }, + "constraints": { + "$ref": "#/definitions/JobConstraints", + "description": "The execution constraints for the Job." + }, + "jobManagerTask": { + "$ref": "#/definitions/JobManagerTask", + "title": "Details of a Job Manager Task to be launched when the Job is started.", + "description": "If the Job does not specify a Job Manager Task, the user must explicitly add Tasks to the Job. If the Job does specify a Job Manager Task, the Batch service creates the Job Manager Task when the Job is created, and will try to schedule the Job Manager Task before scheduling other Tasks in the Job. The Job Manager Task's typical purpose is to control and/or monitor Job execution, for example by deciding what additional Tasks to run, determining when the work is complete, etc. (However, a Job Manager Task is not restricted to these activities - it is a fully-fledged Task in the system and perform whatever actions are required for the Job.) For example, a Job Manager Task might download a file specified as a parameter, analyze the contents of that file and submit additional Tasks based on those contents." + }, + "jobPreparationTask": { + "$ref": "#/definitions/JobPreparationTask", + "title": "The Job Preparation Task.", + "description": "If a Job has a Job Preparation Task, the Batch service will run the Job Preparation Task on a Node before starting any Tasks of that Job on that Compute Node." + }, + "jobReleaseTask": { + "$ref": "#/definitions/JobReleaseTask", + "title": "The Job Release Task.", + "description": "A Job Release Task cannot be specified without also specifying a Job Preparation Task for the Job. The Batch service runs the Job Release Task on the Nodes that have run the Job Preparation Task. The primary purpose of the Job Release Task is to undo changes to Compute Nodes made by the Job Preparation Task. Example activities include deleting local files, or shutting down services that were started as part of Job preparation." + }, + "commonEnvironmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "The list of common environment variable settings. These environment variables are set for all Tasks in the Job (including the Job Manager, Job Preparation and Job Release Tasks).", + "description": "Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value." + }, + "poolInfo": { + "$ref": "#/definitions/PoolInformation", + "title": "The Pool on which the Batch service runs the Job's Tasks." + }, + "onAllTasksComplete": { + "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.", + "description": "Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction.", + "$ref": "#/definitions/OnAllTasksComplete" + }, + "onTaskFailure": { + "title": "The action the Batch service should take when any Task in the Job fails.", + "description": "A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.", + "$ref": "#/definitions/OnTaskFailure" + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Job as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "usesTaskDependencies": { + "type": "boolean", + "title": "Whether Tasks in the Job can define dependencies on each other. The default is false." + }, + "networkConfiguration": { + "$ref": "#/definitions/JobNetworkConfiguration", + "title": "The network configuration for the Job." + } + }, + "required": [ + "id", + "poolInfo" + ], + "title": "An Azure Batch Job to add." + }, + "CloudJobListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudJob" + }, + "title": "The list of Jobs." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Jobs in an Account." + }, + "TaskContainerExecutionInformation": { + "type": "object", + "properties": { + "containerId": { + "type": "string", + "title": "The ID of the container." + }, + "state": { + "type": "string", + "title": "The state of the container.", + "description": "This is the state of the container according to the Docker service. It is equivalent to the status field returned by \"docker inspect\"." + }, + "error": { + "type": "string", + "title": "Detailed error information about the container.", + "description": "This is the detailed error string from the Docker service, if available. It is equivalent to the error field returned by \"docker inspect\"." + } + }, + "title": "Contains information about the container which a Task is executing." + }, + "TaskFailureInformation": { + "type": "object", + "properties": { + "category": { + "title": "The category of the Task error.", + "$ref": "#/definitions/ErrorCategory" + }, + "code": { + "type": "string", + "title": "An identifier for the Task error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "title": "A message describing the Task error, intended to be suitable for display in a user interface." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "title": "A list of additional details related to the error." + } + }, + "required": [ + "category" + ], + "title": "Information about a Task failure." + }, + "JobPreparationTaskExecutionInformation": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Task started running.", + "description": "If the Task has been restarted or retried, this is the most recent time at which the Task started running." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Job Preparation Task completed.", + "description": "This property is set only if the Task is in the Completed state." + }, + "state": { + "type": "string", + "title": "The current state of the Job Preparation Task on the Compute Node.", + "enum": [ + "running", + "completed" + ], + "x-ms-enum": { + "name": "JobPreparationTaskState", + "modelAsString": false, + "values": [ + { + "value": "running", + "description": "The Task is currently running (including retrying)." + }, + { + "value": "completed", + "description": "The Task has exited with exit code 0, or the Task has exhausted its retry limit, or the Batch service was unable to start the Task due to Task preparation errors (such as resource file download failures)." + } + ] + } + }, + "taskRootDirectory": { + "type": "string", + "title": "The root directory of the Job Preparation Task on the Compute Node. You can use this path to retrieve files created by the Task, such as log files." + }, + "taskRootDirectoryUrl": { + "type": "string", + "title": "The URL to the root directory of the Job Preparation Task on the Compute Node." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "title": "The exit code of the program specified on the Task command line.", + "description": "This parameter is returned only if the Task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the Compute Node operating system, such as when a process is forcibly terminated." + }, + "containerInfo": { + "$ref": "#/definitions/TaskContainerExecutionInformation", + "title": "Information about the container under which the Task is executing.", + "description": "This property is set only if the Task runs in a container context." + }, + "failureInfo": { + "$ref": "#/definitions/TaskFailureInformation", + "title": "Information describing the Task failure, if any.", + "description": "This property is set only if the Task is in the completed state and encountered a failure." + }, + "retryCount": { + "type": "integer", + "format": "int32", + "title": "The number of times the Task has been retried by the Batch service. Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints.", + "description": "Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints." + }, + "lastRetryTime": { + "type": "string", + "format": "date-time", + "title": "The most recent time at which a retry of the Job Preparation Task started running.", + "description": "This property is set only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not." + }, + "result": { + "$ref": "#/definitions/TaskExecutionResult", + "title": "The result of the Task execution.", + "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property." + } + }, + "required": [ + "startTime", + "retryCount", + "state" + ], + "title": "Contains information about the execution of a Job Preparation Task on a Compute Node." + }, + "JobReleaseTaskExecutionInformation": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Task started running.", + "description": "If the Task has been restarted or retried, this is the most recent time at which the Task started running." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Job Release Task completed.", + "description": "This property is set only if the Task is in the Completed state." + }, + "state": { + "type": "string", + "title": "The current state of the Job Release Task on the Compute Node.", + "enum": [ + "running", + "completed" + ], + "x-ms-enum": { + "name": "JobReleaseTaskState", + "modelAsString": false, + "values": [ + { + "value": "running", + "description": "The Task is currently running (including retrying)." + }, + { + "value": "completed", + "description": "The Task has exited with exit code 0, or the Task has exhausted its retry limit, or the Batch service was unable to start the Task due to Task preparation errors (such as resource file download failures)." + } + ] + } + }, + "taskRootDirectory": { + "type": "string", + "title": "The root directory of the Job Release Task on the Compute Node. You can use this path to retrieve files created by the Task, such as log files." + }, + "taskRootDirectoryUrl": { + "type": "string", + "title": "The URL to the root directory of the Job Release Task on the Compute Node." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "title": "The exit code of the program specified on the Task command line.", + "description": "This parameter is returned only if the Task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the Compute Node operating system, such as when a process is forcibly terminated." + }, + "containerInfo": { + "$ref": "#/definitions/TaskContainerExecutionInformation", + "title": "Information about the container under which the Task is executing.", + "description": "This property is set only if the Task runs in a container context." + }, + "failureInfo": { + "$ref": "#/definitions/TaskFailureInformation", + "title": "Information describing the Task failure, if any.", + "description": "This property is set only if the Task is in the completed state and encountered a failure." + }, + "result": { + "$ref": "#/definitions/TaskExecutionResult", + "title": "The result of the Task execution.", + "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property." + } + }, + "required": [ + "startTime", + "state" + ], + "title": "Contains information about the execution of a Job Release Task on a Compute Node." + }, + "JobPreparationAndReleaseTaskExecutionInformation": { + "type": "object", + "properties": { + "poolId": { + "type": "string", + "title": "The ID of the Pool containing the Compute Node to which this entry refers." + }, + "nodeId": { + "type": "string", + "title": "The ID of the Compute Node to which this entry refers." + }, + "nodeUrl": { + "type": "string", + "title": "The URL of the Compute Node to which this entry refers." + }, + "jobPreparationTaskExecutionInfo": { + "$ref": "#/definitions/JobPreparationTaskExecutionInformation", + "title": "Information about the execution status of the Job Preparation Task on this Compute Node." + }, + "jobReleaseTaskExecutionInfo": { + "$ref": "#/definitions/JobReleaseTaskExecutionInformation", + "title": "Information about the execution status of the Job Release Task on this Compute Node.", + "description": "This property is set only if the Job Release Task has run on the Compute Node." + } + }, + "title": "The status of the Job Preparation and Job Release Tasks on a Compute Node." + }, + "CloudJobListPreparationAndReleaseTaskStatusResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/JobPreparationAndReleaseTaskExecutionInformation" + }, + "title": "A list of Job Preparation and Job Release Task execution information." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the status of the Job Preparation and Job Release Tasks for a Job." + }, + "TaskCountsResult": { + "type": "object", + "properties": { + "taskCounts": { + "$ref": "#/definitions/TaskCounts", + "title": "The number of Tasks per state." + }, + "taskSlotCounts": { + "$ref": "#/definitions/TaskSlotCounts", + "title": "The number of TaskSlots required by Tasks per state." + } + }, + "required": [ + "taskCounts", + "taskSlotCounts" + ], + "title": "The Task and TaskSlot counts for a Job." + }, + "TaskCounts": { + "type": "object", + "properties": { + "active": { + "type": "integer", + "format": "int32", + "title": "The number of Tasks in the active state." + }, + "running": { + "type": "integer", + "format": "int32", + "title": "The number of Tasks in the running or preparing state." + }, + "completed": { + "type": "integer", + "format": "int32", + "title": "The number of Tasks in the completed state." + }, + "succeeded": { + "type": "integer", + "format": "int32", + "title": "The number of Tasks which succeeded. A Task succeeds if its result (found in the executionInfo property) is 'success'." + }, + "failed": { + "type": "integer", + "format": "int32", + "title": "The number of Tasks which failed. A Task fails if its result (found in the executionInfo property) is 'failure'." + } + }, + "required": [ + "active", + "running", + "completed", + "succeeded", + "failed" + ], + "title": "The Task counts for a Job." + }, + "TaskSlotCounts": { + "type": "object", + "properties": { + "active": { + "type": "integer", + "format": "int32", + "title": "The number of TaskSlots for active Tasks." + }, + "running": { + "type": "integer", + "format": "int32", + "title": "The number of TaskSlots for running Tasks." + }, + "completed": { + "type": "integer", + "format": "int32", + "title": "The number of TaskSlots for completed Tasks." + }, + "succeeded": { + "type": "integer", + "format": "int32", + "title": "The number of TaskSlots for succeeded Tasks." + }, + "failed": { + "type": "integer", + "format": "int32", + "title": "The number of TaskSlots for failed Tasks." + } + }, + "required": [ + "active", + "running", + "completed", + "succeeded", + "failed" + ], + "title": "The TaskSlot counts for a Job." + }, + "AutoScaleRunError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "title": "An identifier for the autoscale error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "title": "A message describing the autoscale error, intended to be suitable for display in a user interface." + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "title": "A list of additional error details related to the autoscale error." + } + }, + "title": "An error that occurred when executing or evaluating a Pool autoscale formula." + }, + "AutoScaleRun": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "title": "The time at which the autoscale formula was last evaluated." + }, + "results": { + "type": "string", + "title": "The final values of all variables used in the evaluation of the autoscale formula.", + "description": "Each variable value is returned in the form $variable=value, and variables are separated by semicolons." + }, + "error": { + "$ref": "#/definitions/AutoScaleRunError", + "title": "Details of the error encountered evaluating the autoscale formula on the Pool, if the evaluation was unsuccessful." + } + }, + "required": [ + "timestamp" + ], + "title": "The results and errors from an execution of a Pool autoscale formula." + }, + "ResizeError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "title": "An identifier for the Pool resize error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "title": "A message describing the Pool resize error, intended to be suitable for display in a user interface." + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "title": "A list of additional error details related to the Pool resize error." + } + }, + "title": "An error that occurred when resizing a Pool." + }, + "CloudServiceConfiguration": { + "type": "object", + "properties": { + "osFamily": { + "type": "string", + "title": "The Azure Guest OS family to be installed on the virtual machines in the Pool.", + "description": "Possible values are:\n2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1.\n3 - OS Family 3, equivalent to Windows Server 2012.\n4 - OS Family 4, equivalent to Windows Server 2012 R2.\n5 - OS Family 5, equivalent to Windows Server 2016.\n6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)." + }, + "osVersion": { + "type": "string", + "title": "The Azure Guest OS version to be installed on the virtual machines in the Pool.", + "description": "The default value is * which specifies the latest operating system version for the specified OS family." + } + }, + "required": [ + "osFamily" + ], + "title": "The configuration for Compute Nodes in a Pool based on the Azure Cloud Services platform." + }, + "ImageReference": { + "type": "object", + "properties": { + "publisher": { + "type": "string", + "title": "The publisher of the Azure Virtual Machines Marketplace Image.", + "description": "For example, Canonical or MicrosoftWindowsServer." + }, + "offer": { + "type": "string", + "title": "The offer type of the Azure Virtual Machines Marketplace Image.", + "description": "For example, UbuntuServer or WindowsServer." + }, + "sku": { + "type": "string", + "title": "The SKU of the Azure Virtual Machines Marketplace Image.", + "description": "For example, 18.04-LTS or 2019-Datacenter." + }, + "version": { + "type": "string", + "title": "The version of the Azure Virtual Machines Marketplace Image.", + "description": "A value of 'latest' can be specified to select the latest version of an Image. If omitted, the default is 'latest'." + }, + "virtualMachineImageId": { + "type": "string", + "title": "The ARM resource identifier of the Azure Compute Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{VersionId} or /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName} for always defaulting to the latest image version.", + "description": "This property is mutually exclusive with other ImageReference properties. The Azure Compute Gallery Image must have replicas in the same region and must be in the same subscription as the Azure Batch account. If the image version is not specified in the imageId, the latest version will be used. For information about the firewall settings for the Batch Compute Node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration." + }, + "exactVersion": { + "type": "string", + "readOnly": true, + "description": "The specific version of the platform image or marketplace image used to create the node. This read-only field differs from 'version' only if the value specified for 'version' when the pool was created was 'latest'." + } + }, + "title": "A reference to an Azure Virtual Machines Marketplace Image or a Azure Compute Gallery Image. To get the list of all Azure Marketplace Image references verified by Azure Batch, see the 'List Supported Images' operation." + }, + "WindowsConfiguration": { + "type": "object", + "properties": { + "enableAutomaticUpdates": { + "type": "boolean", + "title": "Whether automatic updates are enabled on the virtual machine.", + "description": "If omitted, the default value is true." + } + }, + "title": "Windows operating system settings to apply to the virtual machine." + }, + "DataDisk": { + "type": "object", + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "title": "The logical unit number.", + "description": "The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive." + }, + "caching": { + "$ref": "#/definitions/CachingType", + "title": "The type of caching to be enabled for the data disks.", + "description": "The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "title": "The initial disk size in gigabytes." + }, + "storageAccountType": { + "title": "The storage Account type to be used for the data disk.", + "description": "If omitted, the default is \"standard_lrs\".", + "$ref": "#/definitions/StorageAccountType" + } + }, + "required": [ + "lun", + "diskSizeGB" + ], + "title": "Settings which will be used by the data disks associated to Compute Nodes in the Pool. When using attached data disks, you need to mount and format the disks from within a VM to use them." + }, + "StorageAccountType": { + "type": "string", + "title": "The storage Account type for use in creating data disks or OS disk.", + "enum": [ + "standard_lrs", + "premium_lrs", + "standardssd_lrs" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": false, + "values": [ + { + "value": "standard_lrs", + "description": "The data disk / OS disk should use standard locally redundant storage.", + "name": "StandardLRS" + }, + { + "value": "premium_lrs", + "description": "The data disk / OS disk should use premium locally redundant storage.", + "name": "PremiumLRS" + }, + { + "value": "standardssd_lrs", + "description": "The data disk / OS disk should use standard SSD locally redundant storage.", + "name": "StandardSSDLRS" + } + ] + } + }, + "CachingType": { + "type": "string", + "title": "The type of caching to enable for the disk.", + "description": "The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.", + "enum": [ + "none", + "readonly", + "readwrite" + ], + "x-ms-enum": { + "name": "CachingType", + "modelAsString": false, + "values": [ + { + "value": "none", + "description": "The caching mode for the disk is not enabled." + }, + { + "value": "readonly", + "description": "The caching mode for the disk is read only.", + "name": "readOnly" + }, + { + "value": "readwrite", + "description": "The caching mode for the disk is read and write.", + "name": "readWrite" + } + ] + } + }, + "ServiceArtifactReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "The service artifact reference id of ServiceArtifactReference", + "description": "The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}" + } + }, + "required": [ + "id" + ], + "description": "Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version." + }, + "VirtualMachineConfiguration": { + "type": "object", + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "title": "A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine Image to use." + }, + "nodeAgentSKUId": { + "type": "string", + "title": "The SKU of the Batch Compute Node agent to be provisioned on Compute Nodes in the Pool.", + "description": "The Batch Compute Node agent is a program that runs on each Compute Node in the Pool, and provides the command-and-control interface between the Compute Node and the Batch service. There are different implementations of the Compute Node agent, known as SKUs, for different operating systems. You must specify a Compute Node agent SKU which matches the selected Image reference. To get the list of supported Compute Node agent SKUs along with their list of verified Image references, see the 'List supported Compute Node agent SKUs' operation." + }, + "windowsConfiguration": { + "$ref": "#/definitions/WindowsConfiguration", + "title": "Windows operating system settings on the virtual machine.", + "description": "This property must not be specified if the imageReference property specifies a Linux OS Image." + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + }, + "title": "The configuration for data disks attached to the Compute Nodes in the Pool.", + "description": "This property must be specified if the Compute Nodes in the Pool need to have empty data disks attached to them. This cannot be updated. Each Compute Node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the Compute Node is removed from the Pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine." + }, + "licenseType": { + "type": "string", + "title": "The type of on-premises license to be used when deploying the operating system.", + "description": "This only applies to Images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the Compute Nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:\n\n Windows_Server - The on-premises license is for Windows Server.\n Windows_Client - The on-premises license is for Windows Client.\n" + }, + "containerConfiguration": { + "$ref": "#/definitions/ContainerConfiguration", + "title": "The container configuration for the Pool.", + "description": "If specified, setup is performed on each Compute Node in the Pool to allow Tasks to run in containers. All regular Tasks and Job manager Tasks run on this Pool must specify the containerSettings property, and all other Tasks may specify it." + }, + "diskEncryptionConfiguration": { + "$ref": "#/definitions/DiskEncryptionConfiguration", + "title": "The disk encryption configuration for the pool.", + "description": "If specified, encryption is performed on each node in the pool during node provisioning." + }, + "nodePlacementConfiguration": { + "$ref": "#/definitions/NodePlacementConfiguration", + "title": "The node placement configuration for the pool.", + "description": "This configuration will specify rules on how nodes in the pool will be physically allocated." + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/VMExtension" + }, + "title": "The virtual machine extension for the pool.", + "description": "If specified, the extensions mentioned in this configuration will be installed on each node." + }, + "osDisk": { + "$ref": "#/definitions/OSDisk", + "title": "Settings for the operating system disk of the Virtual Machine." + }, + "securityProfile": { + "$ref": "#/definitions/SecurityProfile", + "title": "Specifies the security profile settings for the virtual machine or virtual machine scale set." + }, + "serviceArtifactReference": { + "$ref": "#/definitions/ServiceArtifactReference", + "title": "Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version.", + "description": "The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}" + } + }, + "required": [ + "nodeAgentSKUId", + "imageReference" + ], + "title": "The configuration for Compute Nodes in a Pool based on the Azure Virtual Machines infrastructure." + }, + "ContainerRegistry": { + "type": "object", + "properties": { + "username": { + "type": "string", + "x-ms-client-name": "userName", + "title": "The user name to log into the registry server." + }, + "password": { + "type": "string", + "title": "The password to log into the registry server." + }, + "registryServer": { + "type": "string", + "title": "The registry URL.", + "description": "If omitted, the default is \"docker.io\"." + }, + "identityReference": { + "title": "The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password.", + "$ref": "#/definitions/ComputeNodeIdentityReference" + } + }, + "title": "A private container registry." + }, + "ContainerConfiguration": { + "type": "object", + "properties": { + "type": { + "type": "string", + "title": "The container technology to be used.", + "enum": [ + "dockerCompatible", + "criCompatible" + ], + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": true, + "values": [ + { + "value": "dockerCompatible", + "description": "A Docker compatible container technology will be used to launch the containers." + }, + { + "value": "criCompatible", + "description": "A CRI based technology will be used to launch the containers." + } + ] + } + }, + "containerImageNames": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The collection of container Image names.", + "description": "This is the full Image reference, as would be specified to \"docker pull\". An Image will be sourced from the default Docker registry unless the Image is fully qualified with an alternative registry." + }, + "containerRegistries": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerRegistry" + }, + "title": "Additional private registries from which containers can be pulled.", + "description": "If any Images must be downloaded from a private registry which requires credentials, then those credentials must be provided here." + } + }, + "required": [ + "type" + ], + "title": "The configuration for container-enabled Pools." + }, + "DiskEncryptionConfiguration": { + "type": "object", + "properties": { + "targets": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "title": "A disk to encrypt.", + "enum": [ + "osdisk", + "temporarydisk" + ], + "x-ms-enum": { + "name": "DiskEncryptionTarget", + "modelAsString": false, + "values": [ + { + "value": "osdisk", + "description": "The OS Disk on the compute node is encrypted.", + "name": "OsDisk" + }, + { + "value": "temporarydisk", + "description": "The temporary disk on the compute node is encrypted. On Linux this encryption applies to other partitions (such as those on mounted data disks) when encryption occurs at boot time.", + "name": "TemporaryDisk" + } + ] + } + }, + "title": "The list of disk targets Batch Service will encrypt on the compute node.", + "description": "If omitted, no disks on the compute nodes in the pool will be encrypted. On Linux pool, only \"TemporaryDisk\" is supported; on Windows pool, \"OsDisk\" and \"TemporaryDisk\" must be specified." + } + }, + "description": "The disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Azure Compute Gallery Image." + }, + "NodePlacementPolicyType": { + "type": "string", + "title": "The placement policy for allocating nodes in the pool.", + "description": "The default value is regional.", + "enum": [ + "regional", + "zonal" + ], + "x-ms-enum": { + "name": "NodePlacementPolicyType", + "modelAsString": false, + "values": [ + { + "value": "regional", + "description": "All nodes in the pool will be allocated in the same region.", + "name": "regional" + }, + { + "value": "zonal", + "description": "Nodes in the pool will be spread across different availability zones with best effort balancing.", + "name": "zonal" + } + ] + } + }, + "NodePlacementConfiguration": { + "type": "object", + "title": "Node placement configuration for a pool.", + "description": "For regional placement, nodes in the pool will be allocated in the same region. For zonal placement, nodes in the pool will be spread across different zones with best effort balancing.", + "properties": { + "policy": { + "$ref": "#/definitions/NodePlacementPolicyType", + "title": "Node placement Policy type on Batch Pools.", + "description": "Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy." + } + } + }, + "VMExtension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the virtual machine extension." + }, + "publisher": { + "type": "string", + "title": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "title": "The type of the extension." + }, + "typeHandlerVersion": { + "type": "string", + "title": "The version of script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "enableAutomaticUpgrade": { + "type": "boolean", + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "settings": { + "type": "object", + "title": "JSON formatted public settings for the extension." + }, + "protectedSettings": { + "x-ms-secret": true, + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. " + }, + "provisionAfterExtensions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The collection of extension names.", + "description": "Collection of extension names after which this extension needs to be provisioned." + } + }, + "required": [ + "name", + "publisher", + "type" + ], + "title": "The configuration for virtual machine extensions." + }, + "InstanceViewStatus": { + "type": "object", + "properties": { + "code": { + "type": "string", + "title": "The status code." + }, + "displayStatus": { + "type": "string", + "title": "The localized label for the status." + }, + "level": { + "type": "string", + "title": "Level code.", + "enum": [ + "Error", + "Info", + "Warning" + ], + "x-ms-enum": { + "name": "StatusLevelTypes", + "modelAsString": false, + "values": [ + { + "value": "Error" + }, + { + "value": "Info" + }, + { + "value": "Warning" + } + ] + } + }, + "message": { + "type": "string", + "title": "The detailed status message." + }, + "time": { + "type": "string", + "description": "The time of the status." + } + }, + "title": "The instance view status." + }, + "VMExtensionInstanceView": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the vm extension instance view." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + }, + "subStatuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + } + }, + "title": "The vm extension instance view." + }, + "NodeVMExtension": { + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "title": "The provisioning state of the virtual machine extension." + }, + "vmExtension": { + "$ref": "#/definitions/VMExtension", + "title": "The virtual machine extension" + }, + "instanceView": { + "$ref": "#/definitions/VMExtensionInstanceView", + "title": "The vm extension instance view." + } + }, + "title": "The configuration for virtual machine extension instance view." + }, + "NodeVMExtensionList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeVMExtension" + }, + "title": "The list of Compute Node extensions." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Compute Node extensions in a Node." + }, + "DiffDiskPlacement": { + "type": "string", + "title": "Specifies the ephemeral disk placement for operating system disk for all compute nodes (VMs) in the pool.", + "description": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements", + "enum": [ + "CacheDisk" + ], + "x-ms-enum": { + "name": "DiffDiskPlacement", + "modelAsString": false, + "values": [ + { + "value": "CacheDisk", + "description": "The Ephemeral OS Disk is stored on the VM cache.", + "name": "CacheDisk" + } + ] + } + }, + "DiffDiskSettings": { + "type": "object", + "properties": { + "placement": { + "$ref": "#/definitions/DiffDiskPlacement", + "title": "Specifies the ephemeral disk placement for operating system disk for all VMs in the pool.", + "description": "This property can be used by user in the request to choose the location e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements." + } + }, + "title": "Specifies the ephemeral Disk Settings for the operating system disk used by the compute node (VM)." + }, + "OSDisk": { + "type": "object", + "properties": { + "ephemeralOSDiskSettings": { + "$ref": "#/definitions/DiffDiskSettings", + "title": "Specifies the ephemeral Disk Settings for the operating system disk used by the compute node (VM)." + }, + "caching": { + "$ref": "#/definitions/CachingType", + "title": "Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The default values are: None for Standard storage. ReadOnly for Premium storage." + }, + "managedDisk": { + "$ref": "#/definitions/ManagedDisk", + "title": "The managed disk parameters." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "title": "The initial disk size in GB when creating new OS disk." + }, + "writeAcceleratorEnabled": { + "type": "boolean", + "title": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + } + }, + "title": "Settings for the operating system disk of the compute node (VM)." + }, + "IPAddressProvisioningType": { + "type": "string", + "title": "The provisioning type for Public IP Addresses for the Pool.", + "enum": [ + "batchmanaged", + "usermanaged", + "nopublicipaddresses" + ], + "x-ms-enum": { + "name": "IPAddressProvisioningType", + "modelAsString": false, + "values": [ + { + "value": "batchmanaged", + "description": "A public IP will be created and managed by Batch. There may be multiple public IPs depending on the size of the Pool.", + "name": "batchManaged" + }, + { + "value": "usermanaged", + "description": "Public IPs are provided by the user and will be used to provision the Compute Nodes.", + "name": "userManaged" + }, + { + "value": "nopublicipaddresses", + "description": "No public IP Address will be created.", + "name": "noPublicIPAddresses" + } + ] + } + }, + "PublicIPAddressConfiguration": { + "type": "object", + "properties": { + "provision": { + "$ref": "#/definitions/IPAddressProvisioningType", + "title": "The provisioning type for Public IP Addresses for the Pool.", + "description": "The default value is BatchManaged." + }, + "ipAddressIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of public IPs which the Batch service will use when provisioning Compute Nodes.", + "description": "The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 Spot/Low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}." + } + }, + "description": "The public IP Address configuration of the networking configuration of a Pool." + }, + "NetworkConfiguration": { + "type": "object", + "properties": { + "subnetId": { + "type": "string", + "title": "The ARM resource identifier of the virtual network subnet which the Compute Nodes of the Pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.", + "description": "The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes in the Pool. If the subnet doesn't have enough free IP addresses, the Pool will partially allocate Nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. For Pools created with virtualMachineConfiguration only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported, but for Pools created with cloudServiceConfiguration both ARM and classic virtual networks are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For Pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For Pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", + "externalDocs": { + "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", + "description": "Setting up RBAC for Azure Batch VNETs" + } + }, + "dynamicVNetAssignmentScope": { + "type": "string", + "title": "The scope of dynamic vnet assignment.", + "enum": [ + "none", + "job" + ], + "x-ms-enum": { + "name": "DynamicVNetAssignmentScope", + "modelAsString": false, + "values": [ + { + "value": "none", + "description": "No dynamic VNet assignment is enabled." + }, + { + "value": "job", + "description": "Dynamic VNet assignment is done per-job." + } + ] + } + }, + "endpointConfiguration": { + "$ref": "#/definitions/PoolEndpointConfiguration", + "title": "The configuration for endpoints on Compute Nodes in the Batch Pool.", + "description": "Pool endpoint configuration is only supported on Pools with the virtualMachineConfiguration property." + }, + "publicIPAddressConfiguration": { + "$ref": "#/definitions/PublicIPAddressConfiguration", + "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool.", + "description": "Public IP configuration property is only supported on Pools with the virtualMachineConfiguration property." + }, + "enableAcceleratedNetworking": { + "type": "boolean", + "title": "Whether this pool should enable accelerated networking.", + "description": "Accelerated networking enables single root I/O virtualization (SR-IOV) to a VM, which may lead to improved networking performance. For more details, see: https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview.", + "externalDocs": { + "url": "https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview", + "description": "Create a VM with Accelerated Networking." + } + } + }, + "description": "The network configuration for a Pool." + }, + "NodeCommunicationMode": { + "type": "string", + "title": "Determines how a pool communicates with the Batch service.", + "enum": [ + "default", + "classic", + "simplified" + ], + "x-ms-enum": { + "name": "NodeCommunicationMode", + "modelAsString": false, + "values": [ + { + "value": "default", + "description": "The node communication mode is automatically set by the Batch service." + }, + { + "value": "classic", + "description": "Nodes using the classic communication mode require inbound TCP communication on ports 29876 and 29877 from the \"BatchNodeManagement.{region}\" service tag and outbound TCP communication on port 443 to the \"Storage.region\" and \"BatchNodeManagement.{region}\" service tags." + }, + { + "value": "simplified", + "description": "Nodes using the simplified communication mode require outbound TCP communication on port 443 to the \"BatchNodeManagement.{region}\" service tag. No open inbound ports are required." + } + ] + } + }, + "CloudPool": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Pool within the Account.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)." + }, + "displayName": { + "type": "string", + "title": "The display name for the Pool.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "url": { + "type": "string", + "title": "The URL of the Pool." + }, + "eTag": { + "type": "string", + "title": "The ETag of the Pool.", + "description": "This is an opaque string. You can use it to detect whether the Pool has changed between requests. In particular, you can be pass the ETag when updating a Pool to specify that your changes should take effect only if nobody else has modified the Pool in the meantime." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the Pool.", + "description": "This is the last time at which the Pool level data, such as the targetDedicatedNodes or enableAutoscale settings, changed. It does not factor in node-level changes such as a Compute Node changing state." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The creation time of the Pool." + }, + "state": { + "type": "string", + "title": "The current state of the Pool.", + "enum": [ + "active", + "deleting" + ], + "x-ms-enum": { + "name": "PoolState", + "modelAsString": false, + "values": [ + { + "value": "active", + "description": "The Pool is available to run Tasks subject to the availability of Compute Nodes." + }, + { + "value": "deleting", + "description": "The user has requested that the Pool be deleted, but the delete operation has not yet completed." + } + ] + } + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Pool entered its current state." + }, + "allocationState": { + "type": "string", + "title": "Whether the Pool is resizing.", + "enum": [ + "steady", + "resizing", + "stopping" + ], + "x-ms-enum": { + "name": "AllocationState", + "modelAsString": false, + "values": [ + { + "value": "steady", + "description": "The Pool is not resizing. There are no changes to the number of Compute Nodes in the Pool in progress. A Pool enters this state when it is created and when no operations are being performed on the Pool to change the number of Compute Nodes." + }, + { + "value": "resizing", + "description": "The Pool is resizing; that is, Compute Nodes are being added to or removed from the Pool." + }, + { + "value": "stopping", + "description": "The Pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed." + } + ] + } + }, + "allocationStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Pool entered its current allocation state." + }, + "vmSize": { + "type": "string", + "title": "The size of virtual machines in the Pool. All virtual machines in a Pool are the same size.", + "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)." + }, + "cloudServiceConfiguration": { + "$ref": "#/definitions/CloudServiceConfiguration", + "title": "The cloud service configuration for the Pool.", + "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'." + }, + "virtualMachineConfiguration": { + "$ref": "#/definitions/VirtualMachineConfiguration", + "title": "The virtual machine configuration for the Pool.", + "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of Compute Nodes to the Pool.", + "description": "This is the timeout for the most recent resize operation. (The initial sizing when the Pool is created counts as a resize.) The default value is 15 minutes." + }, + "resizeErrors": { + "type": "array", + "items": { + "$ref": "#/definitions/ResizeError" + }, + "title": "A list of errors encountered while performing the last resize on the Pool.", + "description": "This property is set only if one or more errors occurred during the last Pool resize, and only when the Pool allocationState is Steady." + }, + "currentDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The number of dedicated Compute Nodes currently in the Pool." + }, + "currentLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The number of Spot/Low-priority Compute Nodes currently in the Pool.", + "description": "Spot/Low-priority Compute Nodes which have been preempted are included in this count." + }, + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated Compute Nodes in the Pool." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of Spot/Low-priority Compute Nodes in the Pool." + }, + "enableAutoScale": { + "type": "boolean", + "title": "Whether the Pool size should automatically adjust over time.", + "description": "If false, at least one of targetDedicatedNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the Pool automatically resizes according to the formula. The default value is false." + }, + "autoScaleFormula": { + "type": "string", + "title": "A formula for the desired number of Compute Nodes in the Pool.", + "description": "This property is set only if the Pool automatically scales, i.e. enableAutoScale is true." + }, + "autoScaleEvaluationInterval": { + "type": "string", + "format": "duration", + "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.", + "description": "This property is set only if the Pool automatically scales, i.e. enableAutoScale is true." + }, + "autoScaleRun": { + "$ref": "#/definitions/AutoScaleRun", + "title": "The results and errors from the last execution of the autoscale formula.", + "description": "This property is set only if the Pool automatically scales, i.e. enableAutoScale is true." + }, + "enableInterNodeCommunication": { + "type": "boolean", + "title": "Whether the Pool permits direct communication between Compute Nodes.", + "description": "This imposes restrictions on which Compute Nodes can be assigned to the Pool. Specifying this value can reduce the chance of the requested number of Compute Nodes to be allocated in the Pool." + }, + "networkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration", + "title": "The network configuration for the Pool." + }, + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A Task specified to run on each Compute Node as it joins the Pool." + }, + "certificateReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "The list of Certificates to be installed on each Compute Node in the Pool.", + "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.\n\nWarning: This property is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "The list of Packages to be installed on each Compute Node in the Pool.", + "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool." + }, + "applicationLicenses": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.", + "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail." + }, + "taskSlotsPerNode": { + "type": "integer", + "format": "int32", + "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.", + "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256." + }, + "taskSchedulingPolicy": { + "$ref": "#/definitions/TaskSchedulingPolicy", + "title": "How Tasks are distributed across Compute Nodes in a Pool.", + "description": "If not specified, the default is spread." + }, + "userAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/UserAccount" + }, + "title": "The list of user Accounts to be created on each Compute Node in the Pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Pool as metadata." + }, + "stats": { + "$ref": "#/definitions/PoolStatistics", + "title": "Utilization and resource usage statistics for the entire lifetime of the Pool.", + "description": "This property is populated only if the CloudPool was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes." + }, + "mountConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/MountConfiguration" + }, + "title": "A list of file systems to mount on each node in the pool.", + "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse." + }, + "identity": { + "title": "The identity of the Batch pool, if configured.", + "description": "The list of user identities associated with the Batch pool. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "$ref": "#/definitions/BatchPoolIdentity" + }, + "targetNodeCommunicationMode": { + "title": "The desired node communication mode for the pool.", + "description": "If omitted, the default value is Default.", + "$ref": "#/definitions/NodeCommunicationMode" + }, + "currentNodeCommunicationMode": { + "title": "The current state of the pool communication mode.", + "$ref": "#/definitions/NodeCommunicationMode", + "x-nullable": true, + "readOnly": true + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "The user-specified tags associated with the pool.", + "description": "The user-defined tags to be associated with the Azure Batch Pool. When specified, these tags are propagated to the backing Azure resources associated with the pool. This property can only be specified when the Batch account was created with the poolAllocationMode property set to 'UserSubscription'." + } + }, + "title": "A Pool in the Azure Batch service." + }, + "PoolAddParameter": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Pool within the Account.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two Pool IDs within an Account that differ only by case)." + }, + "displayName": { + "type": "string", + "title": "The display name for the Pool.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "vmSize": { + "type": "string", + "title": "The size of virtual machines in the Pool. All virtual machines in a Pool are the same size.", + "description": "For information about available sizes of virtual machines for Cloud Services Pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for Pools using Images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." + }, + "cloudServiceConfiguration": { + "$ref": "#/definitions/CloudServiceConfiguration", + "title": "The cloud service configuration for the Pool.", + "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'." + }, + "virtualMachineConfiguration": { + "$ref": "#/definitions/VirtualMachineConfiguration", + "title": "The virtual machine configuration for the Pool.", + "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of Compute Nodes to the Pool.", + "description": "This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated Compute Nodes in the Pool.", + "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of Spot/Low-priority Compute Nodes in the Pool.", + "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both." + }, + "enableAutoScale": { + "type": "boolean", + "title": "Whether the Pool size should automatically adjust over time.", + "description": "If false, at least one of targetDedicatedNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the Pool automatically resizes according to the formula. The default value is false." + }, + "autoScaleFormula": { + "type": "string", + "title": "A formula for the desired number of Compute Nodes in the Pool.", + "description": "This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the Pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale Compute Nodes in an Azure Batch Pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/)." + }, + "autoScaleEvaluationInterval": { + "type": "string", + "format": "duration", + "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.", + "description": "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "enableInterNodeCommunication": { + "type": "boolean", + "title": "Whether the Pool permits direct communication between Compute Nodes.", + "description": "Enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false." + }, + "networkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration", + "title": "The network configuration for the Pool." + }, + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A Task specified to run on each Compute Node as it joins the Pool.", + "description": "The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted." + }, + "certificateReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "The list of Certificates to be installed on each Compute Node in the Pool.", + "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.\n\nWarning: This property is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "The list of Packages to be installed on each Compute Node in the Pool.", + "description": "When creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool." + }, + "applicationLicenses": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.", + "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail." + }, + "taskSlotsPerNode": { + "type": "integer", + "format": "int32", + "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.", + "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256." + }, + "taskSchedulingPolicy": { + "$ref": "#/definitions/TaskSchedulingPolicy", + "title": "How Tasks are distributed across Compute Nodes in a Pool.", + "description": "If not specified, the default is spread." + }, + "userAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/UserAccount" + }, + "title": "The list of user Accounts to be created on each Compute Node in the Pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Pool as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "mountConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/MountConfiguration" + }, + "title": "Mount storage using specified file system for the entire lifetime of the pool.", + "description": "Mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system." + }, + "targetNodeCommunicationMode": { + "title": "The desired node communication mode for the pool.", + "description": "If omitted, the default value is Default.", + "$ref": "#/definitions/NodeCommunicationMode" + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "The user-specified tags associated with the pool.", + "description": "The user-defined tags to be associated with the Azure Batch Pool. When specified, these tags are propagated to the backing Azure resources associated with the pool. This property can only be specified when the Batch account was created with the poolAllocationMode property set to 'UserSubscription'." + } + }, + "required": [ + "id", + "vmSize" + ], + "title": "A Pool in the Azure Batch service to add." + }, + "ApplicationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationSummary" + }, + "title": "The list of applications available in the Account." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the applications available in an Account." + }, + "CloudPoolListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudPool" + }, + "title": "The list of Pools." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Pools in an Account." + }, + "AffinityInformation": { + "type": "object", + "properties": { + "affinityId": { + "type": "string", + "title": "An opaque string representing the location of a Compute Node or a Task that has run previously.", + "description": "You can pass the affinityId of a Node to indicate that this Task needs to run on that Compute Node. Note that this is just a soft affinity. If the target Compute Node is busy or unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere." + } + }, + "required": [ + "affinityId" + ], + "title": "A locality hint that can be used by the Batch service to select a Compute Node on which to start a Task." + }, + "TaskExecutionInformation": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Task started running.", + "description": "'Running' corresponds to the running state, so if the Task specifies resource files or Packages, then the start time reflects the time at which the Task started downloading or deploying these. If the Task has been restarted or retried, this is the most recent time at which the Task started running. This property is present only for Tasks that are in the running or completed state." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Task completed.", + "description": "This property is set only if the Task is in the Completed state." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "title": "The exit code of the program specified on the Task command line.", + "description": "This property is set only if the Task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the Task (due to timeout, or user termination via the API) you may see an operating system-defined exit code." + }, + "containerInfo": { + "$ref": "#/definitions/TaskContainerExecutionInformation", + "title": "Information about the container under which the Task is executing.", + "description": "This property is set only if the Task runs in a container context." + }, + "failureInfo": { + "$ref": "#/definitions/TaskFailureInformation", + "title": "Information describing the Task failure, if any.", + "description": "This property is set only if the Task is in the completed state and encountered a failure." + }, + "retryCount": { + "type": "integer", + "format": "int32", + "title": "The number of times the Task has been retried by the Batch service.", + "description": "Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints." + }, + "lastRetryTime": { + "type": "string", + "format": "date-time", + "title": "The most recent time at which a retry of the Task started running.", + "description": "This element is present only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not." + }, + "requeueCount": { + "type": "integer", + "format": "int32", + "title": "The number of times the Task has been requeued by the Batch service as the result of a user request.", + "description": "When the user removes Compute Nodes from a Pool (by resizing/shrinking the pool) or when the Job is being disabled, the user can specify that running Tasks on the Compute Nodes be requeued for execution. This count tracks how many times the Task has been requeued for these reasons." + }, + "lastRequeueTime": { + "type": "string", + "format": "date-time", + "title": "The most recent time at which the Task has been requeued by the Batch service as the result of a user request.", + "description": "This property is set only if the requeueCount is nonzero." + }, + "result": { + "$ref": "#/definitions/TaskExecutionResult", + "title": "The result of the Task execution.", + "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property." + } + }, + "required": [ + "requeueCount", + "retryCount" + ], + "title": "Information about the execution of a Task." + }, + "ComputeNodeInformation": { + "type": "object", + "properties": { + "affinityId": { + "type": "string", + "title": "An identifier for the Node on which the Task ran, which can be passed when adding a Task to request that the Task be scheduled on this Compute Node." + }, + "nodeUrl": { + "type": "string", + "title": "The URL of the Compute Node on which the Task ran. " + }, + "poolId": { + "type": "string", + "title": "The ID of the Pool on which the Task ran." + }, + "nodeId": { + "type": "string", + "title": "The ID of the Compute Node on which the Task ran." + }, + "taskRootDirectory": { + "type": "string", + "title": "The root directory of the Task on the Compute Node." + }, + "taskRootDirectoryUrl": { + "type": "string", + "title": "The URL to the root directory of the Task on the Compute Node." + } + }, + "title": "Information about the Compute Node on which a Task ran." + }, + "NodeAgentInformation": { + "type": "object", + "properties": { + "version": { + "type": "string", + "title": "The version of the Batch Compute Node agent running on the Compute Node.", + "description": "This version number can be checked against the Compute Node agent release notes located at https://github.com/Azure/Batch/blob/master/changelogs/nodeagent/CHANGELOG.md." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time when the Compute Node agent was updated on the Compute Node.", + "description": "This is the most recent time that the Compute Node agent was updated to a new version." + } + }, + "required": [ + "version", + "lastUpdateTime" + ], + "title": "Information about the Compute Node agent.", + "description": "The Batch Compute Node agent is a program that runs on each Compute Node in the Pool and provides Batch capability on the Compute Node." + }, + "MultiInstanceSettings": { + "type": "object", + "properties": { + "numberOfInstances": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes required by the Task.", + "description": "If omitted, the default is 1." + }, + "coordinationCommandLine": { + "type": "string", + "title": "The command line to run on all the Compute Nodes to enable them to coordinate when the primary runs the main Task command.", + "description": "A typical coordination command line launches a background service and verifies that the service is ready to process inter-node messages." + }, + "commonResourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download before running the coordination command line.", + "description": "The difference between common resource files and Task resource files is that common resource files are downloaded for all subtasks including the primary, whereas Task resource files are downloaded only for the primary. Also note that these resource files are not downloaded to the Task working directory, but instead are downloaded to the Task root directory (one directory above the working directory). There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers." + } + }, + "required": [ + "coordinationCommandLine" + ], + "title": "Settings which specify how to run a multi-instance Task.", + "description": "Multi-instance Tasks are commonly used to support MPI Tasks. In the MPI case, if any of the subtasks fail (for example due to exiting with a non-zero exit code) the entire multi-instance Task fails. The multi-instance Task is then terminated and retried, up to its retry limit." + }, + "TaskStatistics": { + "type": "object", + "properties": { + "url": { + "type": "string", + "title": "The URL of the statistics." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the time range covered by the statistics." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime." + }, + "userCPUTime": { + "type": "string", + "format": "duration", + "title": "The total user mode CPU time (summed across all cores and all Compute Nodes) consumed by the Task." + }, + "kernelCPUTime": { + "type": "string", + "format": "duration", + "title": "The total kernel mode CPU time (summed across all cores and all Compute Nodes) consumed by the Task." + }, + "wallClockTime": { + "type": "string", + "format": "duration", + "title": "The total wall clock time of the Task.", + "description": "The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If the Task was retried, this includes the wall clock time of all the Task retries." + }, + "readIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk read operations made by the Task." + }, + "writeIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk write operations made by the Task." + }, + "readIOGiB": { + "type": "number", + "format": "double", + "title": "The total gibibytes read from disk by the Task." + }, + "writeIOGiB": { + "type": "number", + "format": "double", + "title": "The total gibibytes written to disk by the Task." + }, + "waitTime": { + "type": "string", + "format": "duration", + "title": "The total wait time of the Task. The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.)" + } + }, + "required": [ + "url", + "startTime", + "lastUpdateTime", + "userCPUTime", + "kernelCPUTime", + "wallClockTime", + "readIOps", + "writeIOps", + "readIOGiB", + "writeIOGiB", + "waitTime" + ], + "title": "Resource usage statistics for a Task." + }, + "TaskDependencies": { + "type": "object", + "properties": { + "taskIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of Task IDs that this Task depends on. All Tasks in this list must complete successfully before the dependent Task can be scheduled.", + "description": "The taskIds collection is limited to 64000 characters total (i.e. the combined length of all Task IDs). If the taskIds collection exceeds the maximum length, the Add Task request fails with error code TaskDependencyListTooLong. In this case consider using Task ID ranges instead." + }, + "taskIdRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/TaskIdRange" + }, + "title": "The list of Task ID ranges that this Task depends on. All Tasks in all ranges must complete successfully before the dependent Task can be scheduled." + } + }, + "title": "Specifies any dependencies of a Task. Any Task that is explicitly specified or within a dependency range must complete before the dependant Task will be scheduled." + }, + "TaskIdRange": { + "type": "object", + "properties": { + "start": { + "type": "integer", + "format": "int32", + "title": "The first Task ID in the range." + }, + "end": { + "type": "integer", + "format": "int32", + "title": "The last Task ID in the range." + } + }, + "title": "A range of Task IDs that a Task can depend on. All Tasks with IDs in the range must complete successfully before the dependent Task can be scheduled.", + "description": "The start and end of the range are inclusive. For example, if a range has start 9 and end 12, then it represents Tasks '9', '10', '11' and '12'.", + "required": [ + "start", + "end" + ] + }, + "CloudTask": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Task within the Job.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters." + }, + "displayName": { + "type": "string", + "title": "A display name for the Task.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "url": { + "type": "string", + "title": "The URL of the Task." + }, + "eTag": { + "type": "string", + "title": "The ETag of the Task.", + "description": "This is an opaque string. You can use it to detect whether the Task has changed between requests. In particular, you can be pass the ETag when updating a Task to specify that your changes should take effect only if nobody else has modified the Task in the meantime." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the Task." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The creation time of the Task." + }, + "exitConditions": { + "$ref": "#/definitions/ExitConditions", + "description": "How the Batch service should respond when the Task completes." + }, + "state": { + "title": "The current state of the Task.", + "$ref": "#/definitions/TaskState" + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Task entered its current state." + }, + "previousState": { + "title": "The previous state of the Task.", + "description": "This property is not set if the Task is in its initial Active state.", + "$ref": "#/definitions/TaskState" + }, + "previousStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Task entered its previous state.", + "description": "This property is not set if the Task is in its initial Active state." + }, + "commandLine": { + "type": "string", + "title": "The command line of the Task.", + "description": "For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the Task runs.", + "description": "If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the Compute Node before running the command line.", + "description": "For multi-instance Tasks, the resource files will only be downloaded to the Compute Node on which the primary Task is executed. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers." + }, + "outputFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/OutputFile" + }, + "title": "A list of files that the Batch service will upload from the Compute Node after running the command line.", + "description": "For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the Task." + }, + "affinityInfo": { + "$ref": "#/definitions/AffinityInformation", + "title": "A locality hint that can be used by the Batch service to select a Compute Node on which to start the new Task." + }, + "constraints": { + "$ref": "#/definitions/TaskConstraints", + "title": "The execution constraints that apply to this Task." + }, + "requiredSlots": { + "type": "integer", + "format": "int32", + "title": "The number of scheduling slots that the Task requires to run.", + "description": "The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this must be 1." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the Task runs.", + "description": "If omitted, the Task runs as a non-administrative user unique to the Task." + }, + "executionInfo": { + "$ref": "#/definitions/TaskExecutionInformation", + "title": "Information about the execution of the Task." + }, + "nodeInfo": { + "$ref": "#/definitions/ComputeNodeInformation", + "title": "Information about the Compute Node on which the Task ran." + }, + "multiInstanceSettings": { + "$ref": "#/definitions/MultiInstanceSettings", + "title": "An object that indicates that the Task is a multi-instance Task, and contains information about how to run the multi-instance Task." + }, + "stats": { + "$ref": "#/definitions/TaskStatistics", + "title": "Resource usage statistics for the Task." + }, + "dependsOn": { + "$ref": "#/definitions/TaskDependencies", + "title": "The Tasks that this Task depends on.", + "description": "This Task will not be scheduled until all Tasks that it depends on have completed successfully. If any of those Tasks fail and exhaust their retry counts, this Task will never be scheduled." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "A list of Packages that the Batch service will deploy to the Compute Node before running the command line.", + "description": "Application packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced package is already on the Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails." + }, + "authenticationTokenSettings": { + "title": "The settings for an authentication token that the Task can use to perform Batch service operations.", + "description": "If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.", + "$ref": "#/definitions/AuthenticationTokenSettings" + } + }, + "title": "An Azure Batch Task.", + "description": "Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing." + }, + "TaskAddParameter": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Task within the Job.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within a Job that differ only by case)." + }, + "displayName": { + "type": "string", + "title": "A display name for the Task.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "commandLine": { + "type": "string", + "title": "The command line of the Task.", + "description": "For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the Task runs.", + "description": "If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files." + }, + "exitConditions": { + "$ref": "#/definitions/ExitConditions", + "description": "How the Batch service should respond when the Task completes." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the Compute Node before running the command line.", + "description": "For multi-instance Tasks, the resource files will only be downloaded to the Compute Node on which the primary Task is executed. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers." + }, + "outputFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/OutputFile" + }, + "title": "A list of files that the Batch service will upload from the Compute Node after running the command line.", + "description": "For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the Task." + }, + "affinityInfo": { + "$ref": "#/definitions/AffinityInformation", + "title": "A locality hint that can be used by the Batch service to select a Compute Node on which to start the new Task." + }, + "constraints": { + "$ref": "#/definitions/TaskConstraints", + "title": "The execution constraints that apply to this Task.", + "description": "If you do not specify constraints, the maxTaskRetryCount is the maxTaskRetryCount specified for the Job, the maxWallClockTime is infinite, and the retentionTime is 7 days." + }, + "requiredSlots": { + "type": "integer", + "format": "int32", + "title": "The number of scheduling slots that the Task required to run.", + "description": "The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this must be 1." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the Task runs.", + "description": "If omitted, the Task runs as a non-administrative user unique to the Task." + }, + "multiInstanceSettings": { + "$ref": "#/definitions/MultiInstanceSettings", + "title": "An object that indicates that the Task is a multi-instance Task, and contains information about how to run the multi-instance Task." + }, + "dependsOn": { + "$ref": "#/definitions/TaskDependencies", + "title": "The Tasks that this Task depends on.", + "description": "This Task will not be scheduled until all Tasks that it depends on have completed successfully. If any of those Tasks fail and exhaust their retry counts, this Task will never be scheduled. If the Job does not have usesTaskDependencies set to true, and this element is present, the request fails with error code TaskDependenciesNotSpecifiedOnJob." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "A list of Packages that the Batch service will deploy to the Compute Node before running the command line.", + "description": "Application packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced package is already on the Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails." + }, + "authenticationTokenSettings": { + "title": "The settings for an authentication token that the Task can use to perform Batch service operations.", + "description": "If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.", + "$ref": "#/definitions/AuthenticationTokenSettings" + } + }, + "required": [ + "id", + "commandLine" + ], + "title": "An Azure Batch Task to add.", + "description": "Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing." + }, + "TaskAddCollectionParameter": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TaskAddParameter" + }, + "maxItems": 100, + "title": "The collection of Tasks to add. The maximum count of Tasks is 100.", + "description": "The total serialized size of this collection must be less than 1MB. If it is greater than 1MB (for example if each Task has 100's of resource files or environment variables), the request will fail with code 'RequestBodyTooLarge' and should be retried again with fewer Tasks." + } + }, + "required": [ + "value" + ], + "title": "A collection of Azure Batch Tasks to add." + }, + "TaskAddResult": { + "type": "object", + "properties": { + "status": { + "type": "string", + "title": "The status of the add Task request.", + "enum": [ + "success", + "clienterror", + "servererror" + ], + "x-ms-enum": { + "name": "TaskAddStatus", + "modelAsString": false, + "values": [ + { + "value": "success", + "description": "The Task was added successfully." + }, + { + "value": "clienterror", + "description": "The Task failed to add due to a client error and should not be retried without modifying the request as appropriate.", + "name": "clientError" + }, + { + "value": "servererror", + "description": "Task failed to add due to a server error and can be retried without modification.", + "name": "serverError" + } + ] + } + }, + "taskId": { + "type": "string", + "title": "The ID of the Task for which this is the result." + }, + "eTag": { + "type": "string", + "title": "The ETag of the Task, if the Task was successfully added.", + "description": "You can use this to detect whether the Task has changed between requests. In particular, you can be pass the ETag with an Update Task request to specify that your changes should take effect only if nobody else has modified the Job in the meantime." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the Task." + }, + "location": { + "type": "string", + "title": "The URL of the Task, if the Task was successfully added." + }, + "error": { + "$ref": "#/definitions/BatchError", + "title": "The error encountered while attempting to add the Task." + } + }, + "required": [ + "status", + "taskId" + ], + "title": "Result for a single Task added as part of an add Task collection operation." + }, + "TaskAddCollectionResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TaskAddResult" + }, + "title": "The results of the add Task collection operation." + } + }, + "title": "The result of adding a collection of Tasks to a Job." + }, + "SubtaskInformation": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "title": "The ID of the subtask." + }, + "nodeInfo": { + "$ref": "#/definitions/ComputeNodeInformation", + "title": "Information about the Compute Node on which the subtask ran." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the subtask started running. If the subtask has been restarted or retried, this is the most recent time at which the subtask started running." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the subtask completed.", + "description": "This property is set only if the subtask is in the Completed state." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "title": "The exit code of the program specified on the subtask command line.", + "description": "This property is set only if the subtask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the subtask (due to timeout, or user termination via the API) you may see an operating system-defined exit code." + }, + "containerInfo": { + "$ref": "#/definitions/TaskContainerExecutionInformation", + "title": "Information about the container under which the Task is executing.", + "description": "This property is set only if the Task runs in a container context." + }, + "failureInfo": { + "$ref": "#/definitions/TaskFailureInformation", + "title": "Information describing the Task failure, if any.", + "description": "This property is set only if the Task is in the completed state and encountered a failure." + }, + "state": { + "title": "The current state of the subtask.", + "$ref": "#/definitions/SubtaskState" + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the subtask entered its current state." + }, + "previousState": { + "title": "The previous state of the subtask.", + "description": "This property is not set if the subtask is in its initial running state.", + "$ref": "#/definitions/SubtaskState" + }, + "previousStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the subtask entered its previous state.", + "description": "This property is not set if the subtask is in its initial running state." + }, + "result": { + "$ref": "#/definitions/TaskExecutionResult", + "title": "The result of the Task execution.", + "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property." + } + }, + "title": "Information about an Azure Batch subtask." + }, + "CloudTaskListSubtasksResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SubtaskInformation" + }, + "title": "The list of subtasks." + } + }, + "title": "The result of listing the subtasks of a Task." + }, + "CloudTaskListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudTask" + }, + "title": "The list of Tasks." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Tasks in a Job." + }, + "TaskInformation": { + "type": "object", + "properties": { + "taskUrl": { + "type": "string", + "title": "The URL of the Task." + }, + "jobId": { + "type": "string", + "title": "The ID of the Job to which the Task belongs." + }, + "taskId": { + "type": "string", + "title": "The ID of the Task." + }, + "subtaskId": { + "type": "integer", + "format": "int32", + "title": "The ID of the subtask if the Task is a multi-instance Task." + }, + "taskState": { + "title": "The current state of the Task.", + "$ref": "#/definitions/TaskState" + }, + "executionInfo": { + "$ref": "#/definitions/TaskExecutionInformation", + "title": "Information about the execution of the Task." + } + }, + "required": [ + "taskState" + ], + "title": "Information about a Task running on a Compute Node." + }, + "StartTaskInformation": { + "type": "object", + "properties": { + "state": { + "type": "string", + "title": "The state of the StartTask on the Compute Node.", + "enum": [ + "running", + "completed" + ], + "x-ms-enum": { + "name": "StartTaskState", + "modelAsString": false, + "values": [ + { + "value": "running", + "description": "The StartTask is currently running." + }, + { + "value": "completed", + "description": "The StartTask has exited with exit code 0, or the StartTask has failed and the retry limit has reached, or the StartTask process did not run due to Task preparation errors (such as resource file download failures)." + } + ] + } + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the StartTask started running.", + "description": "This value is reset every time the Task is restarted or retried (that is, this is the most recent time at which the StartTask started running)." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the StartTask stopped running.", + "description": "This is the end time of the most recent run of the StartTask, if that run has completed (even if that run failed and a retry is pending). This element is not present if the StartTask is currently running." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "title": "The exit code of the program specified on the StartTask command line.", + "description": "This property is set only if the StartTask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the StartTask (due to timeout, or user termination via the API) you may see an operating system-defined exit code." + }, + "containerInfo": { + "$ref": "#/definitions/TaskContainerExecutionInformation", + "title": "Information about the container under which the Task is executing.", + "description": "This property is set only if the Task runs in a container context." + }, + "failureInfo": { + "$ref": "#/definitions/TaskFailureInformation", + "title": "Information describing the Task failure, if any.", + "description": "This property is set only if the Task is in the completed state and encountered a failure." + }, + "retryCount": { + "type": "integer", + "format": "int32", + "title": "The number of times the Task has been retried by the Batch service.", + "description": "Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints." + }, + "lastRetryTime": { + "type": "string", + "format": "date-time", + "title": "The most recent time at which a retry of the Task started running.", + "description": "This element is present only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not." + }, + "result": { + "$ref": "#/definitions/TaskExecutionResult", + "title": "The result of the Task execution.", + "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property." + } + }, + "required": [ + "state", + "startTime", + "retryCount" + ], + "title": "Information about a StartTask running on a Compute Node." + }, + "ComputeNodeError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "title": "An identifier for the Compute Node error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "title": "A message describing the Compute Node error, intended to be suitable for display in a user interface." + }, + "errorDetails": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "title": "The list of additional error details related to the Compute Node error." + } + }, + "title": "An error encountered by a Compute Node." + }, + "ComputeNode": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "The ID of the Compute Node.", + "description": "Every Compute Node that is added to a Pool is assigned a unique ID. Whenever a Compute Node is removed from a Pool, all of its local files are deleted, and the ID is reclaimed and could be reused for new Compute Nodes." + }, + "url": { + "type": "string", + "title": "The URL of the Compute Node." + }, + "state": { + "type": "string", + "title": "The current state of the Compute Node.", + "description": "The Spot/Low-priority Compute Node has been preempted. Tasks which were running on the Compute Node when it was preempted will be rescheduled when another Compute Node becomes available.", + "enum": [ + "idle", + "rebooting", + "reimaging", + "running", + "unusable", + "creating", + "starting", + "waitingforstarttask", + "starttaskfailed", + "unknown", + "leavingpool", + "offline", + "preempted" + ], + "x-ms-enum": { + "name": "ComputeNodeState", + "modelAsString": false, + "values": [ + { + "value": "idle", + "description": "The Compute Node is not currently running a Task." + }, + { + "value": "rebooting", + "description": "The Compute Node is rebooting." + }, + { + "value": "reimaging", + "description": "The Compute Node is reimaging." + }, + { + "value": "running", + "description": "The Compute Node is running one or more Tasks (other than a StartTask)." + }, + { + "value": "unusable", + "description": "The Compute Node cannot be used for Task execution due to errors." + }, + { + "value": "creating", + "description": "The Batch service has obtained the underlying virtual machine from Azure Compute, but it has not yet started to join the Pool." + }, + { + "value": "starting", + "description": "The Batch service is starting on the underlying virtual machine." + }, + { + "value": "waitingforstarttask", + "description": "The StartTask has started running on the Compute Node, but waitForSuccess is set and the StartTask has not yet completed.", + "name": "waitingForStartTask" + }, + { + "value": "starttaskfailed", + "description": "The StartTask has failed on the Compute Node (and exhausted all retries), and waitForSuccess is set. The Compute Node is not usable for running Tasks.", + "name": "startTaskFailed" + }, + { + "value": "unknown", + "description": "The Batch service has lost contact with the Compute Node, and does not know its true state." + }, + { + "value": "leavingpool", + "description": "The Compute Node is leaving the Pool, either because the user explicitly removed it or because the Pool is resizing or autoscaling down.", + "name": "leavingPool" + }, + { + "value": "offline", + "description": "The Compute Node is not currently running a Task, and scheduling of new Tasks to the Compute Node is disabled." + }, + { + "value": "preempted", + "description": "The Spot/Low-priority Compute Node has been preempted. Tasks which were running on the Compute Node when it was preempted will be rescheduled when another Compute Node becomes available." + } + ] + } + }, + "schedulingState": { + "type": "string", + "title": "Whether the Compute Node is available for Task scheduling.", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "SchedulingState", + "modelAsString": false, + "values": [ + { + "value": "enabled", + "description": "Tasks can be scheduled on the Compute Node." + }, + { + "value": "disabled", + "description": "No new Tasks will be scheduled on the Compute Node. Tasks already running on the Compute Node may still run to completion. All Compute Nodes start with scheduling enabled." + } + ] + } + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Compute Node entered its current state." + }, + "lastBootTime": { + "type": "string", + "format": "date-time", + "title": "The last time at which the Compute Node was started.", + "description": "This property may not be present if the Compute Node state is unusable." + }, + "allocationTime": { + "type": "string", + "format": "date-time", + "title": "The time at which this Compute Node was allocated to the Pool.", + "description": "This is the time when the Compute Node was initially allocated and doesn't change once set. It is not updated when the Compute Node is service healed or preempted." + }, + "ipAddress": { + "type": "string", + "title": "The IP address that other Nodes can use to communicate with this Compute Node.", + "description": "Every Compute Node that is added to a Pool is assigned a unique IP address. Whenever a Compute Node is removed from a Pool, all of its local files are deleted, and the IP address is reclaimed and could be reused for new Compute Nodes." + }, + "affinityId": { + "type": "string", + "title": "An identifier which can be passed when adding a Task to request that the Task be scheduled on this Compute Node.", + "description": "Note that this is just a soft affinity. If the target Compute Node is busy or unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere." + }, + "vmSize": { + "type": "string", + "title": "The size of the virtual machine hosting the Compute Node.", + "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)." + }, + "totalTasksRun": { + "type": "integer", + "format": "int32", + "title": "The total number of Job Tasks completed on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks." + }, + "runningTasksCount": { + "type": "integer", + "format": "int32", + "title": "The total number of currently running Job Tasks on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks." + }, + "runningTaskSlotsCount": { + "type": "integer", + "format": "int32", + "title": "The total number of scheduling slots used by currently running Job Tasks on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks." + }, + "totalTasksSucceeded": { + "type": "integer", + "format": "int32", + "title": "The total number of Job Tasks which completed successfully (with exitCode 0) on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks." + }, + "recentTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/TaskInformation" + }, + "title": "A list of Tasks whose state has recently changed.", + "description": "This property is present only if at least one Task has run on this Compute Node since it was assigned to the Pool." + }, + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "The Task specified to run on the Compute Node as it joins the Pool." + }, + "startTaskInfo": { + "$ref": "#/definitions/StartTaskInformation", + "title": "Runtime information about the execution of the StartTask on the Compute Node." + }, + "certificateReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "The list of Certificates installed on the Compute Node.", + "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.\n\nWarning: This property is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead." + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/ComputeNodeError" + }, + "title": "The list of errors that are currently being encountered by the Compute Node." + }, + "isDedicated": { + "type": "boolean", + "title": "Whether this Compute Node is a dedicated Compute Node. If false, the Compute Node is a Spot/Low-priority Compute Node." + }, + "endpointConfiguration": { + "$ref": "#/definitions/ComputeNodeEndpointConfiguration", + "title": "The endpoint configuration for the Compute Node." + }, + "nodeAgentInfo": { + "$ref": "#/definitions/NodeAgentInformation", + "title": "Information about the Compute Node agent version and the time the Compute Node upgraded to a new version." + }, + "virtualMachineInfo": { + "$ref": "#/definitions/VirtualMachineInfo", + "title": "Info about the current state of the virtual machine." + } + }, + "title": "A Compute Node in the Batch service." + }, + "VirtualMachineInfo": { + "type": "object", + "title": "Info about the current state of the virtual machine.", + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "title": "The reference to the Azure Virtual Machine's Marketplace Image." + }, + "scaleSetVmResourceId": { + "type": "string", + "title": "The resource ID of the Compute Node's current Virtual Machine Scale Set VM. Only defined if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'." + } + } + }, + "PoolEndpointConfiguration": { + "type": "object", + "properties": { + "inboundNATPools": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNATPool" + }, + "title": "A list of inbound NAT Pools that can be used to address specific ports on an individual Compute Node externally.", + "description": "The maximum number of inbound NAT Pools per Batch Pool is 5. If the maximum number of inbound NAT Pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses." + } + }, + "required": [ + "inboundNATPools" + ], + "title": "The endpoint configuration for a Pool." + }, + "InboundNATPool": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the endpoint.", + "description": "The name must be unique within a Batch Pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400." + }, + "protocol": { + "$ref": "#/definitions/InboundEndpointProtocol", + "title": "The protocol of the endpoint." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "title": "The port number on the Compute Node.", + "description": "This must be unique within a Batch Pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400." + }, + "frontendPortRangeStart": { + "type": "integer", + "format": "int32", + "title": "The first port number in the range of external ports that will be used to provide inbound access to the backendPort on individual Compute Nodes.", + "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a Pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400." + }, + "frontendPortRangeEnd": { + "type": "integer", + "format": "int32", + "title": "The last port number in the range of external ports that will be used to provide inbound access to the backendPort on individual Compute Nodes.", + "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a Pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400." + }, + "networkSecurityGroupRules": { + "type": "array", + "title": "A list of network security group rules that will be applied to the endpoint.", + "description": "The maximum number of rules that can be specified across all the endpoints on a Batch Pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.", + "items": { + "$ref": "#/definitions/NetworkSecurityGroupRule" + } + } + }, + "required": [ + "name", + "protocol", + "backendPort", + "frontendPortRangeStart", + "frontendPortRangeEnd" + ], + "title": "A inbound NAT Pool that can be used to address specific ports on Compute Nodes in a Batch Pool externally." + }, + "NetworkSecurityGroupRule": { + "type": "object", + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority for this rule.", + "description": "Priorities within a Pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400." + }, + "access": { + "type": "string", + "title": "The action that should be taken for a specified IP address, subnet range or tag.", + "enum": [ + "allow", + "deny" + ], + "x-ms-enum": { + "name": "NetworkSecurityGroupRuleAccess", + "modelAsString": false, + "values": [ + { + "value": "allow", + "description": "Allow access." + }, + { + "value": "deny", + "description": "Deny access." + } + ] + } + }, + "sourceAddressPrefix": { + "type": "string", + "title": "The source address prefix or tag to match for the rule.", + "description": "Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The source port ranges to match for the rule.", + "description": "Valid values are '*' (for all ports 0 - 65535), a specific port (i.e. 22), or a port range (i.e. 100-200). The ports must be in the range of 0 to 65535. Each entry in this collection must not overlap any other entry (either a range or an individual port). If any other values are provided the request fails with HTTP status code 400. The default value is '*'." + } + }, + "required": [ + "priority", + "access", + "sourceAddressPrefix" + ], + "title": "A network security group rule to apply to an inbound endpoint." + }, + "ComputeNodeEndpointConfiguration": { + "type": "object", + "properties": { + "inboundEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundEndpoint" + }, + "title": "The list of inbound endpoints that are accessible on the Compute Node." + } + }, + "required": [ + "inboundEndpoints" + ], + "title": "The endpoint configuration for the Compute Node." + }, + "InboundEndpoint": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the endpoint." + }, + "protocol": { + "$ref": "#/definitions/InboundEndpointProtocol", + "title": "The protocol of the endpoint." + }, + "publicIPAddress": { + "type": "string", + "title": "The public IP address of the Compute Node." + }, + "publicFQDN": { + "type": "string", + "title": "The public fully qualified domain name for the Compute Node." + }, + "frontendPort": { + "type": "integer", + "format": "int32", + "title": "The public port number of the endpoint." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "title": "The backend port number of the endpoint." + } + }, + "required": [ + "name", + "protocol", + "publicIPAddress", + "publicFQDN", + "frontendPort", + "backendPort" + ], + "title": "An inbound endpoint on a Compute Node." + }, + "ComputeNodeListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ComputeNode" + }, + "title": "The list of Compute Nodes." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Compute Nodes in a Pool." + }, + "ComputeNodeUser": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The user name of the Account." + }, + "isAdmin": { + "type": "boolean", + "title": "Whether the Account should be an administrator on the Compute Node.", + "description": "The default value is false." + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Account should expire.", + "description": "If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day." + }, + "password": { + "type": "string", + "title": "The password of the Account.", + "description": "The password is required for Windows Compute Nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property." + }, + "sshPublicKey": { + "type": "string", + "title": "The SSH public key that can be used for remote login to the Compute Node.", + "description": "The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute Node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + } + }, + "required": [ + "name" + ], + "title": "A user Account for RDP or SSH access on a Compute Node." + }, + "ComputeNodeGetRemoteLoginSettingsResult": { + "type": "object", + "properties": { + "remoteLoginIPAddress": { + "type": "string", + "title": "The IP address used for remote login to the Compute Node." + }, + "remoteLoginPort": { + "type": "integer", + "format": "int32", + "title": "The port used for remote login to the Compute Node." + } + }, + "required": [ + "remoteLoginIPAddress", + "remoteLoginPort" + ], + "title": "The remote login settings for a Compute Node." + }, + "JobSchedulePatchParameter": { + "type": "object", + "properties": { + "schedule": { + "$ref": "#/definitions/Schedule", + "title": "The schedule according to which Jobs will be created.", + "description": "All times are fixed respective to UTC and are not impacted by daylight saving time. If you do not specify this element, the existing schedule is left unchanged." + }, + "jobSpecification": { + "$ref": "#/definitions/JobSpecification", + "title": "The details of the Jobs to be created on this schedule.", + "description": "Updates affect only Jobs that are started after the update has taken place. Any currently active Job continues with the older specification." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Job Schedule as metadata.", + "description": "If you do not specify this element, existing metadata is left unchanged." + } + }, + "title": "The set of changes to be made to a Job Schedule." + }, + "JobScheduleUpdateParameter": { + "type": "object", + "properties": { + "schedule": { + "$ref": "#/definitions/Schedule", + "title": "The schedule according to which Jobs will be created.", + "description": "All times are fixed respective to UTC and are not impacted by daylight saving time. If you do not specify this element, it is equivalent to passing the default schedule: that is, a single Job scheduled to run immediately." + }, + "jobSpecification": { + "$ref": "#/definitions/JobSpecification", + "title": "Details of the Jobs to be created on this schedule.", + "description": "Updates affect only Jobs that are started after the update has taken place. Any currently active Job continues with the older specification." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Job Schedule as metadata.", + "description": "If you do not specify this element, it takes the default value of an empty list; in effect, any existing metadata is deleted." + } + }, + "required": [ + "schedule", + "jobSpecification" + ], + "title": "The set of changes to be made to a Job Schedule." + }, + "JobDisableParameter": { + "type": "object", + "properties": { + "disableTasks": { + "type": "string", + "title": "What to do with active Tasks associated with the Job.", + "enum": [ + "requeue", + "terminate", + "wait" + ], + "x-ms-enum": { + "name": "DisableJobOption", + "modelAsString": false, + "values": [ + { + "value": "requeue", + "description": "Terminate running Tasks and requeue them. The Tasks will run again when the Job is enabled." + }, + { + "value": "terminate", + "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again." + }, + { + "value": "wait", + "description": "Allow currently running Tasks to complete." + } + ] + } + } + }, + "required": [ + "disableTasks" + ], + "title": "Options when disabling a Job." + }, + "JobTerminateParameter": { + "type": "object", + "properties": { + "terminateReason": { + "type": "string", + "title": "The text you want to appear as the Job's TerminateReason. The default is 'UserTerminate'." + } + }, + "title": "Options when terminating a Job." + }, + "JobPatchParameter": { + "type": "object", + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority of the Job.", + "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the Job is left unchanged." + }, + "maxParallelTasks": { + "type": "integer", + "format": "int32", + "title": "The maximum number of tasks that can be executed in parallel for the job.", + "description": "The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API." + }, + "allowTaskPreemption": { + "type": "boolean", + "title": "Whether Tasks in this job can be preempted by other high priority jobs", + "description": "If the value is set to True, other high priority jobs submitted to the system will take precedence and will be able requeue tasks from this job. You can update a job's allowTaskPreemption after it has been created using the update job API." + }, + "onAllTasksComplete": { + "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.", + "description": "If omitted, the completion behavior is left unchanged. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).", + "$ref": "#/definitions/OnAllTasksComplete" + }, + "constraints": { + "$ref": "#/definitions/JobConstraints", + "title": "The execution constraints for the Job.", + "description": "If omitted, the existing execution constraints are left unchanged." + }, + "poolInfo": { + "$ref": "#/definitions/PoolInformation", + "title": "The Pool on which the Batch service runs the Job's Tasks.", + "description": "You may change the Pool for a Job only when the Job is disabled. The Patch Job call will fail if you include the poolInfo element and the Job is not disabled. If you specify an autoPoolSpecification in the poolInfo, only the keepAlive property of the autoPoolSpecification can be updated, and then only if the autoPoolSpecification has a poolLifetimeOption of Job (other job properties can be updated as normal). If omitted, the Job continues to run on its current Pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Job as metadata.", + "description": "If omitted, the existing Job metadata is left unchanged." + } + }, + "title": "The set of changes to be made to a Job." + }, + "JobUpdateParameter": { + "type": "object", + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority of the Job.", + "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, it is set to the default value 0." + }, + "maxParallelTasks": { + "type": "integer", + "format": "int32", + "default": -1, + "title": "The maximum number of tasks that can be executed in parallel for the job.", + "description": "The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API." + }, + "allowTaskPreemption": { + "type": "boolean", + "title": "Whether Tasks in this job can be preempted by other high priority jobs", + "description": "If the value is set to True, other high priority jobs submitted to the system will take precedence and will be able requeue tasks from this job. You can update a job's allowTaskPreemption after it has been created using the update job API." + }, + "constraints": { + "$ref": "#/definitions/JobConstraints", + "title": "The execution constraints for the Job.", + "description": "If omitted, the constraints are cleared." + }, + "poolInfo": { + "$ref": "#/definitions/PoolInformation", + "title": "The Pool on which the Batch service runs the Job's Tasks.", + "description": "You may change the Pool for a Job only when the Job is disabled. The Update Job call will fail if you include the poolInfo element and the Job is not disabled. If you specify an autoPoolSpecification in the poolInfo, only the keepAlive property of the autoPoolSpecification can be updated, and then only if the autoPoolSpecification has a poolLifetimeOption of Job (other job properties can be updated as normal)." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Job as metadata.", + "description": "If omitted, it takes the default value of an empty list; in effect, any existing metadata is deleted." + }, + "onAllTasksComplete": { + "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.", + "description": "If omitted, the completion behavior is set to noaction. If the current value is terminatejob, this is an error because a Job's completion behavior may not be changed from terminatejob to noaction. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails and Batch returns status code 400 (Bad Request) and an 'invalid property value' error response. If you do not specify this element in a PUT request, it is equivalent to passing noaction. This is an error if the current value is terminatejob.", + "$ref": "#/definitions/OnAllTasksComplete" + } + }, + "required": [ + "poolInfo" + ], + "title": "The set of changes to be made to a Job." + }, + "PoolEnableAutoScaleParameter": { + "type": "object", + "properties": { + "autoScaleFormula": { + "type": "string", + "title": "The formula for the desired number of Compute Nodes in the Pool.", + "description": "The formula is checked for validity before it is applied to the Pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling)." + }, + "autoScaleEvaluationInterval": { + "type": "string", + "format": "duration", + "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.", + "description": "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued." + } + }, + "title": "Options for enabling automatic scaling on a Pool." + }, + "PoolEvaluateAutoScaleParameter": { + "type": "object", + "properties": { + "autoScaleFormula": { + "type": "string", + "title": "The formula for the desired number of Compute Nodes in the Pool.", + "description": "The formula is validated and its results calculated, but it is not applied to the Pool. To apply the formula to the Pool, 'Enable automatic scaling on a Pool'. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling)." + } + }, + "required": [ + "autoScaleFormula" + ], + "title": "Options for evaluating an automatic scaling formula on a Pool." + }, + "PoolResizeParameter": { + "type": "object", + "properties": { + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated Compute Nodes in the Pool." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of Spot/Low-priority Compute Nodes in the Pool." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of Nodes to the Pool or removal of Compute Nodes from the Pool.", + "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "nodeDeallocationOption": { + "title": "Determines what to do with a Compute Node and its running task(s) if the Pool size is decreasing.", + "description": "The default value is requeue.", + "$ref": "#/definitions/ComputeNodeDeallocationOption" + } + }, + "title": "Options for changing the size of a Pool." + }, + "PoolUpdatePropertiesParameter": { + "type": "object", + "properties": { + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted.", + "description": "If this element is present, it overwrites any existing StartTask. If omitted, any existing StartTask is removed from the Pool." + }, + "certificateReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "A list of Certificates to be installed on each Compute Node in the Pool.", + "description": "This list replaces any existing Certificate references configured on the Pool. If you specify an empty collection, any existing Certificate references are removed from the Pool. For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.\n\nWarning: This property is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "The list of Application Packages to be installed on each Compute Node in the Pool.", + "description": "The list replaces any existing Application Package references on the Pool. Changes to Application Package references affect all new Compute Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Application Package references on any given Pool. If omitted, or if you specify an empty collection, any existing Application Packages references are removed from the Pool. A maximum of 10 references may be specified on a given Pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Pool as metadata.", + "description": "This list replaces any existing metadata configured on the Pool. If omitted, or if you specify an empty collection, any existing metadata is removed from the Pool." + }, + "targetNodeCommunicationMode": { + "title": "The desired node communication mode for the pool.", + "description": "This setting replaces any existing targetNodeCommunication setting on the Pool. If omitted, the existing setting is default.", + "$ref": "#/definitions/NodeCommunicationMode" + } + }, + "required": [ + "certificateReferences", + "metadata", + "applicationPackageReferences" + ], + "title": "The set of changes to be made to a Pool." + }, + "PoolPatchParameter": { + "type": "object", + "properties": { + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted.", + "description": "If this element is present, it overwrites any existing StartTask. If omitted, any existing StartTask is left unchanged." + }, + "certificateReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "A list of Certificates to be installed on each Compute Node in the Pool.", + "description": "If this element is present, it replaces any existing Certificate references configured on the Pool. If omitted, any existing Certificate references are left unchanged. For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.\n\nWarning: This property is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "A list of Packages to be installed on each Compute Node in the Pool.", + "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. If this element is present, it replaces any existing Package references. If you specify an empty collection, then all Package references are removed from the Pool. If omitted, any existing Package references are left unchanged." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Pool as metadata.", + "description": "If this element is present, it replaces any existing metadata configured on the Pool. If you specify an empty collection, any metadata is removed from the Pool. If omitted, any existing metadata is left unchanged." + }, + "targetNodeCommunicationMode": { + "title": "The desired node communication mode for the pool.", + "description": "If this element is present, it replaces the existing targetNodeCommunicationMode configured on the Pool. If omitted, any existing metadata is left unchanged.", + "$ref": "#/definitions/NodeCommunicationMode" + } + }, + "title": "The set of changes to be made to a Pool." + }, + "TaskUpdateParameter": { + "type": "object", + "properties": { + "constraints": { + "$ref": "#/definitions/TaskConstraints", + "title": "Constraints that apply to this Task.", + "description": "If omitted, the Task is given the default constraints. For multi-instance Tasks, updating the retention time applies only to the primary Task and not subtasks." + } + }, + "title": "The set of changes to be made to a Task." + }, + "NodeUpdateUserParameter": { + "type": "object", + "properties": { + "password": { + "type": "string", + "title": "The password of the Account.", + "description": "The password is required for Windows Compute Nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed." + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Account should expire.", + "description": "If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day." + }, + "sshPublicKey": { + "type": "string", + "title": "The SSH public key that can be used for remote login to the Compute Node.", + "description": "The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute Node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If omitted, any existing SSH public key is removed." + } + }, + "title": "The set of changes to be made to a user Account on a Compute Node." + }, + "NodeRebootParameter": { + "type": "object", + "properties": { + "nodeRebootOption": { + "type": "string", + "title": "When to reboot the Compute Node and what to do with currently running Tasks.", + "description": "The default value is requeue.", + "enum": [ + "requeue", + "terminate", + "taskcompletion", + "retaineddata" + ], + "x-ms-enum": { + "name": "ComputeNodeRebootOption", + "modelAsString": false, + "values": [ + { + "value": "requeue", + "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Restart the Compute Node as soon as Tasks have been terminated." + }, + { + "value": "terminate", + "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Restart the Compute Node as soon as Tasks have been terminated." + }, + { + "value": "taskcompletion", + "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Restart the Compute Node when all Tasks have completed.", + "name": "taskCompletion" + }, + { + "value": "retaineddata", + "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Restart the Compute Node when all Task retention periods have expired.", + "name": "retainedData" + } + ] + } + } + }, + "title": "Options for rebooting a Compute Node." + }, + "NodeReimageParameter": { + "type": "object", + "properties": { + "nodeReimageOption": { + "type": "string", + "title": "When to reimage the Compute Node and what to do with currently running Tasks.", + "description": "The default value is requeue.", + "enum": [ + "requeue", + "terminate", + "taskcompletion", + "retaineddata" + ], + "x-ms-enum": { + "name": "ComputeNodeReimageOption", + "modelAsString": false, + "values": [ + { + "value": "requeue", + "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Reimage the Compute Node as soon as Tasks have been terminated." + }, + { + "value": "terminate", + "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Reimage the Compute Node as soon as Tasks have been terminated." + }, + { + "value": "taskcompletion", + "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Reimage the Compute Node when all Tasks have completed.", + "name": "taskCompletion" + }, + { + "value": "retaineddata", + "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Reimage the Compute Node when all Task retention periods have expired.", + "name": "retainedData" + } + ] + } + } + }, + "title": "Options for reimaging a Compute Node." + }, + "NodeDisableSchedulingParameter": { + "type": "object", + "properties": { + "nodeDisableSchedulingOption": { + "type": "string", + "title": "What to do with currently running Tasks when disabling Task scheduling on the Compute Node.", + "description": "The default value is requeue.", + "enum": [ + "requeue", + "terminate", + "taskcompletion" + ], + "x-ms-enum": { + "name": "DisableComputeNodeSchedulingOption", + "modelAsString": false, + "values": [ + { + "value": "requeue", + "description": "Terminate running Task processes and requeue the Tasks. The Tasks may run again on other Compute Nodes, or when Task scheduling is re-enabled on this Compute Node. Enter offline state as soon as Tasks have been terminated." + }, + { + "value": "terminate", + "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Enter offline state as soon as Tasks have been terminated." + }, + { + "value": "taskcompletion", + "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Enter offline state when all Tasks have completed.", + "name": "taskCompletion" + } + ] + } + } + }, + "title": "Options for disabling scheduling on a Compute Node." + }, + "NodeRemoveParameter": { + "type": "object", + "properties": { + "nodeList": { + "type": "array", + "maxItems": 100, + "items": { + "type": "string" + }, + "title": "A list containing the IDs of the Compute Nodes to be removed from the specified Pool.", + "description": "A maximum of 100 nodes may be removed per request." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for removal of Compute Nodes to the Pool.", + "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "nodeDeallocationOption": { + "title": "Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation.", + "description": "The default value is requeue.", + "$ref": "#/definitions/ComputeNodeDeallocationOption" + } + }, + "required": [ + "nodeList" + ], + "title": "Options for removing Compute Nodes from a Pool." + }, + "OutputFile": { + "type": "object", + "properties": { + "filePattern": { + "type": "string", + "title": "A pattern indicating which file(s) to upload.", + "description": "Both relative and absolute paths are supported. Relative paths are relative to the Task working directory. The following wildcards are supported: * matches 0 or more characters (for example pattern abc* would match abc or abcdef), ** matches any directory, ? matches any single character, [abc] matches one character in the brackets, and [a-c] matches one character in the range. Brackets can include a negation to match any character not specified (for example [!abc] matches any character but a, b, or c). If a file name starts with \".\" it is ignored by default but may be matched by specifying it explicitly (for example *.gif will not match .a.gif, but .*.gif will). A simple example: **\\*.txt matches any file that does not start in '.' and ends with .txt in the Task working directory or any subdirectory. If the filename contains a wildcard character it can be escaped using brackets (for example abc[*] would match a file named abc*). Note that both \\ and / are treated as directory separators on Windows, but only / is on Linux. Environment variables (%var% on Windows or $var on Linux) are expanded prior to the pattern being applied." + }, + "destination": { + "title": "The destination for the output file(s).", + "$ref": "#/definitions/OutputFileDestination" + }, + "uploadOptions": { + "title": "Additional options for the upload operation, including under what conditions to perform the upload.", + "$ref": "#/definitions/OutputFileUploadOptions" + } + }, + "required": [ + "filePattern", + "destination", + "uploadOptions" + ], + "title": "A specification for uploading files from an Azure Batch Compute Node to another location after the Batch service has finished executing the Task process.", + "description": "On every file uploads, Batch service writes two log files to the compute node, 'fileuploadout.txt' and 'fileuploaderr.txt'. These log files are used to learn more about a specific failure." + }, + "OutputFileDestination": { + "type": "object", + "properties": { + "container": { + "title": "A location in Azure blob storage to which files are uploaded.", + "$ref": "#/definitions/OutputFileBlobContainerDestination" + } + }, + "title": "The destination to which a file should be uploaded." + }, + "OutputFileBlobContainerDestination": { + "type": "object", + "properties": { + "path": { + "type": "string", + "title": "The destination blob or virtual directory within the Azure Storage container.", + "description": "If filePattern refers to a specific file (i.e. contains no wildcards), then path is the name of the blob to which to upload that file. If filePattern contains one or more wildcards (and therefore may match multiple files), then path is the name of the blob virtual directory (which is prepended to each blob name) to which to upload the file(s). If omitted, file(s) are uploaded to the root of the container with a blob name matching their file name." + }, + "containerUrl": { + "type": "string", + "title": "The URL of the container within Azure Blob Storage to which to upload the file(s).", + "description": "If not using a managed identity, the URL must include a Shared Access Signature (SAS) granting write permissions to the container." + }, + "identityReference": { + "title": "The reference to the user assigned identity to use to access Azure Blob Storage specified by containerUrl", + "description": "The identity must have write access to the Azure Blob Storage container", + "$ref": "#/definitions/ComputeNodeIdentityReference" + }, + "uploadHeaders": { + "type": "array", + "items": { + "$ref": "#/definitions/HttpHeader" + }, + "title": "A list of name-value pairs for headers to be used in uploading output files", + "description": "These headers will be specified when uploading files to Azure Storage. Official document on allowed headers when uploading blobs: https://docs.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types" + } + }, + "required": [ + "containerUrl" + ], + "title": "Specifies a file upload destination within an Azure blob storage container." + }, + "OutputFileUploadOptions": { + "type": "object", + "properties": { + "uploadCondition": { + "title": "The conditions under which the Task output file or set of files should be uploaded.", + "description": "The default is taskcompletion.", + "$ref": "#/definitions/OutputFileUploadCondition" + } + }, + "required": [ + "uploadCondition" + ], + "title": "Details about an output file upload operation, including under what conditions to perform the upload." + }, + "ErrorMessage": { + "type": "object", + "properties": { + "lang": { + "type": "string", + "title": "The language code of the error message" + }, + "value": { + "type": "string", + "title": "The text of the message." + } + }, + "title": "An error message received in an Azure Batch error response." + }, + "BatchErrorDetail": { + "type": "object", + "properties": { + "key": { + "type": "string", + "title": "An identifier specifying the meaning of the Value property." + }, + "value": { + "type": "string", + "title": "The additional information included with the error response." + } + }, + "title": "An item of additional information included in an Azure Batch error response." + }, + "BatchError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "title": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "$ref": "#/definitions/ErrorMessage", + "title": "A message describing the error, intended to be suitable for display in a user interface." + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/BatchErrorDetail" + }, + "title": "A collection of key-value pairs containing additional details about the error." + } + }, + "title": "An error response received from the Azure Batch service." + }, + "CertificateState": { + "type": "string", + "title": "The state of the Certificate.", + "enum": [ + "active", + "deleting", + "deletefailed" + ], + "x-ms-enum": { + "name": "CertificateState", + "modelAsString": false, + "values": [ + { + "value": "active", + "description": "The Certificate is available for use in Pools." + }, + { + "value": "deleting", + "description": "The user has requested that the Certificate be deleted, but the delete operation has not yet completed. You may not reference the Certificate when creating or updating Pools." + }, + { + "value": "deletefailed", + "description": "The user requested that the Certificate be deleted, but there are Pools that still have references to the Certificate, or it is still installed on one or more Nodes. (The latter can occur if the Certificate has been removed from the Pool, but the Compute Node has not yet restarted. Compute Nodes refresh their Certificates only when they restart.) You may use the cancel Certificate delete operation to cancel the delete, or the delete Certificate operation to retry the delete.", + "name": "deleteFailed" + } + ] + } + }, + "ElevationLevel": { + "type": "string", + "title": "The elevation level of the user.", + "enum": [ + "nonadmin", + "admin" + ], + "x-ms-enum": { + "name": "ElevationLevel", + "modelAsString": false, + "values": [ + { + "value": "nonadmin", + "description": "The user is a standard user without elevated access.", + "name": "nonAdmin" + }, + { + "value": "admin", + "description": "The user is a user with elevated access and operates with full Administrator permissions." + } + ] + } + }, + "JobScheduleState": { + "type": "string", + "title": "The state of the Job Schedule.", + "enum": [ + "active", + "completed", + "disabled", + "terminating", + "deleting" + ], + "x-ms-enum": { + "name": "JobScheduleState", + "modelAsString": false, + "values": [ + { + "value": "active", + "description": "The Job Schedule is active and will create Jobs as per its schedule." + }, + { + "value": "completed", + "description": "The Job Schedule has terminated, either by reaching its end time or by the user terminating it explicitly." + }, + { + "value": "disabled", + "description": "The user has disabled the Job Schedule. The scheduler will not initiate any new Jobs will on this schedule, but any existing active Job will continue to run." + }, + { + "value": "terminating", + "description": "The Job Schedule has no more work to do, or has been explicitly terminated by the user, but the termination operation is still in progress. The scheduler will not initiate any new Jobs for this Job Schedule, nor is any existing Job active." + }, + { + "value": "deleting", + "description": "The user has requested that the Job Schedule be deleted, but the delete operation is still in progress. The scheduler will not initiate any new Jobs for this Job Schedule, and will delete any existing Jobs and Tasks under the Job Schedule, including any active Job. The Job Schedule will be deleted when all Jobs and Tasks under the Job Schedule have been deleted." + } + ] + } + }, + "JobState": { + "type": "string", + "title": "The state of the Job.", + "enum": [ + "active", + "disabling", + "disabled", + "enabling", + "terminating", + "completed", + "deleting" + ], + "x-ms-enum": { + "name": "JobState", + "modelAsString": false, + "values": [ + { + "value": "active", + "description": "The Job is available to have Tasks scheduled." + }, + { + "value": "disabling", + "description": "A user has requested that the Job be disabled, but the disable operation is still in progress (for example, waiting for Tasks to terminate)." + }, + { + "value": "disabled", + "description": "A user has disabled the Job. No Tasks are running, and no new Tasks will be scheduled." + }, + { + "value": "enabling", + "description": "A user has requested that the Job be enabled, but the enable operation is still in progress." + }, + { + "value": "terminating", + "description": "The Job is about to complete, either because a Job Manager Task has completed or because the user has terminated the Job, but the terminate operation is still in progress (for example, because Job Release Tasks are running)." + }, + { + "value": "completed", + "description": "All Tasks have terminated, and the system will not accept any more Tasks or any further changes to the Job." + }, + { + "value": "deleting", + "description": "A user has requested that the Job be deleted, but the delete operation is still in progress (for example, because the system is still terminating running Tasks)." + } + ] + } + }, + "OnAllTasksComplete": { + "type": "string", + "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.", + "enum": [ + "noaction", + "terminatejob" + ], + "x-ms-enum": { + "name": "OnAllTasksComplete", + "modelAsString": false, + "values": [ + { + "value": "noaction", + "description": "Do nothing. The Job remains active unless terminated or disabled by some other means.", + "name": "noAction" + }, + { + "value": "terminatejob", + "description": "Terminate the Job. The Job's terminateReason is set to 'AllTasksComplete'.", + "name": "terminateJob" + } + ] + } + }, + "OnTaskFailure": { + "type": "string", + "title": "The action the Batch service should take when any Task in the Job fails.", + "description": "A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.", + "enum": [ + "noaction", + "performexitoptionsjobaction" + ], + "x-ms-enum": { + "name": "OnTaskFailure", + "modelAsString": false, + "values": [ + { + "value": "noaction", + "description": "Do nothing. The Job remains active unless terminated or disabled by some other means.", + "name": "noAction" + }, + { + "value": "performexitoptionsjobaction", + "description": "Take the action associated with the Task exit condition in the Task's exitConditions collection. (This may still result in no action being taken, if that is what the Task specifies.)", + "name": "performExitOptionsJobAction" + } + ] + } + }, + "ErrorCategory": { + "type": "string", + "title": "The category of the error.", + "enum": [ + "usererror", + "servererror" + ], + "x-ms-enum": { + "name": "ErrorCategory", + "modelAsString": false, + "values": [ + { + "value": "usererror", + "description": "The error is due to a user issue, such as misconfiguration.", + "name": "userError" + }, + { + "value": "servererror", + "description": "The error is due to an internal server issue.", + "name": "serverError" + } + ] + } + }, + "TaskState": { + "type": "string", + "title": "The state of the Task.", + "enum": [ + "active", + "preparing", + "running", + "completed" + ], + "x-ms-enum": { + "name": "TaskState", + "modelAsString": false, + "values": [ + { + "value": "active", + "description": "The Task is queued and able to run, but is not currently assigned to a Compute Node. A Task enters this state when it is created, when it is enabled after being disabled, or when it is awaiting a retry after a failed run." + }, + { + "value": "preparing", + "description": "The Task has been assigned to a Compute Node, but is waiting for a required Job Preparation Task to complete on the Compute Node. If the Job Preparation Task succeeds, the Task will move to running. If the Job Preparation Task fails, the Task will return to active and will be eligible to be assigned to a different Compute Node." + }, + { + "value": "running", + "description": "The Task is running on a Compute Node. This includes task-level preparation such as downloading resource files or deploying Packages specified on the Task - it does not necessarily mean that the Task command line has started executing." + }, + { + "value": "completed", + "description": "The Task is no longer eligible to run, usually because the Task has finished successfully, or the Task has finished unsuccessfully and has exhausted its retry limit. A Task is also marked as completed if an error occurred launching the Task, or when the Task has been terminated." + } + ] + } + }, + "SubtaskState": { + "type": "string", + "title": "The state of the subtask.", + "enum": [ + "preparing", + "running", + "completed" + ], + "x-ms-enum": { + "name": "SubtaskState", + "modelAsString": false, + "values": [ + { + "value": "preparing", + "description": "The Task has been assigned to a Compute Node, but is waiting for a required Job Preparation Task to complete on the Compute Node. If the Job Preparation Task succeeds, the Task will move to running. If the Job Preparation Task fails, the Task will return to active and will be eligible to be assigned to a different Compute Node." + }, + { + "value": "running", + "description": "The Task is running on a Compute Node. This includes task-level preparation such as downloading resource files or deploying Packages specified on the Task - it does not necessarily mean that the Task command line has started executing." + }, + { + "value": "completed", + "description": "The Task is no longer eligible to run, usually because the Task has finished successfully, or the Task has finished unsuccessfully and has exhausted its retry limit. A Task is also marked as completed if an error occurred launching the Task, or when the Task has been terminated." + } + ] + } + }, + "ComputeNodeDeallocationOption": { + "type": "string", + "title": "Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation.", + "description": "The default value is requeue.", + "enum": [ + "requeue", + "terminate", + "taskcompletion", + "retaineddata" + ], + "x-ms-enum": { + "name": "ComputeNodeDeallocationOption", + "modelAsString": false, + "values": [ + { + "value": "requeue", + "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Remove Compute Nodes as soon as Tasks have been terminated." + }, + { + "value": "terminate", + "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove Compute Nodes as soon as Tasks have been terminated." + }, + { + "value": "taskcompletion", + "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Remove Compute Nodes when all Tasks have completed.", + "name": "taskCompletion" + }, + { + "value": "retaineddata", + "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Remove Compute Nodes when all Task retention periods have expired.", + "name": "retainedData" + } + ] + } + }, + "OutputFileUploadCondition": { + "type": "string", + "title": "The conditions under which a Task output file or set of files should be uploaded.", + "enum": [ + "tasksuccess", + "taskfailure", + "taskcompletion" + ], + "x-ms-enum": { + "name": "OutputFileUploadCondition", + "modelAsString": false, + "values": [ + { + "value": "tasksuccess", + "description": "Upload the file(s) only after the Task process exits with an exit code of 0.", + "name": "taskSuccess" + }, + { + "value": "taskfailure", + "description": "Upload the file(s) only after the Task process exits with a nonzero exit code.", + "name": "taskFailure" + }, + { + "value": "taskcompletion", + "description": "Upload the file(s) after the Task process exits, no matter what the exit code was.", + "name": "taskCompletion" + } + ] + } + }, + "TaskExecutionResult": { + "type": "string", + "title": "The result of Task execution.", + "enum": [ + "success", + "failure" + ], + "x-ms-enum": { + "name": "TaskExecutionResult", + "modelAsString": false, + "values": [ + { + "value": "success", + "description": "The Task ran successfully.", + "name": "success" + }, + { + "value": "failure", + "description": "There was an error during processing of the Task. The failure may have occurred before the Task process was launched, while the Task process was executing, or after the Task process exited.", + "name": "failure" + } + ] + } + }, + "InboundEndpointProtocol": { + "type": "string", + "title": "The protocol of the endpoint.", + "enum": [ + "tcp", + "udp" + ], + "x-ms-enum": { + "name": "InboundEndpointProtocol", + "modelAsString": false, + "values": [ + { + "value": "tcp", + "description": "Use TCP for the endpoint.", + "name": "tcp" + }, + { + "value": "udp", + "description": "Use UDP for the endpoint.", + "name": "udp" + } + ] + } + }, + "UploadBatchServiceLogsConfiguration": { + "type": "object", + "properties": { + "containerUrl": { + "type": "string", + "title": "The URL of the container within Azure Blob Storage to which to upload the Batch Service log file(s).", + "description": "If a user assigned managed identity is not being used, the URL must include a Shared Access Signature (SAS) granting write permissions to the container. The SAS duration must allow enough time for the upload to finish. The start time for SAS is optional and recommended to not be specified." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start of the time range from which to upload Batch Service log file(s).", + "description": "Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The end of the time range from which to upload Batch Service log file(s).", + "description": "Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested. If omitted, the default is to upload all logs available after the startTime." + }, + "identityReference": { + "title": "The reference to the user assigned identity to use to access Azure Blob Storage specified by containerUrl.", + "description": "The identity must have write access to the Azure Blob Storage container.", + "$ref": "#/definitions/ComputeNodeIdentityReference" + } + }, + "required": [ + "containerUrl", + "startTime" + ], + "title": "The Azure Batch service log files upload configuration for a Compute Node." + }, + "UploadBatchServiceLogsResult": { + "type": "object", + "properties": { + "virtualDirectoryName": { + "type": "string", + "title": "The virtual directory within Azure Blob Storage container to which the Batch Service log file(s) will be uploaded.", + "description": "The virtual directory name is part of the blob name for each log file uploaded, and it is built based poolId, nodeId and a unique identifier." + }, + "numberOfFilesUploaded": { + "type": "integer", + "format": "int32", + "title": "The number of log files which will be uploaded." + } + }, + "required": [ + "virtualDirectoryName", + "numberOfFilesUploaded" + ], + "title": "The result of uploading Batch service log files from a specific Compute Node." + }, + "PoolNodeCountsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PoolNodeCounts" + }, + "description": "A list of Compute Node counts by Pool." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Compute Node counts in the Account." + }, + "PoolNodeCounts": { + "type": "object", + "properties": { + "poolId": { + "type": "string", + "title": "The ID of the Pool." + }, + "dedicated": { + "$ref": "#/definitions/NodeCounts", + "title": "The number of dedicated Compute Nodes in each state." + }, + "lowPriority": { + "$ref": "#/definitions/NodeCounts", + "title": "The number of Spot/Low-priority Compute Nodes in each state." + } + }, + "required": [ + "poolId" + ], + "title": "The number of Compute Nodes in each state for a Pool." + }, + "NodeCounts": { + "type": "object", + "properties": { + "creating": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the creating state." + }, + "idle": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the idle state." + }, + "offline": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the offline state." + }, + "preempted": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the preempted state." + }, + "rebooting": { + "type": "integer", + "format": "int32", + "title": "The count of Compute Nodes in the rebooting state." + }, + "reimaging": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the reimaging state." + }, + "running": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the running state." + }, + "starting": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the starting state." + }, + "startTaskFailed": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the startTaskFailed state." + }, + "leavingPool": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the leavingPool state." + }, + "unknown": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the unknown state." + }, + "unusable": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the unusable state." + }, + "waitingForStartTask": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the waitingForStartTask state." + }, + "total": { + "type": "integer", + "format": "int32", + "title": "The total number of Compute Nodes." + } + }, + "required": [ + "creating", + "idle", + "offline", + "preempted", + "rebooting", + "reimaging", + "running", + "starting", + "startTaskFailed", + "leavingPool", + "unknown", + "unusable", + "waitingForStartTask", + "total" + ], + "title": "The number of Compute Nodes in each Compute Node state." + }, + "MountConfiguration": { + "type": "object", + "properties": { + "azureBlobFileSystemConfiguration": { + "$ref": "#/definitions/AzureBlobFileSystemConfiguration", + "title": "The Azure Storage Container to mount using blob FUSE on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "nfsMountConfiguration": { + "$ref": "#/definitions/NFSMountConfiguration", + "title": "The NFS file system to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "cifsMountConfiguration": { + "$ref": "#/definitions/CIFSMountConfiguration", + "title": "The CIFS/SMB file system to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "azureFileShareConfiguration": { + "$ref": "#/definitions/AzureFileShareConfiguration", + "title": "The Azure File Share to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + } + }, + "title": "The file system to mount on each node." + }, + "AzureBlobFileSystemConfiguration": { + "type": "object", + "properties": { + "accountName": { + "type": "string", + "title": "The Azure Storage Account name." + }, + "containerName": { + "type": "string", + "title": "The Azure Blob Storage Container name." + }, + "accountKey": { + "type": "string", + "title": "The Azure Storage Account key.", + "description": "This property is mutually exclusive with both sasKey and identity; exactly one must be specified." + }, + "sasKey": { + "type": "string", + "title": "The Azure Storage SAS token.", + "description": "This property is mutually exclusive with both accountKey and identity; exactly one must be specified." + }, + "blobfuseOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "identityReference": { + "title": "The reference to the user assigned identity to use to access containerName", + "description": "This property is mutually exclusive with both accountKey and sasKey; exactly one must be specified.", + "$ref": "#/definitions/ComputeNodeIdentityReference" + } + }, + "required": [ + "accountName", + "containerName", + "relativeMountPath" + ], + "title": "Information used to connect to an Azure Storage Container using Blobfuse." + }, + "NFSMountConfiguration": { + "type": "object", + "properties": { + "source": { + "type": "string", + "title": "The URI of the file system to mount." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + } + }, + "required": [ + "source", + "relativeMountPath" + ], + "title": "Information used to connect to an NFS file system." + }, + "CIFSMountConfiguration": { + "type": "object", + "properties": { + "username": { + "type": "string", + "title": "The user to use for authentication against the CIFS file system." + }, + "source": { + "type": "string", + "title": "The URI of the file system to mount." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + }, + "password": { + "type": "string", + "title": "The password to use for authentication against the CIFS file system." + } + }, + "required": [ + "username", + "source", + "password", + "relativeMountPath" + ], + "title": "Information used to connect to a CIFS file system." + }, + "AzureFileShareConfiguration": { + "type": "object", + "properties": { + "accountName": { + "type": "string", + "title": "The Azure Storage account name." + }, + "azureFileUrl": { + "type": "string", + "title": "The Azure Files URL.", + "description": "This is of the form 'https://{account}.file.core.windows.net/'." + }, + "accountKey": { + "type": "string", + "title": "The Azure Storage account key." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + } + }, + "required": [ + "accountName", + "azureFileUrl", + "accountKey", + "relativeMountPath" + ], + "title": "Information used to connect to an Azure Fileshare." + }, + "BatchPoolIdentity": { + "type": "object", + "title": "The identity of the Batch pool, if configured.", + "properties": { + "type": { + "type": "string", + "title": "The identity of the Batch pool, if configured.", + "description": "The list of user identities associated with the Batch pool. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "enum": [ + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "PoolIdentityType", + "modelAsString": false, + "values": [ + { + "value": "UserAssigned", + "description": "Batch pool has user assigned identities with it." + }, + { + "value": "None", + "description": "Batch pool has no identity associated with it. Setting `None` in update pool will remove existing identities." + } + ] + } + }, + "userAssignedIdentities": { + "type": "array", + "title": "The list of user identities associated with the Batch account.", + "description": "The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "items": { + "$ref": "#/definitions/UserAssignedIdentity" + } + } + }, + "description": "The identity of the Batch pool, if configured.", + "required": [ + "type" + ] + }, + "UserAssignedIdentity": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "The ARM resource id of the user assigned identity" + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of the user assigned identity." + }, + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the user assigned identity." + } + }, + "description": "The user assigned Identity", + "required": [ + "resourceId" + ] + }, + "ComputeNodeIdentityReference": { + "properties": { + "resourceId": { + "type": "string", + "description": "The ARM resource id of the user assigned identity." + } + }, + "description": "The reference to a user assigned identity associated with the Batch pool which a compute node will use." + }, + "ManagedDisk": { + "type": "object", + "properties": { + "storageAccountType": { + "$ref": "#/definitions/StorageAccountType", + "title": "The storage account type for managed disk." + } + } + }, + "SecurityProfile": { + "type": "object", + "properties": { + "securityType": { + "type": "string", + "title": "Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings.", + "enum": [ + "trustedLaunch" + ], + "x-ms-enum": { + "name": "SecurityTypes", + "modelAsString": false, + "values": [ + { + "value": "trustedLaunch", + "description": "Trusted launch protects against advanced and persistent attack techniques." + } + ] + } + }, + "encryptionAtHost": { + "type": "boolean", + "description": "This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself." + }, + "uefiSettings": { + "$ref": "#/definitions/UefiSettings", + "title": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine.", + "description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine." + } + }, + "description": "Specifies the security profile settings for the virtual machine or virtual machine scale set." + }, + "UefiSettings": { + "type": "object", + "properties": { + "secureBootEnabled": { + "type": "boolean", + "description": "Specifies whether secure boot should be enabled on the virtual machine." + }, + "vTpmEnabled": { + "type": "boolean", + "description": "Specifies whether vTPM should be enabled on the virtual machine." + } + }, + "description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API Version." + }, + "batchUrl": { + "name": "batchUrl", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "description": "The base URL for all Azure Batch service requests." + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/AccountListPoolNodeCounts.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/AccountListPoolNodeCounts.json new file mode 100644 index 000000000000..2c346ba1d1c7 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/AccountListPoolNodeCounts.json @@ -0,0 +1,121 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "poolId": "pool1", + "dedicated": { + "creating": 0, + "idle": 0, + "leavingPool": 0, + "offline": 0, + "preempted": 0, + "rebooting": 0, + "reimaging": 0, + "running": 0, + "starting": 0, + "startTaskFailed": 0, + "unknown": 0, + "unusable": 0, + "waitingForStartTask": 0, + "total": 0 + }, + "lowPriority": { + "creating": 0, + "idle": 0, + "leavingPool": 0, + "offline": 0, + "preempted": 0, + "rebooting": 0, + "reimaging": 0, + "running": 2, + "starting": 1, + "startTaskFailed": 0, + "unknown": 0, + "unusable": 0, + "waitingForStartTask": 0, + "total": 3 + } + }, + { + "poolId": "pool2", + "dedicated": { + "creating": 0, + "idle": 1, + "leavingPool": 0, + "offline": 3, + "preempted": 0, + "rebooting": 0, + "reimaging": 0, + "running": 0, + "starting": 0, + "startTaskFailed": 0, + "unknown": 0, + "unusable": 0, + "waitingForStartTask": 0, + "total": 4 + }, + "lowPriority": { + "creating": 0, + "idle": 0, + "leavingPool": 0, + "offline": 0, + "preempted": 0, + "rebooting": 0, + "reimaging": 0, + "running": 0, + "starting": 0, + "startTaskFailed": 0, + "unknown": 0, + "unusable": 0, + "waitingForStartTask": 0, + "total": 0 + } + }, + { + "poolId": "pool3", + "dedicated": { + "creating": 0, + "idle": 5, + "leavingPool": 0, + "offline": 0, + "preempted": 0, + "rebooting": 0, + "reimaging": 4, + "running": 0, + "starting": 0, + "startTaskFailed": 0, + "unknown": 0, + "unusable": 0, + "waitingForStartTask": 0, + "total": 9 + }, + "lowPriority": { + "creating": 7, + "idle": 0, + "leavingPool": 0, + "offline": 0, + "preempted": 0, + "rebooting": 0, + "reimaging": 0, + "running": 4, + "starting": 0, + "startTaskFailed": 0, + "unknown": 0, + "unusable": 0, + "waitingForStartTask": 0, + "total": 11 + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/AccountListSupportedImages.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/AccountListSupportedImages.json new file mode 100644 index 000000000000..2268f230c987 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/AccountListSupportedImages.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "nodeAgentSKUId": "batch.node.centos 7", + "imageReference": { + "publisher": "OpenLogic", + "offer": "CentOS", + "sku": "7.2", + "version": "latest" + }, + "verificationType": "verified", + "capabilities": [ + "DockerCompatible", + "NvidiaTeslaDriverInstalled" + ], + "osType": "linux" + }, + { + "nodeAgentSKUId": "batch.node.centos 7", + "imageReference": { + "publisher": "OpenLogic", + "offer": "CentOS", + "sku": "7.1", + "version": "latest" + }, + "verificationType": "unverified", + "osType": "linux", + "batchSupportEndOfLife": "2019-11-01T00:00:00.0Z" + }, + { + "nodeAgentSKUId": "batch.node.debian 8", + "imageReference": { + "publisher": "Credativ", + "offer": "Debian", + "sku": "8", + "version": "latest" + }, + "verificationType": "verified", + "osType": "linux" + }, + { + "nodeAgentSKUId": "batch.node.windows amd64", + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2012-R2-Datacenter", + "version": "latest" + }, + "verificationType": "verified", + "osType": "windows" + }, + { + "nodeAgentSKUId": "batch.node.windows amd64", + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2012-Datacenter", + "version": "latest" + }, + "verificationType": "verified", + "osType": "windows" + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/ApplicationGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/ApplicationGet.json new file mode 100644 index 000000000000..32ed0af170dc --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/ApplicationGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "applicationId": "my_application_id" + }, + "responses": { + "200": { + "body": { + "id": "my_application_id", + "versions": [ + "v1.0" + ], + "displayName": "my_display_name" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/ApplicationList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/ApplicationList.json new file mode 100644 index 000000000000..6b40640b47e1 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/ApplicationList.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "my_application_id", + "versions": [ + "v1.0" + ], + "displayName": "my_display_name" + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateAdd.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateAdd.json new file mode 100644 index 000000000000..b2e5e8ab0bef --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateAdd.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "certificate": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "data": "#####...", + "certificateFormat": "pfx", + "password": "" + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateCancelDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateCancelDelete.json new file mode 100644 index 000000000000..43f2df752a60 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateCancelDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "thumbprintAlgorithm": "sha1", + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateDelete.json new file mode 100644 index 000000000000..2a5119db5c1e --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "thumbprintAlgorithm": "sha1", + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateGet.json new file mode 100644 index 000000000000..40b4a20d3105 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "thumbprintAlgorithm": "sha1", + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "thumbprintAlgorithm": "sha1", + "url": "https://account.region.batch.azure.com/certificates(thumbprintAlgorithm=sha1,thumbprint=0123456789abcdef0123456789abcdef01234567)", + "state": "deletefailed", + "stateTransitionTime": "2014-07-31T21:12:58.236Z", + "previousState": "deleting", + "previousStateTransitionTime": "2014-07-31T21:11:58.236Z", + "publicData": "#####...", + "deleteCertificateError": { + "code": "PoolsReferencingCertificate", + "message": "The specified certificate is being used by the below mentioned pool(s)", + "values": [ + { + "name": "Pools", + "value": "mypool1" + } + ] + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateList.json new file mode 100644 index 000000000000..9163623ff19d --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/CertificateList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "thumbprintAlgorithm": "sha1", + "url": "https://account.region.batch.azure.com/certificates(thumbprintAlgorithm=sha1,thumbprint=0123456789abcdef0123456789abcdef01234567)", + "state": "deletefailed", + "stateTransitionTime": "2014-07-31T21:12:58.236Z", + "previousState": "deleting", + "previousStateTransitionTime": "2014-07-31T21:11:58.236Z", + "publicData": "#####...", + "deleteCertificateError": { + "code": "PoolsReferencingCertificate", + "message": "The specified certificate is being used by the below mentioned pool(s)", + "values": [ + { + "name": "Pools", + "value": "mypool1" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/ComputeNodeExtensionGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/ComputeNodeExtensionGet.json new file mode 100644 index 000000000000..1d892ab367fd --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/ComputeNodeExtensionGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "poolId": "poolId", + "nodeId": "tvm-1695681911_2-20161122t193202z", + "extensionName": "batchNodeExtension", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "instanceView": { + "name": "batchNodeExtension", + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "message": "Enable succeeded: Enabling and starting agent and controller" + } + ] + }, + "vmExtension": { + "name": "batchNodeExtension", + "publisher": "Microsoft.Azure.Extensions", + "type": "CustomScript", + "typeHandlerVersion": "2.0", + "autoUpgradeMinorVersion": true + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/ComputeNodeExtensionList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/ComputeNodeExtensionList.json new file mode 100644 index 000000000000..2fe84ab8cbf3 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/ComputeNodeExtensionList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_2-20161122t193202z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "instanceView": { + "name": "batchNodeExtension", + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "message": "Enable succeeded: Enabling and starting agent and controller" + } + ] + }, + "vmExtension": { + "name": "batchNodeExtension", + "publisher": "Microsoft.Azure.Extensions", + "type": "CustomScript", + "typeHandlerVersion": "2.0", + "autoUpgradeMinorVersion": true + } + }, + { + "instanceView": { + "name": "customExtension", + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "message": "ExtensionOperation:enable. Status:Success" + } + ] + }, + "vmExtension": { + "name": "customExtension", + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "autoUpgradeMinorVersion": true, + "enableAutomaticUpgrade": true + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileDeleteFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileDeleteFromNode.json new file mode 100644 index 000000000000..da029a18037a --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileDeleteFromNode.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161122t193202z", + "filePath": "workitems\\jobId\\job-1\\task1\\wd\\testFile.txt", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "recursive": false + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileDeleteFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileDeleteFromTask.json new file mode 100644 index 000000000000..741f1a19223d --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileDeleteFromTask.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "taskId": "task1", + "filePath": "wd\\testFile.txt", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "recursive": false + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileGetFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileGetFromNode.json new file mode 100644 index 000000000000..64607a11a2e5 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileGetFromNode.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "nodeId", + "filePath": "workitems\\jobId\\job-1\\task1\\wd\\testFile.txt", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT", + "ocp-batch-file-isdirectory": "false", + "Content-Length": "17", + "Content-Type": "application/octet-stream", + "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileGetFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileGetFromTask.json new file mode 100644 index 000000000000..983ce7733089 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileGetFromTask.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "taskId": "task1", + "filePath": "wd\\testFile.txt", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT", + "ocp-batch-file-isdirectory": "false", + "Content-Length": "17", + "Content-Type": "application/octet-stream", + "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileGetPropertiesFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileGetPropertiesFromNode.json new file mode 100644 index 000000000000..9e3c4d46b37a --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileGetPropertiesFromNode.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "nodeId", + "filePath": "workitems\\jobId\\job-1\\task1\\wd\\testFile.txt", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT", + "ocp-batch-file-isdirectory": "false", + "Content-Length": "17", + "Content-Type": "application/octet-stream" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileGetPropertiesFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileGetPropertiesFromTask.json new file mode 100644 index 000000000000..6b0ae93f04cd --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileGetPropertiesFromTask.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "taskId": "taskId", + "filePath": "wd\\testFile.txt", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT", + "ocp-batch-file-isdirectory": "false", + "Content-Length": "17", + "Content-Type": "application/octet-stream" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileListFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileListFromNode.json new file mode 100644 index 000000000000..927a000aa226 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileListFromNode.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161122t193202z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "recursive": false + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "shared", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/shared", + "isDirectory": true + }, + { + "name": "startup\\ProcessEnv.cmd", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/startup\\ProcessEnv.cmd", + "isDirectory": false, + "properties": { + "creationTime": "2014-09-19T21:56:17.679195Z", + "lastModified": "2014-09-19T21:56:17.679195Z", + "contentLength": 1813, + "contentType": "application/octet-stream" + } + }, + { + "name": "startup\\stderr.txt", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/startup\\stderr.txt", + "isDirectory": false, + "properties": { + "creationTime": "2014-09-19T21:56:17.5590855Z", + "lastModified": "2014-09-19T21:56:17.5590855Z", + "contentLength": 0, + "contentType": "application/octet-stream" + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileListFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileListFromTask.json new file mode 100644 index 000000000000..20406064aa03 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/FileListFromTask.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "recursive": false + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "startup\\ProcessEnv.cmd", + "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId/files/startup\\ProcessEnv.cmd", + "isDirectory": false, + "properties": { + "creationTime": "2014-09-19T21:56:17.679195Z", + "lastModified": "2014-09-19T21:56:17.679195Z", + "contentLength": 1813, + "contentType": "application/octet-stream" + } + }, + { + "name": "startup\\stderr.txt", + "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId/files/startup\\stderr.txt", + "isDirectory": false, + "properties": { + "creationTime": "2014-09-19T21:56:17.5590855Z", + "lastModified": "2014-09-19T21:56:17.5590855Z", + "contentLength": 0, + "contentType": "application/octet-stream" + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobAdd_Basic.json new file mode 100644 index 000000000000..9b9d194af333 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobAdd_Basic.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "job": { + "id": "jobId", + "priority": 0, + "poolInfo": { + "poolId": "poolId" + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobAdd_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobAdd_Complex.json new file mode 100644 index 000000000000..082cfe7ec0dd --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobAdd_Complex.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "job": { + "id": "jobId", + "priority": 100, + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": -1 + }, + "jobManagerTask": { + "id": "taskId", + "commandLine": "myprogram.exe", + "resourceFiles": [ + { + "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram.exe?sas", + "filePath": "myprogram.exe" + }, + { + "storageContainerUrl": "http://mystorage1.blob.core.windows.net/data?sas", + "filePath": "datafolder" + } + ], + "environmentSettings": [ + { + "name": "myvariable", + "value": "myvalue" + } + ], + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": 0, + "retentionTime": "PT1H" + }, + "requiredSlots": 2, + "killJobOnCompletion": false, + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "admin" + } + }, + "runExclusive": true + }, + "poolInfo": { + "autoPoolSpecification": { + "autoPoolIdPrefix": "mypool", + "poolLifetimeOption": "job", + "pool": { + "vmSize": "small", + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "*" + }, + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 2, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false, + "enableInterNodeCommunication": true, + "startTask": { + "commandLine": "myprogram2.exe", + "resourceFiles": [ + { + "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram2.exe?sas", + "filePath": "myprogram2.exe" + } + ], + "environmentSettings": [ + { + "name": "myvariable", + "value": "myvalue" + } + ], + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "admin" + } + }, + "maxTaskRetryCount": 2, + "waitForSuccess": true + }, + "certificateReferences": [ + { + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "thumbprintAlgorithm": "sha1", + "storeLocation": "localmachine", + "storeName": "Root", + "visibility": [ + "task" + ] + } + ], + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ], + "targetNodeCommunicationMode": "default" + } + } + }, + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ] + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobDelete.json new file mode 100644 index 000000000000..1f3b51f5c16d --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobDisable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobDisable.json new file mode 100644 index 000000000000..765330d7c236 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobDisable.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "jobDisableParameter": { + "disableTasks": "terminate" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobEnable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobEnable.json new file mode 100644 index 000000000000..1f3b51f5c16d --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobEnable.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobGet.json new file mode 100644 index 000000000000..b81e32e6e286 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "id": "jobId", + "url": "https://account.region.batch.azure.com/jobs/jobId", + "eTag": "0x8D4100FC49F0278", + "lastModified": "2016-11-19T00:05:27.5391608Z", + "creationTime": "2016-11-19T00:05:25.311915Z", + "state": "completed", + "stateTransitionTime": "2016-11-19T00:05:27.578581Z", + "previousState": "active", + "previousStateTransitionTime": "2016-11-19T00:05:27.2137716Z", + "priority": 0, + "maxParallelTasks": -1, + "allowTaskPreemption": false, + "usesTaskDependencies": false, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "poolId" + }, + "executionInfo": { + "startTime": "2016-11-19T00:05:25.3309105Z", + "endTime": "2016-11-19T00:05:27.578581Z", + "poolId": "poolId", + "terminateReason": "UserTerminate" + }, + "onAllTasksComplete": "noaction", + "onTaskFailure": "noaction" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobGetTaskCounts.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobGetTaskCounts.json new file mode 100644 index 000000000000..f9130f1daf1a --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobGetTaskCounts.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "taskCounts": { + "active": 5, + "running": 7, + "completed": 4, + "succeeded": 2, + "failed": 2 + }, + "taskSlotCounts": { + "active": 5, + "running": 7, + "completed": 4, + "succeeded": 2, + "failed": 2 + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobList.json new file mode 100644 index 000000000000..ffbab4346a45 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "jobId", + "url": "https://account.region.batch.azure.com/jobs/jobId", + "eTag": "0x8D4100FC46D5BF4", + "lastModified": "2016-11-19T00:05:27.2137716Z", + "creationTime": "2016-11-19T00:05:25.311915Z", + "state": "active", + "stateTransitionTime": "2016-11-19T00:05:27.2137716Z", + "previousState": "disabled", + "previousStateTransitionTime": "2016-11-19T00:05:26.88777Z", + "priority": 0, + "maxParallelTasks": -1, + "allowTaskPreemption": false, + "usesTaskDependencies": false, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "poolId" + }, + "executionInfo": { + "startTime": "2016-11-19T00:05:25.3309105Z", + "poolId": "poolId" + }, + "onAllTasksComplete": "noaction", + "onTaskFailure": "noaction" + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobListFromJobSchedule.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobListFromJobSchedule.json new file mode 100644 index 000000000000..2445c8fb87a9 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobListFromJobSchedule.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "jobId", + "url": "https://account.region.batch.azure.com/jobs/jobId", + "eTag": "0x8D4100FC46D5BF4", + "lastModified": "2016-11-19T00:05:27.2137716Z", + "creationTime": "2016-11-19T00:05:25.311915Z", + "state": "active", + "stateTransitionTime": "2016-11-19T00:05:27.2137716Z", + "previousState": "disabled", + "previousStateTransitionTime": "2016-11-19T00:05:26.88777Z", + "priority": 0, + "maxParallelTasks": -1, + "allowTaskPreemption": false, + "usesTaskDependencies": false, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "poolId" + }, + "executionInfo": { + "startTime": "2016-11-19T00:05:25.3309105Z", + "poolId": "poolId" + }, + "onAllTasksComplete": "noaction", + "onTaskFailure": "noaction" + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobListPreparationAndReleaseTaskStatus.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobListPreparationAndReleaseTaskStatus.json new file mode 100644 index 000000000000..ef2e59a8ac20 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobListPreparationAndReleaseTaskStatus.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "poolId": "poolId", + "nodeId": "tvm-2167304207_1-20140905t174658z", + "nodeUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z", + "jobPreparationTaskExecutionInfo": { + "state": "completed", + "startTime": "2015-05-01T10:20:31Z", + "endTime": "2015-05-02T20:12:42Z", + "taskRootDirectory": "tasks/myjob/job-1/myjobpreptask", + "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z/files/tasks/myjob/job-1/myjobpreptask", + "exitCode": 0, + "retryCount": 0 + }, + "jobReleaseTaskExecutionInfo": { + "state": "completed", + "startTime": "2015-05-01T10:20:31Z", + "endTime": "2015-05-02T20:12:42Z", + "taskRootDirectory": "tasks/myjob/job-1/myjobreleasetask", + "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z/files/tasks/myjob/job-1/myjobreleasetask", + "exitCode": 0 + } + } + ], + "odata.nextLink": "https://account.region.batch.azure.com/jobs/myjob/jobpreparationandreleasestatus?$skipToken=tvm-2167304207_1-20140905t174658z&api-version=2023-11-01.18.0" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobPatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobPatch.json new file mode 100644 index 000000000000..b7d9b2b6c3a6 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobPatch.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "jobPatchParameter": { + "priority": 100, + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": -1 + }, + "poolInfo": { + "poolId": "poolId" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleAdd_Basic.json new file mode 100644 index 000000000000..1f7ea51f764c --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleAdd_Basic.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "cloudJobSchedule": { + "id": "jobScheduleId", + "schedule": { + "recurrenceInterval": "PT5M" + }, + "jobSpecification": { + "poolInfo": { + "poolId": "poolId" + } + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleAdd_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleAdd_Complex.json new file mode 100644 index 000000000000..31b079b8db56 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleAdd_Complex.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "cloudJobSchedule": { + "id": "jobScheduleId", + "schedule": { + "doNotRunUntil": "2014-09-10T02:30:00.000Z", + "doNotRunAfter": "2014-09-10T06:30:00.000Z", + "startWindow": "PT1M", + "recurrenceInterval": "PT5M" + }, + "jobSpecification": { + "priority": 100, + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": -1 + }, + "jobManagerTask": { + "id": "mytask1", + "commandLine": "myprogram.exe", + "resourceFiles": [ + { + "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram.exe?sas", + "filePath": "myprogram.exe" + }, + { + "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/test.txt?sas", + "filePath": "test.txt" + } + ], + "environmentSettings": [ + { + "name": "myvariable", + "value": "myvalue" + } + ], + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": 0, + "retentionTime": "PT1H" + }, + "requiredSlots": 2, + "killJobOnCompletion": true, + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "runExclusive": true + }, + "poolInfo": { + "autoPoolSpecification": { + "autoPoolIdPrefix": "mypool", + "poolLifetimeOption": "jobschedule", + "pool": { + "vmSize": "small", + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "*" + }, + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 2, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false, + "enableInterNodeCommunication": true, + "startTask": { + "commandLine": "myprogram2.exe", + "resourceFiles": [ + { + "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram2.exe?sas", + "filePath": "myprogram2.exe" + } + ], + "environmentSettings": [ + { + "name": "myvariable", + "value": "myvalue" + } + ], + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "admin" + } + }, + "maxTaskRetryCount": 2, + "waitForSuccess": true + }, + "certificateReferences": [ + { + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "thumbprintAlgorithm": "sha1", + "storeLocation": "localmachine", + "storeName": "Root", + "visibility": [ + "task" + ] + } + ], + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ], + "targetNodeCommunicationMode": "default" + } + } + } + }, + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ] + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleDelete.json new file mode 100644 index 000000000000..39fa2cb7a7eb --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleDisable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleDisable.json new file mode 100644 index 000000000000..2c1821aea60e --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleDisable.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleEnable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleEnable.json new file mode 100644 index 000000000000..2c1821aea60e --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleEnable.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleExists.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleExists.json new file mode 100644 index 000000000000..7e5e94cf501b --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleExists.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleGet.json new file mode 100644 index 000000000000..a57c6c0bb5f1 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleGet.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "id": "jobScheduleId", + "url": "https://account.region.batch.azure.com/jobschedules/jobScheduleId", + "eTag": "0x8D40FFD2E848323", + "lastModified": "2016-11-18T21:52:24.7661347Z", + "creationTime": "2016-11-18T21:52:22.5431125Z", + "state": "completed", + "stateTransitionTime": "2016-11-18T21:52:24.8371778Z", + "previousState": "active", + "previousStateTransitionTime": "2016-11-18T21:52:24.0064874Z", + "jobSpecification": { + "priority": 0, + "maxParallelTasks": -1, + "allowTaskPreemption": false, + "usesTaskDependencies": false, + "onAllTasksComplete": "noaction", + "onTaskFailure": "noaction", + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "testPool" + } + }, + "executionInfo": { + "recentJob": { + "url": "https://account.region.batch.azure.com/jobschedules/jobScheduleId:job-1", + "id": "jobScheduleId:job-1" + }, + "endTime": "2016-11-18T21:52:24.8371778Z" + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleList.json new file mode 100644 index 000000000000..cdc3b7e3f276 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleList.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "jobSchedule1", + "url": "https://account.region.batch.azure.com/jobschedules/jobSchedule1", + "eTag": "0x8D40FFD2E10996A", + "lastModified": "2016-11-18T21:52:24.0064874Z", + "creationTime": "2016-11-18T21:52:22.5431125Z", + "state": "active", + "stateTransitionTime": "2016-11-18T21:52:24.0064874Z", + "previousState": "disabled", + "previousStateTransitionTime": "2016-11-18T21:52:23.6471782Z", + "jobSpecification": { + "priority": 0, + "maxParallelTasks": -1, + "allowTaskPreemption": false, + "usesTaskDependencies": false, + "onAllTasksComplete": "noaction", + "onTaskFailure": "noaction", + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "poolId" + } + }, + "executionInfo": { + "recentJob": { + "url": "https://account.region.batch.azure.com/jobs/jobSchedule1:job-1", + "id": "jobSchedule1:job-1" + } + } + }, + { + "id": "jobSchedule2", + "url": "https://account.region.batch.azure.com/jobschedules/jobSchedule2", + "eTag": "0x8D40FFCFF760B51", + "lastModified": "2016-11-18T21:51:05.8184017Z", + "creationTime": "2016-11-18T21:51:05.8184017Z", + "state": "active", + "stateTransitionTime": "2016-11-18T21:51:05.8184017Z", + "schedule": { + "doNotRunUntil": "2020-01-01T12:30:00Z" + }, + "jobSpecification": { + "priority": 0, + "maxParallelTasks": -1, + "usesTaskDependencies": false, + "onAllTasksComplete": "noaction", + "onTaskFailure": "noaction", + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "testPool2" + } + }, + "executionInfo": { + "nextRunTime": "2020-01-01T12:30:00Z" + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobSchedulePatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobSchedulePatch.json new file mode 100644 index 000000000000..e8debaf72f61 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobSchedulePatch.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "jobSchedulePatchParameter": { + "schedule": { + "doNotRunUntil": "2025-01-01T12:30:00Z" + }, + "jobSpecification": { + "priority": 0, + "usesTaskDependencies": false, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "poolId" + } + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleTerminate.json new file mode 100644 index 000000000000..39fa2cb7a7eb --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleTerminate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleUpdate.json new file mode 100644 index 000000000000..d79c81acf078 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobScheduleUpdate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "jobScheduleUpdateParameter": { + "schedule": { + "doNotRunUntil": "2025-01-01T12:30:00Z" + }, + "jobSpecification": { + "priority": 0, + "usesTaskDependencies": false, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "poolId" + } + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobTerminate.json new file mode 100644 index 000000000000..406b61baf3e1 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobTerminate.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "jobTerminateParameter": { + "terminateReason": "User supplied termination reason" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobUpdate.json new file mode 100644 index 000000000000..09e9ae35e1ce --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/JobUpdate.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "jobUpdateParameter": { + "priority": 100, + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": -1 + }, + "poolInfo": { + "poolId": "poolId" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeAddUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeAddUser.json new file mode 100644 index 000000000000..6e235e26053e --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeAddUser.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161121t182739z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "user": { + "name": "userName", + "isAdmin": false, + "expiryTime": "2017-08-01T00:00:00Z", + "password": "Password" + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeDeleteUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeDeleteUser.json new file mode 100644 index 000000000000..e4451949a585 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeDeleteUser.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161121t182739z", + "userName": "userName", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeDisableScheduling.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeDisableScheduling.json new file mode 100644 index 000000000000..e84ecf97e70d --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeDisableScheduling.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161122t193202z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "nodeDisableSchedulingParameter": { + "nodeDisableSchedulingOption": "terminate" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeEnableScheduling.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeEnableScheduling.json new file mode 100644 index 000000000000..132531fe66d1 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeEnableScheduling.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161122t193202z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeGetRemoteDesktop.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeGetRemoteDesktop.json new file mode 100644 index 000000000000..cc2c5ad8acc9 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeGetRemoteDesktop.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161121t182739z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeGetRemoteLoginSettings.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeGetRemoteLoginSettings.json new file mode 100644 index 000000000000..c75a38dbb215 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeGetRemoteLoginSettings.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161121t182739z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "remoteLoginIPAddress": "1.1.1.1", + "remoteLoginPort": 50000 + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeGet_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeGet_Basic.json new file mode 100644 index 000000000000..5cebcf35c1fe --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeGet_Basic.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "poolId": "poolId", + "nodeId": "tvm-1695681911_2-20161122t193202z", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "id": "tvm-1695681911_2-20161122t193202z", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z", + "state": "idle", + "schedulingState": "enabled", + "stateTransitionTime": "2016-11-22T19:37:31.4285526Z", + "lastBootTime": "2016-11-22T19:37:28.623369Z", + "allocationTime": "2016-11-22T19:32:02.8155319Z", + "ipAddress": "1.1.1.1", + "affinityId": "TVM:tvm-1695681911_2-20161122t193202z", + "vmSize": "small", + "totalTasksRun": 0, + "totalTasksSucceeded": 0, + "runningTasksCount": 0, + "isDedicated": true, + "startTask": { + "commandLine": "cmd /c echo hello", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "startTaskInfo": { + "state": "completed", + "startTime": "2016-11-22T19:37:31.4285526Z", + "endTime": "2016-11-22T19:37:31.838028Z", + "exitCode": 0, + "retryCount": 0 + }, + "nodeAgentInfo": { + "version": "1.2.0.0", + "lastUpdateTime": "2016-11-22T19:37:28.623369Z" + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeList.json new file mode 100644 index 000000000000..40b9f42b1b30 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeList.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "tvm-1695681911_1-20161122t193202z", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_1-20161122t193202z", + "state": "idle", + "schedulingState": "enabled", + "stateTransitionTime": "2016-11-22T22:22:27.2236818Z", + "lastBootTime": "2016-11-22T22:22:24.4634125Z", + "allocationTime": "2016-11-22T19:32:02.8155319Z", + "ipAddress": "1.1.1.1", + "affinityId": "TVM:tvm-1695681911_1-20161122t193202z", + "vmSize": "small", + "totalTasksRun": 0, + "totalTasksSucceeded": 0, + "runningTasksCount": 0, + "runningTaskSlotsCount": 0, + "isDedicated": true, + "startTask": { + "commandLine": "cmd /c echo hello", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "startTaskInfo": { + "state": "completed", + "startTime": "2016-11-22T22:22:27.2236818Z", + "endTime": "2016-11-22T22:22:27.567189Z", + "exitCode": 0, + "retryCount": 0 + }, + "nodeAgentInfo": { + "version": "1.2.0.0", + "lastUpdateTime": "2016-11-22T22:22:24.4634125Z" + } + }, + { + "id": "tvm-1695681911_2-20161122t193202z", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z", + "state": "idle", + "schedulingState": "enabled", + "stateTransitionTime": "2016-11-22T19:37:31.4285526Z", + "lastBootTime": "2016-11-22T19:37:28.623369Z", + "allocationTime": "2016-11-22T19:32:02.8155319Z", + "ipAddress": "1.1.1.1", + "affinityId": "TVM:tvm-1695681911_2-20161122t193202z", + "vmSize": "small", + "totalTasksRun": 0, + "totalTasksSucceeded": 0, + "runningTasksCount": 0, + "runningTaskSlotsCount": 0, + "isDedicated": true, + "startTask": { + "commandLine": "cmd /c echo hello", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "startTaskInfo": { + "state": "completed", + "startTime": "2016-11-22T19:37:31.4285526Z", + "endTime": "2016-11-22T19:37:31.838028Z", + "exitCode": 0, + "retryCount": 0 + }, + "nodeAgentInfo": { + "version": "1.2.0.0", + "lastUpdateTime": "2016-11-22T22:22:24.4634125Z" + } + }, + { + "id": "tvm-1695681911_3-20161122t193202z", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_3-20161122t193202z", + "state": "idle", + "schedulingState": "enabled", + "stateTransitionTime": "2016-11-22T19:36:51.0013378Z", + "lastBootTime": "2016-11-22T19:36:48.21721Z", + "allocationTime": "2016-11-22T19:32:02.8155319Z", + "ipAddress": "1.1.1.1", + "affinityId": "TVM:tvm-1695681911_3-20161122t193202z", + "vmSize": "small", + "totalTasksRun": 0, + "totalTasksSucceeded": 0, + "runningTasksCount": 0, + "runningTaskSlotsCount": 0, + "isDedicated": true, + "startTask": { + "commandLine": "cmd /c echo hello", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "startTaskInfo": { + "state": "completed", + "startTime": "2016-11-22T19:36:51.0013378Z", + "endTime": "2016-11-22T19:36:51.2363447Z", + "exitCode": 0, + "retryCount": 0 + }, + "nodeAgentInfo": { + "version": "1.2.0.0", + "lastUpdateTime": "2016-11-22T22:22:24.4634125Z" + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeReboot.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeReboot.json new file mode 100644 index 000000000000..3eda04d3a64a --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeReboot.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161122t193202z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "nodeRebootParameter": { + "nodeRebootOption": "terminate" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeReimage.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeReimage.json new file mode 100644 index 000000000000..62401e606f25 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeReimage.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161122t193202z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "nodeReimageParameter": { + "nodeReimageOption": "terminate" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeUpdateUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeUpdateUser.json new file mode 100644 index 000000000000..bd0301efeeb5 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeUpdateUser.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161121t182739z", + "userName": "userName", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "nodeUpdateUserParameter": { + "password": "12345", + "expiryTime": "2016-11-27T00:45:48.7320857Z" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeUploadBatchServiceLogs.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeUploadBatchServiceLogs.json new file mode 100644 index 000000000000..8afa95afa8da --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/NodeUploadBatchServiceLogs.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161121t182739z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "uploadBatchServiceLogsConfiguration": { + "containerUrl": "https://somestorageacct.blob.core.windows.net/batch-compute-node-logs?se=2017-12-09T18%3A51%3A00Z&sp=w&sv=2016-05-31&sr=c&sig", + "startTime": "2017-11-27T00:00:00Z" + } + }, + "responses": { + "200": { + "body": { + "virtualDirectoryName": "poolId/tvm-1695681911-1-20161121t182739z/0795539d-82fe-48e3-bbff-2964905b6de0", + "numberOfFilesUploaded": 8 + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_AcceleratedNetworking.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_AcceleratedNetworking.json new file mode 100644 index 000000000000..5b7433e376a0 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_AcceleratedNetworking.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Thu, 27 Apr 2023 05:31:01 GMT", + "pool": { + "id": "mypool01", + "vmSize": "Standard_D1_v2", + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2016-datacenter-smalldisk", + "version": "latest" + }, + "nodeAgentSKUId": "batch.node.windows amd64" + }, + "targetDedicatedNodes": 2, + "networkConfiguration": { + "enableAcceleratedNetworking": true + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_CloudServiceConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_CloudServiceConfiguration.json new file mode 100644 index 000000000000..115bb9cdfcc5 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_CloudServiceConfiguration.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "pool": { + "id": "poolId", + "vmSize": "small", + "cloudServiceConfiguration": { + "osFamily": "4" + }, + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 5, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 3, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false, + "enableInterNodeCommunication": true, + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ] + } + }, + "responses": { + "201": { + "request-id": "00000000-0000-0000-0000-000000000000", + "ETag": "0x8D45765A6A2DC04", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_MountConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_MountConfiguration.json new file mode 100644 index 000000000000..3748ed4c4d42 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_MountConfiguration.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-data": "Fri, 17 Feb 2017 00:00:00 GMT", + "pool": { + "id": "pool2", + "vmSize": "standard_a1", + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "20_04-lts" + }, + "nodeAgentSKUId": "batch.node.ubuntu 20.04" + }, + "mountConfiguration": [ + { + "azureBlobFileSystemConfiguration": { + "accountName": "accountName", + "containerName": "blobContainerName", + "accountKey": "accountKey", + "relativeMountPath": "bfusepath" + } + }, + { + "azureFileShareConfiguration": { + "accountName": "accountName", + "azureFileUrl": "https://myaccount.file.core.windows.net/fileshare", + "accountKey": "accountKey", + "relativeMountPath": "filesharepath", + "mountOptions": "mount options ver=1.0" + } + }, + { + "nfsMountConfiguration": { + "source": "somesource nfs url", + "relativeMountPath": "mountpath", + "mountOptions": "mount options ver=1.0" + } + }, + { + "cifsMountConfiguration": { + "username": "accountName", + "password": "password", + "source": "//myaccount.file.core.windows.net/file", + "relativeMountPath": "mountpath", + "mountOptions": "mount options ver=1.0" + } + } + ], + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 5, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 3, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false + } + }, + "responses": { + "201": { + "request-id": "00000000-0000-0000-0000-000000000000", + "ETag": "0x8D45765A6A2DC04", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_OSDisk.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_OSDisk.json new file mode 100644 index 000000000000..05aa576c1eb9 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_OSDisk.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Wed, 23 Aug 2023 08:40:02 GMT", + "pool": { + "id": "mypool001", + "vmSize": "standard_d2s_v3", + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "0001-com-ubuntu-server-focal", + "sku": "20_04-lts" + }, + "osDisk": { + "diskSizeGB": 100, + "managedDisk": { + "storageAccountType": "standardssd_lrs" + }, + "caching": "readwrite", + "ephemeralOSDiskSettings": { + "placement": "CacheDisk" + } + }, + "nodeAgentSKUId": "batch.node.ubuntu 20.04" + }, + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 1, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 1, + "enableAutoScale": false + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_ResourceTags.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_ResourceTags.json new file mode 100644 index 000000000000..e55a502c6c25 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_ResourceTags.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Wed, 14 Jun 2023 06:39:01 GMT", + "pool": { + "id": "mypool001", + "vmSize": "STANDARD_DC2s_V2", + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18_04-lts-gen2", + "version": "latest" + }, + "nodeAgentSKUId": "batch.node.ubuntu 18.04" + }, + "targetDedicatedNodes": 1, + "resourceTags": { + "TagName1": "TagValue1", + "TagName2": "TagValue2" + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_SecurityProfile.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_SecurityProfile.json new file mode 100644 index 000000000000..491adfdf62d2 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_SecurityProfile.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Wed, 14 Jun 2023 06:39:01 GMT", + "pool": { + "id": "mypool001", + "vmSize": "STANDARD_DC2s_V2", + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18_04-lts-gen2", + "version": "latest" + }, + "nodeAgentSKUId": "batch.node.ubuntu 18.04", + "securityProfile": { + "securityType": "trustedLaunch", + "encryptionAtHost": true, + "uefiSettings": { + "secureBootEnabled": false + } + } + }, + "targetDedicatedNodes": 1 + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_VirtualMachineConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_VirtualMachineConfiguration.json new file mode 100644 index 000000000000..d923e6c2caa4 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_VirtualMachineConfiguration.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "pool": { + "id": "pool2", + "vmSize": "standard_a1", + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "0001-com-ubuntu-server-focal", + "sku": "20_04-lts" + }, + "nodeAgentSKUId": "batch.node.ubuntu 20.04" + }, + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 5, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 3, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false, + "enableInterNodeCommunication": true, + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ] + } + }, + "responses": { + "201": { + "request-id": "00000000-0000-0000-0000-000000000000", + "ETag": "0x8D45765A6A2DC04", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json new file mode 100644 index 000000000000..7ef1919157d8 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "pool": { + "id": "pool2", + "vmSize": "standard_a1", + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "0001-com-ubuntu-server-focal", + "sku": "120_04-lts" + }, + "nodeAgentSKUId": "batch.node.ubuntu 20.04", + "containerConfiguration": { + "type": "dockerCompatible", + "containerImageNames": [ + "busybox" + ] + } + }, + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 5, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 3, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false + } + }, + "responses": { + "201": { + "request-id": "00000000-0000-0000-0000-000000000000", + "ETag": "0x8D45765A6A2DC04", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_VirtualMachineConfigurationWithExtensions.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_VirtualMachineConfigurationWithExtensions.json new file mode 100644 index 000000000000..d76396ecc32c --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_VirtualMachineConfigurationWithExtensions.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "pool": { + "id": "pool2", + "vmSize": "standard_a1", + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "0001-com-ubuntu-server-focal", + "sku": "20_04-lts" + }, + "nodeAgentSKUId": "batch.node.ubuntu 20.04", + "extensions": [ + { + "name": "batchextension1", + "type": "KeyVaultForLinux", + "publisher": "Microsoft.Azure.KeyVault", + "typeHandlerVersion": "2.0", + "autoUpgradeMinorVersion": true, + "enableAutomaticUpgrade": true, + "settings": "{\"secretsManagementSettingsKey\":\"secretsManagementSettingsValue\",\"authenticationSettingsKey\":\"authenticationSettingsValue\"}" + } + ] + }, + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 5, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 3, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false, + "enableInterNodeCommunication": true, + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ], + "targetNodeCommunicationMode": "simplified" + } + }, + "responses": { + "201": { + "request-id": "00000000-0000-0000-0000-000000000000", + "ETag": "0x8D45765A6A2DC04", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_VirtualMachineConfigurationWithServiceArtifactReference.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_VirtualMachineConfigurationWithServiceArtifactReference.json new file mode 100644 index 000000000000..f9dc14b1e52b --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolAdd_VirtualMachineConfigurationWithServiceArtifactReference.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Thu, 11 May 2023 08:03:01 GMT", + "pool": { + "id": "mypool002", + "vmSize": "Standard_A1_v2", + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2016-datacenter-smalldisk", + "version": "latest" + }, + "windowsConfiguration": { + "enableAutomaticUpdates": false + }, + "serviceArtifactReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/galleries/myGallery/serviceArtifacts/myServiceArtifact/vmArtifactsProfiles/vmArtifactsProfile" + }, + "nodeAgentSKUId": "batch.node.windows amd64" + }, + "targetDedicatedNodes": 2 + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolDelete.json new file mode 100644 index 000000000000..fd5ed4ef1b14 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolDisableAutoScale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolDisableAutoScale.json new file mode 100644 index 000000000000..c2b0b39917b5 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolDisableAutoScale.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolEnableAutoscale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolEnableAutoscale.json new file mode 100644 index 000000000000..83ec78cb81de --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolEnableAutoscale.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "poolEnableAutoScaleParameter": { + "autoScaleFormula": "$TargetDedicated=0", + "autoScaleEvaluationInterval": "PT8M" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolEvaluateAutoscale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolEvaluateAutoscale.json new file mode 100644 index 000000000000..23d5a2780d64 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolEvaluateAutoscale.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "poolEvaluateAutoScaleParameter": { + "autoScaleFormula": "$TargetDedicated=1" + } + }, + "responses": { + "200": { + "body": { + "timestamp": "2016-11-22T19:39:28.5246331Z", + "results": "$TargetDedicated=1;$NodeDeallocationOption=requeue" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolExists.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolExists.json new file mode 100644 index 000000000000..1ef9756a6457 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolExists.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_AcceleratedNetworking.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_AcceleratedNetworking.json new file mode 100644 index 000000000000..c9e0c64b9e2c --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_AcceleratedNetworking.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "pool", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 28 Apr 2023 02:43:01 GMT" + }, + "responses": { + "200": { + "body": { + "id": "pool", + "url": "https://account.region.batch.azure.com/pools/pool", + "eTag": "0x8DB4792BE8566A2", + "lastModified": "2023-04-28T02:46:19.0268066Z", + "creationTime": "2023-04-28T02:46:19.0268066Z", + "state": "active", + "stateTransitionTime": "2023-04-28T02:46:19.0268066Z", + "allocationState": "steady", + "allocationStateTransitionTime": "2023-04-28T02:47:17.9169655Z", + "vmSize": "standard_d1_v2", + "resizeTimeout": "PT15M", + "currentDedicatedNodes": 2, + "targetDedicatedNodes": 2, + "currentLowPriorityNodes": 0, + "targetLowPriorityNodes": 0, + "enableAutoScale": false, + "enableInterNodeCommunication": false, + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2016-datacenter-smalldisk", + "version": "latest" + }, + "nodeAgentSKUId": "batch.node.windows amd64" + }, + "networkConfiguration": { + "dynamicVNetAssignmentScope": "none", + "enableAcceleratedNetworking": true + }, + "currentNodeCommunicationMode": "classic" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_Basic.json new file mode 100644 index 000000000000..bb86f21d10b0 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_Basic.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "pool", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "id": "pool", + "url": "https://account.region.batch.azure.com/pools/pool", + "eTag": "0x8D413091E739A56", + "lastModified": "2016-11-22T18:55:25.2608598Z", + "creationTime": "2016-11-22T18:55:24.2632496Z", + "state": "active", + "stateTransitionTime": "2016-11-22T18:55:24.2632496Z", + "allocationState": "steady", + "allocationStateTransitionTime": "2016-11-22T18:55:24.8154041Z", + "vmSize": "standard_a1", + "resizeTimeout": "PT15M", + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "targetDedicatedNodes": 0, + "targetLowPriorityNodes": 0, + "enableAutoScale": false, + "enableInterNodeCommunication": false, + "startTask": { + "commandLine": "/bin/bash -c 'echo start task'", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "0001-com-ubuntu-server-focal", + "sku": "20_04-lts", + "version": "latest" + }, + "nodeAgentSKUId": "batch.node.ubuntu 20.04" + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_SecurityProfile.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_SecurityProfile.json new file mode 100644 index 000000000000..a58241f75c03 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_SecurityProfile.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "mypool001", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Wed, 14 Jun 2023 06:39:01 GMT" + }, + "responses": { + "200": { + "body": { + "id": "mypool001", + "url": "https://account.region.batch.azure.com/pools/pool", + "eTag": "0x8DB6CA2DFF530D1", + "lastModified": "2023-06-14T06:45:00.0946897Z", + "creationTime": "2023-06-14T06:45:00.0946897Z", + "state": "active", + "stateTransitionTime": "2023-06-14T06:45:00.0946897Z", + "allocationState": "steady", + "allocationStateTransitionTime": "2023-06-14T06:45:59.4770341Z", + "vmSize": "standard_dc2s_v2", + "resizeTimeout": "PT15M", + "currentDedicatedNodes": 1, + "targetDedicatedNodes": 1, + "currentLowPriorityNodes": 0, + "targetLowPriorityNodes": 0, + "enableAutoScale": false, + "enableInterNodeCommunication": false, + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18_04-lts-gen2", + "version": "latest" + }, + "nodeAgentSKUId": "batch.node.ubuntu 18.04", + "securityProfile": { + "securityType": "trustedLaunch", + "encryptionAtHost": true, + "uefiSettings": { + "secureBootEnabled": false + } + } + }, + "currentNodeCommunicationMode": "classic" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_VirtualMachineConfigurationWithExtensions.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_VirtualMachineConfigurationWithExtensions.json new file mode 100644 index 000000000000..141e3ee949fa --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_VirtualMachineConfigurationWithExtensions.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "pool", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "id": "pool", + "url": "https://account.region.batch.azure.com/pools/pool", + "eTag": "0x8D413091E739A56", + "lastModified": "2016-11-22T18:55:25.2608598Z", + "creationTime": "2016-11-22T18:55:24.2632496Z", + "state": "active", + "stateTransitionTime": "2016-11-22T18:55:24.2632496Z", + "allocationState": "steady", + "allocationStateTransitionTime": "2016-11-22T18:55:24.8154041Z", + "vmSize": "standard_a1", + "resizeTimeout": "PT15M", + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "targetDedicatedNodes": 0, + "targetLowPriorityNodes": 0, + "enableAutoScale": false, + "enableInterNodeCommunication": false, + "startTask": { + "commandLine": "/bin/bash -c 'echo start task'", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "0001-com-ubuntu-server-focal", + "sku": "20_04-lts", + "version": "latest" + }, + "nodeAgentSKUId": "batch.node.ubuntu 20.04", + "extensions": [ + { + "name": "batchextension1", + "type": "KeyVaultForLinux", + "publisher": "Microsoft.Azure.KeyVault", + "typeHandlerVersion": "2.0", + "autoUpgradeMinorVersion": true, + "enableAutomaticUpgrade": true, + "settings": "{\"secretsManagementSettingsKey\":\"secretsManagementSettingsValue\",\"authenticationSettingsKey\":\"authenticationSettingsValue\"}" + } + ] + }, + "targetNodeCommunicationMode": "classic", + "currentNodeCommunicationMode": "classic" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_VirtualMachineConfigurationWithOSDisk.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_VirtualMachineConfigurationWithOSDisk.json new file mode 100644 index 000000000000..4dfe381c7648 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_VirtualMachineConfigurationWithOSDisk.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "mypool001", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Wed, 23 Aug 2023 08:42:01 GMT" + }, + "responses": { + "200": { + "body": { + "id": "mypool001", + "url": "http://localhost:20302/testaccount1tls/pools/mypool001", + "eTag": "0x8DBA3B4E91CD7B7", + "lastModified": "2023-08-23T08:42:40.3479479Z", + "creationTime": "2023-08-23T08:42:40.3479479Z", + "state": "active", + "stateTransitionTime": "2023-08-23T08:42:40.3479479Z", + "allocationState": "steady", + "allocationStateTransitionTime": "2023-08-23T08:42:53.8587829Z", + "vmSize": "standard_d2s_v3", + "resizeTimeout": "PT15M", + "currentDedicatedNodes": 1, + "targetDedicatedNodes": 1, + "currentLowPriorityNodes": 0, + "targetLowPriorityNodes": 0, + "enableAutoScale": false, + "enableInterNodeCommunication": false, + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "0001-com-ubuntu-server-focal", + "sku": "20_04-lts", + "version": "latest" + }, + "osDisk": { + "ephemeralOSDiskSettings": { + "placement": "CacheDisk" + }, + "managedDisk": { + "storageAccountType": "standardssd_lrs" + }, + "diskSizeGB": 100, + "caching": "readwrite" + }, + "nodeAgentSKUId": "batch.node.ubuntu 20.04" + }, + "currentNodeCommunicationMode": "classic" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_VirtualMachineConfigurationWithServiceArtifactReference.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_VirtualMachineConfigurationWithServiceArtifactReference.json new file mode 100644 index 000000000000..d6b3d226a7e0 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolGet_VirtualMachineConfigurationWithServiceArtifactReference.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "pool", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Thu, 11 May 2023 08:08:01 GMT" + }, + "responses": { + "200": { + "body": { + "id": "pool", + "url": "https://account.region.batch.azure.com/pools/pool", + "eTag": "0x8DB51F652DFC78F", + "lastModified": "2023-05-11T08:04:19.7259151Z", + "creationTime": "2023-05-11T08:04:19.7259151Z", + "state": "active", + "stateTransitionTime": "2023-05-11T08:04:19.7259151Z", + "allocationState": "steady", + "allocationStateTransitionTime": "2023-05-11T08:05:22.0020052Z", + "vmSize": "standard_a1_v2", + "resizeTimeout": "PT15M", + "currentDedicatedNodes": 2, + "targetDedicatedNodes": 2, + "currentLowPriorityNodes": 0, + "targetLowPriorityNodes": 0, + "enableAutoScale": false, + "enableInterNodeCommunication": false, + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2016-datacenter-smalldisk", + "version": "latest" + }, + "nodeAgentSKUId": "batch.node.windows amd64", + "windowsConfiguration": { + "enableAutomaticUpdates": false + }, + "serviceArtifactReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/galleries/myGallery/serviceArtifacts/myServiceArtifact/vmArtifactsProfiles/vmArtifactsProfile" + } + }, + "currentNodeCommunicationMode": "classic" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolListUsageMetrics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolListUsageMetrics.json new file mode 100644 index 000000000000..3e87d6d4a588 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolListUsageMetrics.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "startTime": "2013-04-01T00:00:00Z", + "endTime": "2013-04-01T00:30:00Z", + "poolId": "p1", + "vmSize": "a1", + "totalCoreHours": 39.384838 + }, + { + "startTime": "2013-04-01T00:30:00Z", + "endTime": "2013-04-01T01:00:00Z", + "poolId": "p2", + "vmSize": "a8", + "totalCoreHours": 3039.384838 + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolList_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolList_Basic.json new file mode 100644 index 000000000000..896eb3d412af --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolList_Basic.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "testPool", + "url": "https://accountname.region.batch.azure.com/pools/testPool", + "eTag": "0x8D4123BEF87D233", + "lastModified": "2016-11-21T18:26:39.7108787Z", + "creationTime": "2016-11-21T18:26:39.7108787Z", + "state": "active", + "stateTransitionTime": "2016-11-21T18:26:39.7108787Z", + "allocationState": "steady", + "allocationStateTransitionTime": "2016-11-21T18:27:40.287803Z", + "vmSize": "small", + "resizeTimeout": "PT15M", + "currentDedicatedNodes": 3, + "currentLowPriorityNodes": 0, + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "enableAutoScale": false, + "enableInterNodeCommunication": false, + "startTask": { + "commandLine": "cmd /c echo hello", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "*" + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolPatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolPatch.json new file mode 100644 index 000000000000..dce62a11a4d8 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolPatch.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "poolPatchParameter": { + "startTask": { + "commandLine": "/bin/bash -c 'echo start task'" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolRemoveNodes.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolRemoveNodes.json new file mode 100644 index 000000000000..b2a3831fa536 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolRemoveNodes.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "nodeRemoveParameter": { + "nodeList": [ + "tvm-1695681911_1-20161122t224741z", + "tvm-1695681911_2-20161122t224741z" + ] + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolResize.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolResize.json new file mode 100644 index 000000000000..bd88be8f22e3 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolResize.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "resizePool", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "poolResizeParameter": { + "targetDedicatedNodes": 1, + "targetLowPriorityNodes": 0 + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolStopResize.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolStopResize.json new file mode 100644 index 000000000000..fd5ed4ef1b14 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolStopResize.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolUpdate.json new file mode 100644 index 000000000000..adfbc41d361f --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/PoolUpdate.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "poolUpdatePropertiesParameter": { + "startTask": { + "commandLine": "/bin/bash -c 'echo start task'" + }, + "certificateReferences": [], + "applicationPackageReferences": [], + "metadata": [] + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAddCollection_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAddCollection_Basic.json new file mode 100644 index 000000000000..57c56f3d91a6 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAddCollection_Basic.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "taskCollection": { + "value": [ + { + "id": "simple1", + "commandLine": "cmd /c dir /s" + }, + { + "id": "simple2", + "commandLine": "cmd /c dir /s" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "status": "success", + "taskId": "simple1", + "eTag": "0x8D3D623CD661246", + "lastModified": "2016-09-06T07:02:44.7589958Z", + "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple1" + }, + { + "status": "success", + "taskId": "simple2", + "eTag": "0x8D3D623CD7072CC", + "lastModified": "2016-09-06T07:02:44.8270028Z", + "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple2" + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAddCollection_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAddCollection_Complex.json new file mode 100644 index 000000000000..95288b7c6d30 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAddCollection_Complex.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "taskCollection": { + "value": [ + { + "id": "complex1", + "commandLine": "cmd /c dir /s", + "resourceFiles": [ + { + "autoStorageContainerName": "containerName", + "filePath": "data" + } + ], + "environmentSettings": [ + { + "name": "env1", + "value": "value1" + }, + { + "name": "env2", + "value": "value2" + } + ], + "affinityInfo": { + "affinityId": "affinityId" + }, + "constraints": { + "maxWallClockTime": "P1D", + "retentionTime": "P2D", + "maxTaskRetryCount": 5 + }, + "requiredSlots": 2, + "multiInstanceSettings": { + "numberOfInstances": 3, + "coordinationCommandLine": "cmd /c echo coordinating", + "commonResourceFiles": [ + { + "httpUrl": "https://common.blob.core.windows.net/", + "filePath": "common.exe" + } + ] + } + }, + { + "id": "simple3", + "commandLine": "cmd /c dir /s" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "taskId": "simple3", + "status": "success", + "eTag": "0x8D3D623CE295629", + "lastModified": "2016-09-06T07:02:46.0386857Z", + "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple3" + }, + { + "taskId": "complex1", + "status": "success", + "eTag": "0x8D3D623CE29A412", + "lastModified": "2016-09-06T07:02:46.0406802Z", + "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/complex1" + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAdd_Basic.json new file mode 100644 index 000000000000..6776a82b9562 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAdd_Basic.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "task": { + "id": "task1", + "commandLine": "cmd /c echo task1" + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAdd_ContainerSettings.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAdd_ContainerSettings.json new file mode 100644 index 000000000000..cf952b30845f --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAdd_ContainerSettings.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "task": { + "id": "taskId", + "commandLine": "bash -c 'echo hello'", + "containerSettings": { + "imageName": "ubuntu", + "containerRunOptions": "--rm" + }, + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAdd_ExitConditions.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAdd_ExitConditions.json new file mode 100644 index 000000000000..e20bec3ad33b --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAdd_ExitConditions.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "task": { + "id": "taskId", + "commandLine": "cmd /c exit 3", + "exitConditions": { + "exitCodeRanges": [ + { + "start": 2, + "end": 4, + "exitOptions": { + "jobAction": "terminate" + } + } + ] + }, + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAdd_RequiredSlots.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAdd_RequiredSlots.json new file mode 100644 index 000000000000..1713b26e02a8 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskAdd_RequiredSlots.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "task": { + "id": "task1", + "requiredSlots": 2, + "commandLine": "cmd /c echo task1" + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskDelete.json new file mode 100644 index 000000000000..ae0e09d690cc --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskGet.json new file mode 100644 index 000000000000..1fa76c29756c --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "id": "testTask", + "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId", + "eTag": "0x8D3D62350711C55", + "creationTime": "2016-09-06T06:59:15.1161429Z", + "lastModified": "2016-09-06T06:59:15.1161429Z", + "state": "active", + "stateTransitionTime": "2016-09-06T06:59:15.1161429Z", + "commandLine": "cmd /c hostname", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "multiInstanceSettings": { + "numberOfInstances": 3, + "coordinationCommandLine": "cmd /c echo coordinating" + }, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "retentionTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "requiredSlots": 2, + "executionInfo": { + "retryCount": 0, + "requeueCount": 0 + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskList.json new file mode 100644 index 000000000000..f6cc8e2bb7d0 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskList.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "task1", + "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/task1", + "eTag": "0x8D4125FD1A825A4", + "creationTime": "2016-11-21T22:43:31.4733476Z", + "lastModified": "2016-11-21T22:43:31.4733476Z", + "state": "active", + "stateTransitionTime": "2016-11-21T22:43:31.4733476Z", + "commandLine": "cmd /c echo task1", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "retentionTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "requiredSlots": 2, + "executionInfo": { + "retryCount": 0, + "requeueCount": 0 + } + }, + { + "id": "task2", + "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/task2", + "eTag": "0x8D4125FD2153345", + "creationTime": "2016-11-21T22:43:31.6736345Z", + "lastModified": "2016-11-21T22:43:32.1880389Z", + "state": "active", + "stateTransitionTime": "2016-11-21T22:43:31.6736345Z", + "commandLine": "cmd /c echo task2", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "retentionTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 3 + }, + "requiredSlots": 2, + "executionInfo": { + "retryCount": 0, + "requeueCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskListSubtasks.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskListSubtasks.json new file mode 100644 index 000000000000..ce620cc42979 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskListSubtasks.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": 1, + "startTime": "2016-09-06T06:59:16.3139271Z", + "endTime": "2016-09-06T06:59:20.0242024Z", + "state": "completed", + "stateTransitionTime": "2016-09-06T06:59:20.0242024Z", + "previousState": "running", + "previousStateTransitionTime": "2016-09-06T06:59:16.3139271Z", + "exitCode": 0, + "nodeInfo": { + "affinityId": "TVM:tvm-2544493925_3-20160905t051718z", + "nodeUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_3-20160905t051718z", + "poolId": "mpiPool", + "nodeId": "tvm-2544493925_3-20160905t051718z", + "taskRootDirectory": "\\workitems\\jobId\\job-1\\taskId\\1", + "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_3-20160905t051718z/files//workitems/jobId/job-1/taskId/1" + } + }, + { + "id": 2, + "startTime": "2016-09-06T06:59:16.9702844Z", + "state": "running", + "stateTransitionTime": "2016-09-06T06:59:16.9702844Z", + "nodeInfo": { + "affinityId": "TVM:tvm-2544493925_2-20160905t051718z", + "nodeUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_2-20160905t051718z", + "poolId": "mpiPool", + "nodeId": "tvm-2544493925_2-20160905t051718z", + "taskRootDirectory": "\\workitems\\jobId\\job-1\\taskId\\2", + "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_2-20160905t051718z/files//workitems/jobId/job-1/taskId/2" + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskReactivate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskReactivate.json new file mode 100644 index 000000000000..7a44b3e6effb --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskReactivate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskTerminate.json new file mode 100644 index 000000000000..7a44b3e6effb --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskTerminate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskUpdate.json new file mode 100644 index 000000000000..db120864df24 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2023-11-01.18.0/examples/TaskUpdate.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2023-11-01.18.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "taskUpdateParameter": { + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": 3, + "retentionTime": "PT1H" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/readme.md b/specification/batch/data-plane/readme.md index a0414bafc09d..aa8386cd4d3e 100644 --- a/specification/batch/data-plane/readme.md +++ b/specification/batch/data-plane/readme.md @@ -27,18 +27,27 @@ These are the global settings for the Batch API. ``` yaml title: BatchServiceClient openapi-type: data-plane -tag: package-2023-05.17.0 +tag: package-2023-11 ``` +### Tag: package-2023-11 + +These settings apply only when `--tag=package-2023-11` is specified on the command line. + +```yaml $(tag) == 'package-2023-11' +input-file: + - Microsoft.Batch/stable/2023-11-01.18.0/BatchService.json +``` ### Tag: package-2023-05.17.0 These settings apply only when `--tag=package-2023-05.17.0` is specified on the command line. -```yaml $(tag) == 'package-2023-05.17.0' +``` yaml $(tag) == 'package-2023-05.17.0' input-file: - Microsoft.Batch/stable/2023-05-01.17.0/BatchService.json ``` + ### Tag: package-2022-10.16.0 These settings apply only when `--tag=package-2022-10.16.0` is specified on the command line. diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operationStatuses.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operationStatuses.json index a3f3fca8d56c..4aa5918a3f47 100644 --- a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operationStatuses.json +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operationStatuses.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{location}/operationsStatuses/{asyncOperationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{location}/operationStatuses/{asyncOperationId}": { "get": { "x-ms-examples": { "Get specific operation status": { @@ -48,11 +48,7 @@ "description": "Get the status of a long running azure asynchronous operation.", "parameters": [ { - "name": "location", - "in": "path", - "required": true, - "type": "string", - "description": "The region name of operation." + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" }, { "name": "asyncOperationId", @@ -62,10 +58,10 @@ "description": "The operation Id." }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -78,7 +74,7 @@ "default": { "description": "Error response returned if request was unsuccessful.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } } @@ -91,7 +87,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } ], "properties": { diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/capabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/capabilities.json new file mode 100644 index 000000000000..136527d553c5 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/capabilities.json @@ -0,0 +1,262 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}/capabilities": { + "get": { + "description": "Get a list of Capability resources that extend a Target resource..", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Capability resources returned if request was successful.", + "schema": { + "$ref": "./types/capabilities.json#/definitions/capabilityListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Capabilities that extend a virtual machine Target resource.": { + "$ref": "./examples/ListCapabilities.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}/capabilities/{capabilityName}": { + "get": { + "description": "Get a Capability resource that extends a Target resource.", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityName" + } + ], + "responses": { + "200": { + "description": "Capability resource returned if request was successful.", + "schema": { + "$ref": "./types/capabilities.json#/definitions/capability" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Capability that extends a virtual machine Target resource.": { + "$ref": "./examples/GetCapability.json" + } + } + }, + "delete": { + "description": "Delete a Capability that extends a Target resource.", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_Delete", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityName" + } + ], + "responses": { + "200": { + "description": "Capability resource deletion was successful." + }, + "204": { + "description": "Capability resource deletion was successful." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Capability that extends a virtual machine Target resource.": { + "$ref": "./examples/DeleteCapability.json" + } + } + }, + "put": { + "description": "Create or update a Capability resource that extends a Target resource.", + "tags": [ + "Capabilities" + ], + "operationId": "Capabilities_CreateOrUpdate", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityName" + }, + { + "name": "capability", + "description": "Capability resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/capabilities.json#/definitions/capability" + } + } + ], + "responses": { + "200": { + "description": "Capability resource returned if request was successful.", + "schema": { + "$ref": "./types/capabilities.json#/definitions/capability" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create/update a Capability that extends a virtual machine Target resource.": { + "$ref": "./examples/CreateUpdateCapability.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/capabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/capabilityTypes.json new file mode 100644 index 000000000000..0667c38cb499 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/capabilityTypes.json @@ -0,0 +1,131 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}/capabilityTypes": { + "get": { + "description": "Get a list of Capability Type resources for given Target Type and location.", + "tags": [ + "CapabilityTypes" + ], + "operationId": "CapabilityTypes_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/targetTypeName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Capability Type resources returned if request was successful.", + "schema": { + "$ref": "./types/capabilityTypes.json#/definitions/capabilityTypeListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Capability Types for a virtual machine Target resource on westus2 location.": { + "$ref": "./examples/ListCapabilityTypes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}/capabilityTypes/{capabilityTypeName}": { + "get": { + "description": "Get a Capability Type resource for given Target Type and location.", + "tags": [ + "Capabilities" + ], + "operationId": "CapabilityTypes_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/targetTypeName" + }, + { + "$ref": "./types/common.json#/parameters/capabilityTypeName" + } + ], + "responses": { + "200": { + "description": "Capability Type resource returned if request was successful.", + "schema": { + "$ref": "./types/capabilityTypes.json#/definitions/capabilityType" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Capability Type for a virtual machine Target resource on westus2 location.": { + "$ref": "./examples/GetCapabilityType.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/CancelExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/CancelExperiment.json new file mode 100644 index 000000000000..e23718469cdb --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/CancelExperiment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-01-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-01-01", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/CreateUpdateCapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/CreateUpdateCapability.json new file mode 100644 index 000000000000..5ac245761011 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/CreateUpdateCapability.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "capabilityName": "Shutdown-1.0", + "api-version": "2024-01-01", + "capability": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0", + "type": "Microsoft.Chaos/targets/capabilities", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + }, + "systemData": { + "createdAt": "2020-05-14T05:08:38.4662189Z", + "lastModifiedAt": "2020-05-14T05:08:38.4662189Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/CreateUpdateExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/CreateUpdateExperiment.json new file mode 100644 index 000000000000..cff2b7a08d65 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/CreateUpdateExperiment.json @@ -0,0 +1,182 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-01-01", + "experiment": { + "location": "eastus2euap", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:microsoft:virtualMachine:shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + } + } + }, + "responses": { + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-01-01", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/experiments/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + }, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "eastus2euap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "provisioningState": "Creating", + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:microsoft:virtualMachine:shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + }, + "200": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-01-01", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/experiments/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + }, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "eastus2euap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "provisioningState": "Updating", + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:microsoft:virtualMachine:shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/CreateUpdateTarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/CreateUpdateTarget.json new file mode 100644 index 000000000000..5c7d3222ba69 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/CreateUpdateTarget.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-Agent", + "api-version": "2024-01-01", + "target": { + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent", + "type": "Microsoft.Chaos/targets", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ], + "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/DeleteCapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/DeleteCapability.json new file mode 100644 index 000000000000..f54b0231852b --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/DeleteCapability.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "capabilityName": "Shutdown-1.0", + "api-version": "2024-01-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/DeleteExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/DeleteExperiment.json new file mode 100644 index 000000000000..e23718469cdb --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/DeleteExperiment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-01-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-01-01", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/DeleteTarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/DeleteTarget.json new file mode 100644 index 000000000000..35894555972e --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/DeleteTarget.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-Agent", + "api-version": "2024-01-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/DetailsExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/DetailsExperiment.json new file mode 100644 index 000000000000..7d3279682848 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/DetailsExperiment.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "executionId": "f24500ad-744e-4a26-864b-b76199eac333", + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.Chaos/experiments/executions/getExecutionDetails", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executions/f24500ad-744e-4a26-864b-b76199eac333/getExecutionDetails", + "name": "f24500ad-744e-4a26-864b-b76199eac333", + "properties": { + "lastActionAt": "2020-12-14T21:52:52.2552574Z", + "startedAt": "2020-12-14T21:52:52.2552574Z", + "stoppedAt": "2020-12-14T21:56:18.9281956Z", + "status": "failed", + "failureReason": "Dependency failure", + "runInformation": { + "steps": [ + { + "stepName": "FirstStep", + "stepId": "FirstStep", + "status": "failed", + "branches": [ + { + "branchName": "FirstBranch", + "branchId": "FirstBranch", + "status": "failed", + "actions": [ + { + "actionName": "urn:provider:agent-v2:Microsoft.Azure.Chaos.Fault.CPUPressureAllProcessors", + "actionId": "59499d33-6751-4b6e-a1f6-58f4d56a040a", + "status": "failed", + "startTime": "2020-12-14T13:56:13.6270153-08:00", + "endTime": "2020-12-14T13:56:13.6270153-08:00", + "targets": [ + { + "status": "succeeded", + "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1", + "targetFailedTime": "2021-04-02T16:30:55+00:00", + "targetCompletedTime": "2021-04-02T17:30:55+00:00" + }, + { + "status": "failed", + "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1", + "targetFailedTime": "2021-04-02T16:30:55+00:00", + "targetCompletedTime": "2021-04-02T17:30:55+00:00" + } + ] + } + ] + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetCapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetCapability.json new file mode 100644 index 000000000000..d4acc057b0a8 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetCapability.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "capabilityName": "Shutdown-1.0", + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0", + "type": "Microsoft.Chaos/targets/capabilities", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + }, + "systemData": { + "createdAt": "2020-05-14T05:08:38.4662189Z", + "lastModifiedAt": "2020-05-14T05:08:38.4662189Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetCapabilityType.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetCapabilityType.json new file mode 100644 index 000000000000..0e974cffdf07 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetCapabilityType.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "targetTypeName": "Microsoft-VirtualMachine", + "capabilityTypeName": "Shutdown-1.0", + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0", + "type": "Microsoft.Chaos/locations/targetTypes/capabilityTypes", + "name": "Shutdown-1.0", + "properties": { + "kind": "fault", + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "displayName": "Shutdown VM", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "runtimeProperties": { + "kind": "continuous" + }, + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetExperiment.json new file mode 100644 index 000000000000..941ccac17c9d --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetExperiment.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetExperimentExecution.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetExperimentExecution.json new file mode 100644 index 000000000000..3ab3b4c2e7bb --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetExperimentExecution.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "executionId": "f24500ad-744e-4a26-864b-b76199eac333", + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.Chaos/experiments/executions", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executions/f24500ad-744e-4a26-864b-b76199eac333", + "name": "f24500ad-744e-4a26-864b-b76199eac333", + "properties": { + "startedAt": "2020-12-14T21:52:52.2552574Z", + "stoppedAt": "2020-12-14T21:56:18.9281956Z", + "status": "failed" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetOperationStatus.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetOperationStatus.json new file mode 100644 index 000000000000..200f3d386d3c --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetOperationStatus.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "location": "West US", + "asyncOperationId": "713192d7-503f-477a-9cfe-4efc3ee2bd11", + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/locations/westus/operationStatuses/713192d7-503f-477a-9cfe-4efc3ee2bd11", + "name": "713192d7-503f-477a-9cfe-4efc3ee2bd11", + "startTime": "2017-01-01T13:13:13.933Z", + "endTime": "2017-01-01T16:13:13.933Z", + "status": "Succeeded" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetTarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetTarget.json new file mode 100644 index 000000000000..7599c1f16746 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetTarget.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-Agent", + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent", + "type": "Microsoft.Chaos/targets", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ], + "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetTargetType.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetTargetType.json new file mode 100644 index 000000000000..5e21250f94d3 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/GetTargetType.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "targetTypeName": "Microsoft-Agent", + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-Agent", + "type": "Microsoft.Chaos/locations/targetTypes", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "displayName": "Chaos Agent", + "description": "A target represents Chaos Agent.", + "propertiesSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine.json", + "resourceTypes": [ + "Microsoft.Compute/virtualMachines", + "Microsoft.Compute/virtualMachineScaleSets" + ] + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListCapabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListCapabilities.json new file mode 100644 index 000000000000..756e0bbbbbdd --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListCapabilities.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "targetName": "Microsoft-VirtualMachine", + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0", + "type": "Microsoft.Chaos/targets/capabilities", + "name": "Shutdown-1.0", + "properties": { + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + }, + "systemData": { + "createdAt": "2020-05-14T05:08:38.4662189Z", + "lastModifiedAt": "2020-05-14T05:08:38.4662189Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities?continuationToken=&api-version=2024-01-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListCapabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListCapabilityTypes.json new file mode 100644 index 000000000000..86209c53b8dd --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListCapabilityTypes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "targetTypeName": "Microsoft-VirtualMachine", + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0", + "type": "Microsoft.Chaos/locations/targetTypes/capabilityTypes", + "name": "Shutdown-1.0", + "properties": { + "kind": "fault", + "publisher": "Microsoft", + "targetType": "VirtualMachine", + "displayName": "Shutdown VM", + "description": "Shutdown an Azure Virtual Machine for a defined period of time.", + "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json", + "runtimeProperties": { + "kind": "continuous" + }, + "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes?continuationToken=&api-version=2024-01-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListExperimentExecutions.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListExperimentExecutions.json new file mode 100644 index 000000000000..234b170bf7fe --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListExperimentExecutions.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.Chaos/experiments/executions", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executions/", + "name": "f24500ad-744e-4a26-864b-b76199eac333", + "properties": { + "startedAt": "2020-12-14T21:52:52.2552574Z", + "stoppedAt": "2020-12-14T21:56:18.9281956Z", + "status": "failed" + } + }, + { + "type": "Microsoft.Chaos/experiments/executions", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails/14d98367-52ef-4596-be4f-53fc81bbfc33", + "name": "14d98367-52ef-4596-be4f-53fc81bbfc33", + "properties": { + "startedAt": "2020-12-14T21:52:52.2552574Z", + "stoppedAt": "2020-12-14T21:56:18.9281956Z", + "status": "success" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails?continuationToken=&api-version=2024-01-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListExperimentsInAResourceGroup.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListExperimentsInAResourceGroup.json new file mode 100644 index 000000000000..9008b2c2b89b --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListExperimentsInAResourceGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "continuationToken": null, + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments?continuationToken=&api-version=2024-01-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListExperimentsInASubscription.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListExperimentsInASubscription.json new file mode 100644 index 000000000000..966c7a3e889b --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListExperimentsInASubscription.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "continuationToken": null, + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "SystemAssigned", + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/experiments?continuationToken=&api-version=2024-01-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListTargetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListTargetTypes.json new file mode 100644 index 000000000000..0e46b29f5fce --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListTargetTypes.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "locationName": "westus2", + "continuationToken": null, + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-Agent", + "type": "Microsoft.Chaos/locations/targetTypes", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "displayName": "Chaos Agent", + "description": "A target represents Chaos Agent.", + "propertiesSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine.json", + "resourceTypes": [ + "Microsoft.Compute/virtualMachines", + "Microsoft.Compute/virtualMachineScaleSets" + ] + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes?continuationToken=&api-version=2024-01-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListTargets.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListTargets.json new file mode 100644 index 000000000000..308cbea5a20b --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/ListTargets.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "parentProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResourceName": "exampleVM", + "continuationToken": null, + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent", + "type": "Microsoft.Chaos/targets", + "name": "Microsoft-Agent", + "location": "centraluseuap", + "properties": { + "identities": [ + { + "type": "CertificateSubjectIssuer", + "subject": "CN=example.subject" + } + ], + "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf" + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets?continuationToken=&api-version=2024-01-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/StartExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/StartExperiment.json new file mode 100644 index 000000000000..e23718469cdb --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/StartExperiment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-01-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-01-01", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/UpdateExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/UpdateExperiment.json new file mode 100644 index 000000000000..2731ea7024e4 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/examples/UpdateExperiment.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "exampleRG", + "experimentName": "exampleExperiment", + "api-version": "2024-01-01", + "experiment": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.ManagedIdentity/userAssignedIdentity/exampleUMI": {} + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2024-01-01", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + }, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment", + "type": "Microsoft.Chaos/experiments", + "name": "exampleExperiment", + "location": "centraluseuap", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.ManagedIdentity/userAssignedIdentity/exampleUMI": {} + }, + "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56", + "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "steps": [ + { + "name": "step1", + "branches": [ + { + "name": "branch1", + "actions": [ + { + "type": "continuous", + "name": "urn:csci:provider:providername:Shutdown/1.0", + "selectorId": "selector1", + "duration": "PT10M", + "parameters": [ + { + "key": "abruptShutdown", + "value": "false" + } + ] + } + ] + } + ] + } + ], + "selectors": [ + { + "type": "List", + "id": "selector1", + "targets": [ + { + "type": "ChaosTarget", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine" + } + ] + } + ] + }, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "createdBy": "User", + "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976", + "lastModifiedAt": "2021-07-01T00:00:00.0Z", + "lastModifiedBy": "User", + "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/experiments.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/experiments.json new file mode 100644 index 000000000000..d9ea44736020 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/experiments.json @@ -0,0 +1,547 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/experiments": { + "get": { + "description": "Get a list of Experiment resources in a subscription.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_ListAll", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/experiments.json#/parameters/runningFilter" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Experiment resources returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Experiments in a subscription.": { + "$ref": "./examples/ListExperimentsInASubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments": { + "get": { + "description": "Get a list of Experiment resources in a resource group.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/runningFilter" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Experiment resources returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Experiments in a resource group.": { + "$ref": "./examples/ListExperimentsInAResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}": { + "delete": { + "description": "Delete a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Delete", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "202": { + "description": "Asynchronous delete operation." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete a Experiment in a resource group.": { + "$ref": "./examples/DeleteExperiment.json" + } + } + }, + "get": { + "description": "Get a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "200": { + "description": "Experiment resource returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Experiment in a resource group.": { + "$ref": "./examples/GetExperiment.json" + } + } + }, + "put": { + "description": "Create or update a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_CreateOrUpdate", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "name": "experiment", + "description": "Experiment resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + } + ], + "responses": { + "201": { + "description": "Long running create experiment operation.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "200": { + "description": "Long running replace experiment operation.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create/update a Experiment in a resource group.": { + "$ref": "./examples/CreateUpdateExperiment.json" + } + } + }, + "patch": { + "description": "The operation to update an experiment.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Update", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "name": "experiment", + "in": "body", + "required": true, + "description": "Parameters supplied to the Update experiment operation.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentUpdate" + } + } + ], + "responses": { + "202": { + "description": "Long running update operation.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experiment" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Update an Experiment in a resource group.": { + "$ref": "./examples/UpdateExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/cancel": { + "post": { + "description": "Cancel a running Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Cancel", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "202": { + "description": "Long running cancel operation." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Cancel a running Experiment.": { + "$ref": "./examples/CancelExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/start": { + "post": { + "description": "Start a Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_Start", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "202": { + "description": "Long running start experiment operation." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Start a Experiment.": { + "$ref": "./examples/StartExperiment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executions": { + "get": { + "description": "Get a list of executions of an Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_ListAllExecutions", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + } + ], + "responses": { + "200": { + "description": "List of executions returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentExecutionListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all executions of an Experiment.": { + "$ref": "./examples/ListExperimentExecutions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executions/{executionId}": { + "get": { + "description": "Get an execution of an Experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_GetExecution", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "$ref": "./types/experiments.json#/parameters/executionId" + } + ], + "responses": { + "200": { + "description": "Execution returned if request was successful.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentExecution" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the execution of a Experiment.": { + "$ref": "./examples/GetExperimentExecution.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executions/{executionId}/getExecutionDetails": { + "post": { + "description": "Execution details of an experiment resource.", + "tags": [ + "Experiments" + ], + "operationId": "Experiments_ExecutionDetails", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/experiments.json#/parameters/experimentName" + }, + { + "$ref": "./types/experiments.json#/parameters/executionId" + } + ], + "responses": { + "200": { + "description": "Get experiment execution details.", + "schema": { + "$ref": "./types/experiments.json#/definitions/experimentExecutionDetails" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get experiment execution details.": { + "$ref": "./examples/DetailsExperiment.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/operationStatuses.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/operationStatuses.json new file mode 100644 index 000000000000..ec92a2d3ea50 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/operationStatuses.json @@ -0,0 +1,118 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{location}/operationStatuses/{asyncOperationId}": { + "get": { + "x-ms-examples": { + "Get specific operation status": { + "$ref": "./examples/GetOperationStatus.json" + } + }, + "tags": [ + "asyncOperations" + ], + "operationId": "OperationStatuses_Get", + "description": "Get the status of a long running azure asynchronous operation.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "asyncOperationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation Id." + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. Operation status.", + "schema": { + "$ref": "#/definitions/operationStatus" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "operationStatus": { + "description": "The status of operation.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + ], + "properties": { + "id": { + "type": "string", + "description": "The operation Id." + }, + "name": { + "type": "string", + "description": "The operation name." + }, + "startTime": { + "type": "string", + "description": "The start time of the operation." + }, + "endTime": { + "type": "string", + "description": "The end time of the operation." + }, + "status": { + "type": "string", + "description": "The status of the operation." + } + } + } + }, + "parameters": {} +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/operations.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/operations.json new file mode 100644 index 000000000000..5b30a1cafcb2 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/operations.json @@ -0,0 +1,70 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Chaos/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Get a list all available Operations.", + "operationId": "Operations_ListAll", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "List of Operations returned if request was successful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": {} + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/targetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/targetTypes.json new file mode 100644 index 000000000000..d479a80c04e8 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/targetTypes.json @@ -0,0 +1,125 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes": { + "get": { + "description": "Get a list of Target Type resources for given location.", + "tags": [ + "TargetTypes" + ], + "operationId": "TargetTypes_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Target Type resources returned if request was successful.", + "schema": { + "$ref": "./types/targetTypes.json#/definitions/targetTypeListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Target Types for westus2 location.": { + "$ref": "./examples/ListTargetTypes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}": { + "get": { + "description": "Get a Target Type resources for given location.", + "tags": [ + "TargetTypes" + ], + "operationId": "TargetTypes_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/locationName" + }, + { + "$ref": "./types/common.json#/parameters/targetTypeName" + } + ], + "responses": { + "200": { + "description": "Target Type resource returned if request was successful.", + "schema": { + "$ref": "./types/targetTypes.json#/definitions/targetType" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Target Type for westus2 location": { + "$ref": "./examples/GetTargetType.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/targets.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/targets.json new file mode 100644 index 000000000000..77f2a18ac595 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/targets.json @@ -0,0 +1,250 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "description": "Azure Chaos Resource Provider REST API", + "version": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets": { + "get": { + "description": "Get a list of Target resources that extend a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Target resources returned if request was successful.", + "schema": { + "$ref": "./types/targets.json#/definitions/targetListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all Targets that extend a virtual machine resource.": { + "$ref": "./examples/ListTargets.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}": { + "get": { + "description": "Get a Target resource that extends a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_Get", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + } + ], + "responses": { + "200": { + "description": "Target resource returned if request was successful.", + "schema": { + "$ref": "./types/targets.json#/definitions/target" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Target that extends a virtual machine resource.": { + "$ref": "./examples/GetTarget.json" + } + } + }, + "delete": { + "description": "Delete a Target resource that extends a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_Delete", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + } + ], + "responses": { + "200": { + "description": "Target resource deletion was successful." + }, + "204": { + "description": "Target resource deletion was successful." + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Target that extends a virtual machine resource.": { + "$ref": "./examples/DeleteTarget.json" + } + } + }, + "put": { + "description": "Create or update a Target resource that extends a tracked regional resource.", + "tags": [ + "Targets" + ], + "operationId": "Targets_CreateOrUpdate", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/parentProviderNamespace" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceType" + }, + { + "$ref": "./types/common.json#/parameters/parentResourceName" + }, + { + "$ref": "./types/common.json#/parameters/targetName" + }, + { + "name": "target", + "description": "Target resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/targets.json#/definitions/target" + } + } + ], + "responses": { + "200": { + "description": "Target resource returned if request was successful.", + "schema": { + "$ref": "./types/targets.json#/definitions/target" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create/update a Target that extends a virtual machine resource.": { + "$ref": "./examples/CreateUpdateTarget.json" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/capabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/capabilities.json new file mode 100644 index 000000000000..e1dcee8804c9 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/capabilities.json @@ -0,0 +1,84 @@ +{ + "swagger": "2.0", + "info": { + "title": "Capability Types", + "version": "2024-01-01" + }, + "paths": {}, + "definitions": { + "capability": { + "type": "object", + "description": "Model that represents a Capability resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "description": "The standard system metadata of a resource type.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of a capability resource.", + "$ref": "#/definitions/capabilityProperties", + "readOnly": true + } + } + }, + "capabilityProperties": { + "type": "object", + "description": "Model that represents the Capability properties model.", + "properties": { + "publisher": { + "type": "string", + "description": "String of the Publisher that this Capability extends.", + "readOnly": true + }, + "targetType": { + "type": "string", + "description": "String of the Target Type that this Capability extends.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized string of the description.", + "readOnly": true + }, + "parametersSchema": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve JSON schema of the Capability parameters.", + "readOnly": true + }, + "urn": { + "$ref": "./common.json#/definitions/urn", + "description": "String of the URN for this Capability Type.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "capabilityListResult": { + "type": "object", + "description": "Model that represents a list of Capability resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/capability" + }, + "description": "List of Capability resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Capability resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/capabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/capabilityTypes.json new file mode 100644 index 000000000000..35e902fda074 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/capabilityTypes.json @@ -0,0 +1,125 @@ +{ + "swagger": "2.0", + "info": { + "title": "Capability Metadata Types", + "version": "2024-01-01" + }, + "paths": {}, + "definitions": { + "capabilityType": { + "type": "object", + "description": "Model that represents a Capability Type resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "description": "The system metadata properties of the capability type resource.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Location of the Capability Type resource." + }, + "properties": { + "description": "The properties of the capability type resource.", + "$ref": "#/definitions/capabilityTypeProperties", + "x-ms-client-flatten": true, + "readOnly": true + } + } + }, + "capabilityTypeProperties": { + "type": "object", + "description": "Model that represents the Capability Type properties model.", + "properties": { + "publisher": { + "type": "string", + "description": "String of the Publisher that this Capability Type extends.", + "readOnly": true + }, + "targetType": { + "type": "string", + "description": "String of the Target Type that this Capability Type extends.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Localized string of the display name.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized string of the description.", + "readOnly": true + }, + "parametersSchema": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve JSON schema of the Capability Type parameters.", + "readOnly": true + }, + "urn": { + "$ref": "./common.json#/definitions/urn", + "description": "String of the URN for this Capability Type.", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "String of the kind of this Capability Type.", + "readOnly": true + }, + "azureRbacActions": { + "type": "array", + "description": "Control plane actions necessary to execute capability type.", + "items": { + "type": "string", + "description": "Control plane action necessary to execute capability type." + } + }, + "azureRbacDataActions": { + "type": "array", + "description": "Data plane actions necessary to execute capability type.", + "items": { + "type": "string", + "description": "Data plane action necessary to execute capability type." + } + }, + "runtimeProperties": { + "type": "object", + "description": "Runtime properties of this Capability Type.", + "properties": { + "kind": { + "type": "string", + "description": "String of the kind of the resource's action type (continuous or discrete).", + "readOnly": true + } + } + } + }, + "additionalProperties": false + }, + "capabilityTypeListResult": { + "type": "object", + "description": "Model that represents a list of Capability Type resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/capabilityType" + }, + "description": "List of Capability Type resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Capability Type resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/common.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/common.json new file mode 100644 index 000000000000..15342e9b3c18 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/common.json @@ -0,0 +1,234 @@ +{ + "swagger": "2.0", + "info": { + "title": "Common Types", + "version": "2024-01-01" + }, + "paths": {}, + "definitions": { + "resourceIdentity": { + "type": "object", + "description": "The identity of a resource.", + "properties": { + "type": { + "type": "string", + "description": "String of the resource identity type.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "$ref": "../../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/UserAssignedIdentities", + "description": "The list of user identities associated with the Experiment. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + }, + "principalId": { + "type": "string", + "description": "GUID that represents the principal ID of this resource identity.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "GUID that represents the tenant ID of this resource identity.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "readOnly": true + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "url": { + "type": "string", + "description": "String that represents a URL.", + "maxLength": 2048, + "x-nullable": false + }, + "urn": { + "type": "string", + "description": "String that represents a URN.", + "maxLength": 2048, + "x-nullable": false + }, + "urlNullable": { + "type": "string", + "description": "Optional string that represents a URL.", + "maxLength": 2048, + "x-nullable": true + }, + "provisioningState": { + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "type": "string", + "description": "Current provisioning state for a given Azure Chaos resource.", + "example": "Succeeded", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "value": "Succeeded" + }, + { + "value": "Failed" + }, + { + "value": "Canceled" + }, + { + "value": "Creating" + }, + { + "value": "Updating" + }, + { + "value": "Deleting" + } + ] + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "description": "String that sets the API version.", + "type": "string", + "in": "query", + "required": true, + "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}(|-preview)$", + "x-ms-parameter-location": "client" + }, + "subscriptionId": { + "name": "subscriptionId", + "description": "GUID that represents an Azure subscription ID.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "x-ms-parameter-location": "client" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "String that represents an Azure resource group.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.\\(\\)]*[a-zA-Z0-9_\\-\\(\\)]$", + "x-ms-parameter-location": "method" + }, + "parentResourcePath": { + "name": "parentResourcePath", + "description": "String that represents the path to a parent resource starting with the providers segment.", + "type": "string", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "parentProviderNamespace": { + "name": "parentProviderNamespace", + "description": "String that represents a resource provider namespace.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9]+\\.[a-zA-Z0-9]+$", + "x-ms-parameter-location": "method" + }, + "parentResourceType": { + "name": "parentResourceType", + "description": "String that represents a resource type.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "parentResourceName": { + "name": "parentResourceName", + "description": "String that represents a resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "targetName": { + "name": "targetName", + "description": "String that represents a Target resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "capabilityName": { + "name": "capabilityName", + "description": "String that represents a Capability resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$", + "x-ms-parameter-location": "method" + }, + "targetTypeName": { + "name": "targetTypeName", + "description": "String that represents a Target Type resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "capabilityTypeName": { + "name": "capabilityTypeName", + "description": "String that represents a Capability Type resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$", + "x-ms-parameter-location": "method" + }, + "locationName": { + "name": "locationName", + "description": "String that represents a Location resource name.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9_\\-\\.]+$", + "x-ms-parameter-location": "method" + }, + "continuationToken": { + "name": "continuationToken", + "description": "String that sets the continuation token.", + "type": "string", + "in": "query", + "x-ms-parameter-location": "method", + "x-nullable": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/experiments.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/experiments.json new file mode 100644 index 000000000000..acb33ae3f784 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/experiments.json @@ -0,0 +1,832 @@ +{ + "swagger": "2.0", + "info": { + "title": "Experiment Types", + "version": "2024-01-01" + }, + "paths": {}, + "parameters": { + "experimentName": { + "name": "experimentName", + "description": "String that represents a Experiment resource name.", + "type": "string", + "in": "path", + "required": true, + "minLength": 1, + "pattern": "^[^<>%&:?#/\\\\]+$", + "x-ms-parameter-location": "method" + }, + "statusId": { + "name": "statusId", + "description": "GUID that represents a Experiment status.", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "x-ms-parameter-location": "method" + }, + "runningFilter": { + "name": "running", + "description": "Optional value that indicates whether to filter results based on if the Experiment is currently running. If null, then the results will not be filtered.", + "type": "boolean", + "in": "query", + "x-ms-parameter-location": "method", + "x-nullable": false + }, + "executionId": { + "name": "executionId", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "description": "GUID that represents a Experiment execution detail.", + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" + } + }, + "definitions": { + "experiment": { + "type": "object", + "description": "Model that represents a Experiment resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "systemData": { + "description": "The system metadata of the experiment resource.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "identity": { + "description": "The identity of the experiment resource.", + "$ref": "./common.json#/definitions/resourceIdentity" + }, + "properties": { + "description": "The properties of the experiment resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/experimentProperties" + } + }, + "required": [ + "properties" + ] + }, + "experimentUpdate": { + "type": "object", + "description": "Describes an experiment update.", + "properties": { + "identity": { + "description": "The identity of the experiment resource.", + "$ref": "./common.json#/definitions/resourceIdentity" + }, + "tags": { + "description": "The tags of the experiment resource.", + "$ref": "./common.json#/definitions/tags" + } + } + }, + "experimentProperties": { + "description": "Model that represents the Experiment properties model.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "./common.json#/definitions/provisioningState", + "description": "Most recent provisioning state for the given experiment resource.", + "readOnly": true + }, + "steps": { + "type": "array", + "items": { + "$ref": "#/definitions/step" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "List of steps.", + "minItems": 1, + "maxItems": 4 + }, + "selectors": { + "type": "array", + "items": { + "$ref": "#/definitions/selector" + }, + "description": "List of selectors.", + "minItems": 1 + } + }, + "required": [ + "steps", + "selectors" + ], + "additionalProperties": false + }, + "experimentListResult": { + "type": "object", + "description": "Model that represents a list of Experiment resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/experiment" + }, + "description": "List of Experiment resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Experiment resources.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "step": { + "type": "object", + "description": "Model that represents a step in the Experiment resource.", + "properties": { + "name": { + "type": "string", + "description": "String of the step name.", + "minLength": 1 + }, + "branches": { + "type": "array", + "description": "List of branches.", + "items": { + "$ref": "#/definitions/branch" + }, + "x-ms-identifiers": [ + "name" + ], + "minItems": 1, + "maxItems": 9 + } + }, + "required": [ + "name", + "branches" + ], + "additionalProperties": false + }, + "branch": { + "type": "object", + "description": "Model that represents a branch in the step. 9 total per experiment.", + "properties": { + "name": { + "type": "string", + "description": "String of the branch name.", + "minLength": 1 + }, + "actions": { + "type": "array", + "description": "List of actions.", + "items": { + "$ref": "#/definitions/action" + }, + "x-ms-identifiers": [ + "name" + ], + "minItems": 1, + "maxItems": 9 + } + }, + "required": [ + "name", + "actions" + ], + "additionalProperties": false + }, + "action": { + "type": "object", + "description": "Model that represents the base action model. 9 total per experiment.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Enum that discriminates between action models." + }, + "name": { + "$ref": "./common.json#/definitions/urn", + "description": "String that represents a Capability URN." + } + }, + "required": [ + "type", + "name" + ] + }, + "delayAction": { + "type": "object", + "description": "Model that represents a delay action.", + "allOf": [ + { + "$ref": "#/definitions/action" + } + ], + "properties": { + "duration": { + "type": "string", + "description": "ISO8601 formatted string that represents a duration.", + "pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$", + "format": "duration" + } + }, + "required": [ + "duration" + ], + "additionalProperties": false, + "x-ms-discriminator-value": "delay" + }, + "discreteAction": { + "type": "object", + "description": "Model that represents a discrete action.", + "allOf": [ + { + "$ref": "#/definitions/action" + } + ], + "properties": { + "parameters": { + "description": "List of key value pairs.", + "type": "array", + "items": { + "$ref": "#/definitions/keyValuePair" + }, + "x-ms-identifiers": [ + "key" + ] + }, + "selectorId": { + "type": "string", + "description": "String that represents a selector.", + "minLength": 1 + } + }, + "required": [ + "parameters", + "selectorId" + ], + "additionalProperties": false, + "x-ms-discriminator-value": "discrete" + }, + "continuousAction": { + "type": "object", + "description": "Model that represents a continuous action.", + "allOf": [ + { + "$ref": "#/definitions/action" + } + ], + "properties": { + "duration": { + "type": "string", + "description": "ISO8601 formatted string that represents a duration.", + "pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$", + "format": "duration" + }, + "parameters": { + "description": "List of key value pairs.", + "type": "array", + "items": { + "$ref": "#/definitions/keyValuePair" + }, + "x-ms-identifiers": [ + "key" + ] + }, + "selectorId": { + "type": "string", + "description": "String that represents a selector.", + "minLength": 1 + } + }, + "required": [ + "duration", + "parameters", + "selectorId" + ], + "additionalProperties": false, + "x-ms-discriminator-value": "continuous" + }, + "keyValuePair": { + "description": "A map to describe the settings of an action.", + "type": "object", + "properties": { + "key": { + "description": "The name of the setting for the action.", + "type": "string", + "minLength": 1 + }, + "value": { + "description": "The value of the setting for the action.", + "type": "string", + "minLength": 1 + } + }, + "required": [ + "key", + "value" + ], + "additionalProperties": false + }, + "selector": { + "type": "object", + "description": "Model that represents a selector in the Experiment resource.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Enum of the selector type.", + "enum": [ + "List", + "Query" + ], + "x-ms-enum": { + "name": "SelectorType", + "modelAsString": true + } + }, + "id": { + "type": "string", + "description": "String of the selector ID.", + "minLength": 1 + }, + "filter": { + "$ref": "#/definitions/filter" + } + }, + "required": [ + "type", + "id" + ], + "additionalProperties": true + }, + "listSelector": { + "type": "object", + "description": "Model that represents a list selector.", + "allOf": [ + { + "$ref": "#/definitions/selector" + } + ], + "properties": { + "targets": { + "type": "array", + "description": "List of Target references.", + "minItems": 1, + "maxItems": 50, + "items": { + "$ref": "#/definitions/targetReference" + } + } + }, + "additionalProperties": false, + "x-ms-discriminator-value": "List", + "required": [ + "targets" + ] + }, + "querySelector": { + "type": "object", + "description": "Model that represents a query selector.", + "allOf": [ + { + "$ref": "#/definitions/selector" + } + ], + "properties": { + "queryString": { + "type": "string", + "description": "Azure Resource Graph (ARG) Query Language query for target resources." + }, + "subscriptionIds": { + "type": "array", + "description": "Subscription id list to scope resource query.", + "items": { + "type": "string", + "description": "String of the availability zone ID." + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "x-ms-discriminator-value": "Query", + "required": [ + "queryString", + "subscriptionIds" + ] + }, + "filter": { + "type": "object", + "description": "Model that represents available filter types that can be applied to a targets list.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Enum that discriminates between filter types. Currently only `Simple` type is supported.", + "enum": [ + "Simple" + ], + "x-ms-enum": { + "name": "FilterType", + "modelAsString": true + } + } + }, + "required": [ + "type" + ] + }, + "simpleFilter": { + "type": "object", + "description": "Model that represents a simple target filter.", + "allOf": [ + { + "$ref": "#/definitions/filter" + } + ], + "properties": { + "parameters": { + "$ref": "#/definitions/simpleFilterParameters" + } + }, + "additionalProperties": false, + "x-ms-discriminator-value": "Simple" + }, + "simpleFilterParameters": { + "description": "Model that represents the Simple filter parameters.", + "type": "object", + "properties": { + "zones": { + "type": "array", + "items": { + "type": "string", + "description": "String of the availability zone ID." + }, + "description": "List of Azure availability zones to filter targets by." + } + }, + "additionalProperties": false + }, + "targetReference": { + "type": "object", + "description": "Model that represents a reference to a Target in the selector.", + "properties": { + "type": { + "type": "string", + "description": "Enum of the Target reference type.", + "enum": [ + "ChaosTarget" + ], + "x-ms-enum": { + "name": "TargetReferenceType", + "modelAsString": true + } + }, + "id": { + "type": "string", + "description": "String of the resource ID of a Target resource.", + "pattern": "^\\/[Ss][Uu][Bb][Ss][Cc][Rr][Ii][Pp][Tt][Ii][Oo][Nn][Ss]\\/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\\/[Rr][Ee][Ss][Oo][Uu][Rr][Cc][Ee][Gg][Rr][Oo][Uu][Pp][Ss]\\/[a-zA-Z0-9_\\-\\.\\(\\)]*[a-zA-Z0-9_\\-\\(\\)]\\/[Pp][Rr][Oo][Vv][Ii][Dd][Ee][Rr][Ss]\\/[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\/[a-zA-Z0-9_\\-\\.]+\\/[a-zA-Z0-9_\\-\\.]+\\/[Pp][Rr][Oo][Vv][Ii][Dd][Ee][Rr][Ss]\\/[Mm][Ii][Cc][Rr][Oo][Ss][Oo][Ff][Tt]\\.[Cc][Hh][Aa][Oo][Ss]\\/[Tt][Aa][Rr][Gg][Ee][Tt][Ss]\\/[a-zA-Z0-9_\\-\\.]+$" + } + }, + "required": [ + "type", + "id" + ], + "additionalProperties": false + }, + "experimentCancelOperationResult": { + "type": "object", + "description": "Model that represents the result of a cancel Experiment operation.", + "properties": { + "name": { + "type": "string", + "description": "String of the Experiment name.", + "readOnly": true + }, + "statusUrl": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve the Experiment status.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentStartOperationResult": { + "type": "object", + "description": "Model that represents the result of a start Experiment operation.", + "properties": { + "name": { + "type": "string", + "description": "String of the Experiment name.", + "readOnly": true + }, + "statusUrl": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve the Experiment status.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentExecutionActionTargetDetailsProperties": { + "description": "Model that represents the Experiment action target details properties model.", + "type": "object", + "properties": { + "status": { + "description": "The status of the execution.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target for the action.", + "type": "string", + "readOnly": true + }, + "targetFailedTime": { + "type": "string", + "format": "date-time", + "description": "String that represents the failed date time.", + "readOnly": true, + "x-nullable": true + }, + "targetCompletedTime": { + "type": "string", + "format": "date-time", + "description": "String that represents the completed date time.", + "readOnly": true, + "x-nullable": true + }, + "error": { + "description": "The error of the action.", + "type": "object", + "$ref": "#/definitions/experimentExecutionActionTargetDetailsError", + "readOnly": true, + "x-nullable": true + } + } + }, + "experimentExecutionActionTargetDetailsError": { + "type": "object", + "description": "Model that represents the Experiment action target details error model.", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message", + "type": "string", + "readOnly": true + } + } + }, + "experimentExecution": { + "type": "object", + "description": "Model that represents the execution of a Experiment.", + "properties": { + "type": { + "type": "string", + "description": "String of the resource type.", + "readOnly": true + }, + "id": { + "type": "string", + "description": "String of the fully qualified resource ID.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "String of the resource name.", + "readOnly": true + }, + "properties": { + "description": "The properties of experiment execution status.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/experimentExecutionProperties" + } + }, + "additionalProperties": false + }, + "experimentExecutionProperties": { + "description": "Model that represents the execution properties of an Experiment.", + "type": "object", + "properties": { + "status": { + "description": "The status of the execution.", + "type": "string", + "readOnly": true + }, + "startedAt": { + "type": "string", + "format": "date-time", + "description": "String that represents the start date time.", + "readOnly": true + }, + "stoppedAt": { + "type": "string", + "format": "date-time", + "description": "String that represents the stop date time.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentExecutionListResult": { + "description": "Model that represents a list of Experiment executions and a link for pagination.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/experimentExecution" + }, + "description": "List of Experiment executions.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Experiment executions.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "experimentExecutionDetails": { + "description": "Model that represents the execution details of an Experiment.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "String of the resource type.", + "readOnly": true + }, + "id": { + "type": "string", + "description": "String of the fully qualified resource ID.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "String of the resource name.", + "readOnly": true + }, + "properties": { + "description": "The properties of the experiment execution details.", + "$ref": "#/definitions/experimentExecutionDetailsProperties", + "x-ms-client-flatten": true, + "readOnly": true + } + } + }, + "experimentExecutionDetailsProperties": { + "description": "Model that represents the extended properties of an experiment execution.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/experimentExecutionProperties" + } + ], + "properties": { + "failureReason": { + "description": "The reason why the execution failed.", + "type": "string", + "readOnly": true + }, + "lastActionAt": { + "type": "string", + "format": "date-time", + "description": "String that represents the last action date time.", + "readOnly": true + }, + "runInformation": { + "description": "The information of the experiment run.", + "type": "object", + "properties": { + "steps": { + "description": "The steps of the experiment run.", + "type": "array", + "items": { + "$ref": "#/definitions/stepStatus" + }, + "x-ms-identifiers": [ + "stepName" + ], + "readOnly": true + } + }, + "readOnly": true + } + } + }, + "stepStatus": { + "description": "Model that represents the a list of branches and branch statuses.", + "type": "object", + "properties": { + "stepName": { + "description": "The name of the step.", + "type": "string", + "readOnly": true + }, + "stepId": { + "description": "The id of the step.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The value of the status of the step.", + "type": "string", + "readOnly": true + }, + "branches": { + "description": "The array of branches.", + "type": "array", + "items": { + "$ref": "#/definitions/branchStatus" + }, + "x-ms-identifiers": [ + "branchName" + ], + "readOnly": true + } + } + }, + "branchStatus": { + "description": "Model that represents the a list of actions and action statuses.", + "type": "object", + "properties": { + "branchName": { + "description": "The name of the branch status.", + "type": "string", + "readOnly": true + }, + "branchId": { + "description": "The id of the branch status.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the branch.", + "type": "string", + "readOnly": true + }, + "actions": { + "description": "The array of actions.", + "type": "array", + "items": { + "$ref": "#/definitions/actionStatus" + }, + "x-ms-identifiers": [ + "actionId" + ], + "readOnly": true + } + } + }, + "actionStatus": { + "type": "object", + "description": "Model that represents the an action and its status.", + "properties": { + "actionName": { + "description": "The name of the action status.", + "type": "string", + "readOnly": true + }, + "actionId": { + "description": "The id of the action status.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the action.", + "type": "string", + "readOnly": true + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "String that represents the start time of the action.", + "readOnly": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "String that represents the end time of the action.", + "readOnly": true + }, + "targets": { + "description": "The array of targets.", + "type": "array", + "items": { + "$ref": "#/definitions/experimentExecutionActionTargetDetailsProperties" + }, + "x-ms-identifiers": [], + "readOnly": true + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/targetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/targetTypes.json new file mode 100644 index 000000000000..4d89fff21036 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/targetTypes.json @@ -0,0 +1,88 @@ +{ + "swagger": "2.0", + "info": { + "title": "Target Metadata Types", + "version": "2024-01-01" + }, + "paths": {}, + "definitions": { + "targetType": { + "type": "object", + "description": "Model that represents a Target Type resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "description": "The system metadata properties of the target type resource.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Location of the Target Type resource." + }, + "properties": { + "description": "The properties of the target type resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/targetTypeProperties" + } + }, + "required": [ + "properties" + ] + }, + "targetTypeProperties": { + "type": "object", + "description": "Model that represents the base Target Type properties model.", + "properties": { + "displayName": { + "type": "string", + "description": "Localized string of the display name.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Localized string of the description.", + "readOnly": true + }, + "propertiesSchema": { + "$ref": "./common.json#/definitions/url", + "description": "URL to retrieve JSON schema of the Target Type properties.", + "readOnly": true + }, + "resourceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of resource types this Target Type can extend.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "targetTypeListResult": { + "type": "object", + "description": "Model that represents a list of Target Type resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/targetType" + }, + "description": "List of Target Type resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Target Type resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/targets.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/targets.json new file mode 100644 index 000000000000..b90f136d1174 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/types/targets.json @@ -0,0 +1,64 @@ +{ + "swagger": "2.0", + "info": { + "title": "Target Types", + "version": "2024-01-01" + }, + "paths": {}, + "definitions": { + "target": { + "type": "object", + "description": "Model that represents a Target resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "description": "The system metadata of the target resource.", + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Location of the target resource." + }, + "properties": { + "description": "The properties of the target resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/targetProperties" + } + }, + "required": [ + "properties" + ] + }, + "targetProperties": { + "type": "object", + "description": "Model that represents the base Target properties model.", + "properties": {}, + "additionalProperties": true + }, + "targetListResult": { + "type": "object", + "description": "Model that represents a list of Target resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/target" + }, + "description": "List of Target resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of Target resources.", + "readOnly": true + } + }, + "additionalProperties": false + } + } +} diff --git a/specification/chaos/resource-manager/readme.md b/specification/chaos/resource-manager/readme.md index 1a7999056386..b77bb664affd 100644 --- a/specification/chaos/resource-manager/readme.md +++ b/specification/chaos/resource-manager/readme.md @@ -24,11 +24,63 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor These are the global settings for the chaos. -``` yaml +```yaml title: ChaosManagementClient description: Chaos Management Client openapi-type: arm -tag: package-2023-11 +tag: package-2024-01 +``` + +### Tag: package-2024-01 + +These settings apply only when `--tag=package-2024-01` is specified on the command line. + +```yaml $(tag) == 'package-2024-01' +input-file: + - Microsoft.Chaos/stable/2024-01-01/capabilities.json + - Microsoft.Chaos/stable/2024-01-01/capabilityTypes.json + - Microsoft.Chaos/stable/2024-01-01/experiments.json + - Microsoft.Chaos/stable/2024-01-01/operationStatuses.json + - Microsoft.Chaos/stable/2024-01-01/operations.json + - Microsoft.Chaos/stable/2024-01-01/targetTypes.json + - Microsoft.Chaos/stable/2024-01-01/targets.json +directive: + - from: swagger-document + where: "$.definitions.action" + transform: > + $["x-ms-client-name"] = "ChaosExperimentAction"; + - from: swagger-document + where: "$.definitions.branch" + transform: > + $["x-ms-client-name"] = "ChaosExperimentBranch"; + - from: swagger-document + where: "$.definitions.step" + transform: > + $["x-ms-client-name"] = "ChaosExperimentStep"; + - from: swagger-document + where: "$.definitions.filter" + transform: > + $["x-ms-client-name"] = "ChaosTargetFilter"; + - from: swagger-document + where: "$.definitions.simpleFilter" + transform: > + $["x-ms-client-name"] = "ChaosTargetSimpleFilter"; + - from: swagger-document + where: "$.definitions.simpleFilterParameters" + transform: > + $["x-ms-client-name"] = "ChaosTargetSimpleFilterParameters"; + - from: swagger-document + where: "$.definitions.selector" + transform: > + $["x-ms-client-name"] = "ChaosTargetSelector"; + - from: swagger-document + where: "$.definitions.listSelector" + transform: > + $["x-ms-client-name"] = "ChaosTargetListSelector"; + - from: swagger-document + where: "$.definitions.querySelector" + transform: > + $["x-ms-client-name"] = "ChaosTargetQuerySelector"; ``` ### Tag: package-2023-11 @@ -140,7 +192,7 @@ directive: These settings apply only when `--tag=package-preview-2023-09` is specified on the command line. -``` yaml $(tag) == 'package-preview-2023-09' +```yaml $(tag) == 'package-preview-2023-09' input-file: - Microsoft.Chaos/preview/2023-09-01-preview/capabilities.json - Microsoft.Chaos/preview/2023-09-01-preview/capabilityTypes.json @@ -192,7 +244,7 @@ directive: These settings apply only when `--tag=package-2023-04-15-preview` is specified on the command line. -``` yaml $(tag) == 'package-2023-04-15-preview' +```yaml $(tag) == 'package-2023-04-15-preview' input-file: - Microsoft.Chaos/preview/2023-04-15-preview/capabilities.json - Microsoft.Chaos/preview/2023-04-15-preview/capabilityTypes.json @@ -206,7 +258,7 @@ input-file: These settings apply only when `--tag=package-2023-04-01-preview` is specified on the command line. -``` yaml $(tag) == 'package-2023-04-01-preview' +```yaml $(tag) == 'package-2023-04-01-preview' input-file: - Microsoft.Chaos/preview/2023-04-01-preview/capabilities.json - Microsoft.Chaos/preview/2023-04-01-preview/capabilityTypes.json @@ -220,7 +272,7 @@ input-file: These settings apply only when `--tag=package-2022-10-01-preview` is specified on the command line. -``` yaml $(tag) == 'package-2022-10-01-preview' +```yaml $(tag) == 'package-2022-10-01-preview' directive: - suppress: R3026 reason: Patch is not implemented in this version. @@ -240,7 +292,7 @@ input-file: These settings apply only when `--tag=package-2022-07-01-preview` is specified on the command line. -``` yaml $(tag) == 'package-2022-07-01-preview' +```yaml $(tag) == 'package-2022-07-01-preview' directive: - suppress: R3026 reason: Patch is not implemented in this version. @@ -260,7 +312,7 @@ input-file: These settings apply only when `--tag=package-2021-09-15-preview` is specified on the command line. -``` yaml $(tag) == 'package-2021-09-15-preview' +```yaml $(tag) == 'package-2021-09-15-preview' directive: - suppress: R3026 reason: Patch is not implemented in this version. @@ -285,7 +337,7 @@ input-file: This section describes what SDK should be generated by the automatic system. This is not used by Autorest itself. -``` yaml $(swagger-to-sdk) +```yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java @@ -318,7 +370,7 @@ See configuration in [readme.csharp.md](./readme.csharp.md) ## Suppression -``` yaml +```yaml directive: - suppress: TopLevelResourcesListBySubscription where: $.definitions.target diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2023-08-01-preview/extensions_chat_completions.json b/specification/cognitiveservices/OpenAI.Inference/examples/2023-08-01-preview/extensions_chat_completions.json index 5265df25b2e6..5aa5aebb5803 100644 --- a/specification/cognitiveservices/OpenAI.Inference/examples/2023-08-01-preview/extensions_chat_completions.json +++ b/specification/cognitiveservices/OpenAI.Inference/examples/2023-08-01-preview/extensions_chat_completions.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -20,7 +16,7 @@ { "type": "AzureCognitiveSearch", "parameters": { - "endpoint": "{search endpoint}", + "endpoint": "https://your-search-endpoint.search.windows.net/", "key": "{search admin key}", "indexName": "{index name}" } diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2023-09-01-preview/extensions_chat_completions.json b/specification/cognitiveservices/OpenAI.Inference/examples/2023-09-01-preview/extensions_chat_completions.json index dbaca3214431..7df840fc4769 100644 --- a/specification/cognitiveservices/OpenAI.Inference/examples/2023-09-01-preview/extensions_chat_completions.json +++ b/specification/cognitiveservices/OpenAI.Inference/examples/2023-09-01-preview/extensions_chat_completions.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -20,7 +16,7 @@ { "type": "AzureCognitiveSearch", "parameters": { - "endpoint": "{search endpoint}", + "endpoint": "https://your-search-endpoint.search.windows.net/", "key": "{search admin key}", "indexName": "{index name}" } diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_aml_index.json b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_aml_index.json index 24d661ad76fd..effee4f8f5a7 100644 --- a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_aml_index.json +++ b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_aml_index.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_azure_search_advanced.json b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_azure_search_advanced.json index 0968a3dbea37..269dde63613b 100644 --- a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_azure_search_advanced.json +++ b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_azure_search_advanced.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -20,7 +16,7 @@ { "type": "AzureCognitiveSearch", "parameters": { - "endpoint": "{search endpoint}", + "endpoint": "https://your-search-endpoint.search.windows.net/", "authentication": { "type": "UserAssignedManagedIdentity", "managedIdentityResourceId": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resource-name}" diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_azure_search_image_vector.json b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_azure_search_image_vector.json index 860e6e9e4b22..5c04637a4eb4 100644 --- a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_azure_search_image_vector.json +++ b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_azure_search_image_vector.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -20,7 +16,7 @@ { "type": "AzureCognitiveSearch", "parameters": { - "endpoint": "{search endpoint}", + "endpoint": "https://your-search-endpoint.search.windows.net/", "indexName": "{index name}", "queryType": "vector", "fieldsMapping": { diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_azure_search_minimum.json b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_azure_search_minimum.json index 6979c66744f7..378e5e33c51e 100644 --- a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_azure_search_minimum.json +++ b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_azure_search_minimum.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -20,7 +16,7 @@ { "type": "AzureCognitiveSearch", "parameters": { - "endpoint": "{search endpoint}", + "endpoint": "https://your-search-endpoint.search.windows.net/", "indexName": "{index name}" } } diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_cosmos_db.json b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_cosmos_db.json index d2d8295cefa8..6d34d089490b 100644 --- a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_cosmos_db.json +++ b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_cosmos_db.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -32,6 +28,9 @@ "deploymentName": "{embedding deployment name}" }, "fieldsMapping": { + "contentFields": [ + "content" + ], "vectorFields": [ "contentvector" ] diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_elasticsearch.json b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_elasticsearch.json index 01680301b679..db3ea789f8d5 100644 --- a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_elasticsearch.json +++ b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_elasticsearch.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -20,7 +16,7 @@ { "type": "Elasticsearch", "parameters": { - "endpoint": "{search endpoint}", + "endpoint": "https://your-elasticsearch-endpoint.eastus.azurecontainer.io", "indexName": "{index name}", "authentication": { "type": "KeyAndKeyId", diff --git a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_pinecone.json b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_pinecone.json index 2cbd35ec2ab5..3cac930b509b 100644 --- a/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_pinecone.json +++ b/specification/cognitiveservices/OpenAI.Inference/examples/2023-12-01-preview/extensions_chat_completions_pinecone.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -22,7 +18,7 @@ "parameters": { "authentication": { "type": "APIKey", - "apiKey": "{api key}" + "key": "{api key}" }, "environment": "{environment name}", "indexName": "{index name}", diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/authentication.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/authentication.tsp index 657a61bba75d..46bd8786c3c5 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/authentication.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/authentication.tsp @@ -18,6 +18,12 @@ enum OnYourDataAuthenticationType { @doc("Authentication via key and key ID pair.") keyAndKeyId: "KeyAndKeyId", + @doc("Authentication via encoded API key.") + encodedApiKey: "EncodedAPIKey", + + @doc("Authentication via access token.") + accessToken: "AccessToken", + @doc("Authentication via system-assigned managed identity.") systemAssignedManagedIdentity: "SystemAssignedManagedIdentity", @@ -75,6 +81,32 @@ model OnYourDataKeyAndKeyIdAuthenticationOptions keyId: string; } +@doc(""" +The authentication options for Azure OpenAI On Your Data when using an Elasticsearch encoded API key. +""") +@added(ServiceApiVersions.v2023_08_01_Preview) +model OnYourDataEncodedApiKeyAuthenticationOptions + extends OnYourDataAuthenticationOptions { + @doc("The authentication type of Elasticsearch encoded API Key.") + type: OnYourDataAuthenticationType.encodedApiKey; + + @doc("The encoded API key to use for authentication.") + encodedApiKey: string; +} + +@doc(""" +The authentication options for Azure OpenAI On Your Data when using access token. +""") +@added(ServiceApiVersions.v2023_08_01_Preview) +model OnYourDataAccessTokenAuthenticationOptions + extends OnYourDataAuthenticationOptions { + @doc("The authentication type of access token.") + type: OnYourDataAuthenticationType.accessToken; + + @doc("The access token to use for authentication.") + accessToken: string; +} + @doc(""" The authentication options for Azure OpenAI On Your Data when using a system-assigned managed identity. """) diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cognitive_search_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cognitive_search_options.tsp index 8ef494030b21..83ff77ac430d 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cognitive_search_options.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cognitive_search_options.tsp @@ -26,7 +26,7 @@ model AzureCognitiveSearchChatExtensionConfiguration } @added(ServiceApiVersions.v2023_08_01_Preview) -@doc("Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension.") +@doc("Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension. The supported authentication types are APIKey, SystemAssignedManagedIdentity and UserAssignedManagedIdentity.") model AzureCognitiveSearchChatExtensionParameters { ...OnYourDataCommonChatExtensionConfiguration; diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cosmosdb_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cosmosdb_options.tsp index e169fc9dbfde..b940c3082784 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cosmosdb_options.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cosmosdb_options.tsp @@ -10,7 +10,7 @@ using TypeSpec.Versioning; #suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format" @added(ServiceApiVersions.v2023_12_01_Preview) @doc(""" -A specific representation of configurable options for Elasticsearch when using it as an Azure OpenAI chat +A specific representation of configurable options for Azure Cosmos DB when using it as an Azure OpenAI chat extension. """) model AzureCosmosDBChatExtensionConfiguration @@ -29,7 +29,7 @@ model AzureCosmosDBChatExtensionConfiguration @added(ServiceApiVersions.v2023_12_01_Preview) @doc(""" Parameters to use when configuring Azure OpenAI On Your Data chat extensions when using Azure Cosmos DB for -MongoDB vCore. +MongoDB vCore. The supported authentication type is ConnectionString. """) model AzureCosmosDBChatExtensionParameters { ...OnYourDataCommonChatExtensionConfiguration; @@ -51,13 +51,33 @@ model AzureCosmosDBChatExtensionParameters { fieldsMapping: AzureCosmosDBFieldMappingOptions; @doc("The embedding dependency for vector search.") - embeddingDependency?: OnYourDataVectorizationSource; + embeddingDependency: OnYourDataVectorizationSource; } #suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format" @doc("Optional settings to control how fields are processed when using a configured Azure Cosmos DB resource.") @added(ServiceApiVersions.v2023_12_01_Preview) model AzureCosmosDBFieldMappingOptions { + @doc("The name of the index field to use as a title.") + @projectedName("csharp", "TitleFieldName") + titleField?: string; + + @doc("The name of the index field to use as a URL.") + @projectedName("csharp", "UrlFieldName") + urlField?: string; + + @doc("The name of the index field to use as a filepath.") + @projectedName("csharp", "FilepathFieldName") + filepathField?: string; + + @doc("The names of index fields that should be treated as content.") + @projectedName("csharp", "ContentFieldNames") + contentFields: string[]; + + @doc("The separator pattern that content fields should use.") + @projectedName("csharp", "ContentFieldSeparator") + contentFieldsSeparator?: string; + @doc("The names of fields that represent vector data.") @projectedName("csharp", "VectorFieldNames") vectorFields: string[]; diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_machinelearning_index_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_machinelearning_index_options.tsp index ae37887aac41..368adc73c1ef 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_machinelearning_index_options.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_machinelearning_index_options.tsp @@ -24,7 +24,7 @@ model AzureMachineLearningIndexChatExtensionConfiguration } @added(ServiceApiVersions.v2023_12_01_Preview) -@doc("Parameters for the Azure Machine Learning vector index chat extension.") +@doc("Parameters for the Azure Machine Learning vector index chat extension. The supported authentication types are AccessToken, SystemAssignedManagedIdentity and UserAssignedManagedIdentity.") model AzureMachineLearningIndexChatExtensionParameters { ...OnYourDataCommonChatExtensionConfiguration; diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/elasticsearch_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/elasticsearch_options.tsp index fe691977fb69..4d433e91cb5d 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/elasticsearch_options.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/elasticsearch_options.tsp @@ -24,7 +24,7 @@ model ElasticsearchChatExtensionConfiguration } @added(ServiceApiVersions.v2023_12_01_Preview) -@doc("Parameters to use when configuring Elasticsearch® as an Azure OpenAI chat extension.") +@doc("Parameters to use when configuring Elasticsearch® as an Azure OpenAI chat extension. The supported authentication types are KeyAndKeyId and EncodedAPIKey.") model ElasticsearchChatExtensionParameters { ...OnYourDataCommonChatExtensionConfiguration; diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/pinecone_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/pinecone_options.tsp index dc1096b96fda..6ebb9f2069d1 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/pinecone_options.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/pinecone_options.tsp @@ -10,7 +10,7 @@ using TypeSpec.Versioning; #suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format" @added(ServiceApiVersions.v2023_12_01_Preview) @doc(""" -A specific representation of configurable options for Elasticsearch when using it as an Azure OpenAI chat +A specific representation of configurable options for Pinecone when using it as an Azure OpenAI chat extension. """) model PineconeChatExtensionConfiguration @@ -26,7 +26,7 @@ model PineconeChatExtensionConfiguration } @added(ServiceApiVersions.v2023_12_01_Preview) -@doc("Parameters for configuring Azure OpenAI Pinecone chat extensions.") +@doc("Parameters for configuring Azure OpenAI Pinecone chat extensions. The supported authentication type is APIKey.") model PineconeChatExtensionParameters { ...OnYourDataCommonChatExtensionConfiguration; @@ -42,7 +42,7 @@ model PineconeChatExtensionParameters { fieldsMapping: PineconeFieldMappingOptions; @doc("The embedding dependency for vector search.") - embeddingDependency?: OnYourDataVectorizationSource; + embeddingDependency: OnYourDataVectorizationSource; } @doc("Optional settings to control how fields are processed when using a configured Pinecone resource.") @@ -62,18 +62,9 @@ model PineconeFieldMappingOptions { @doc("The names of index fields that should be treated as content.") @projectedName("csharp", "ContentFieldNames") - contentFields?: string[]; + contentFields: string[]; @doc("The separator pattern that content fields should use.") @projectedName("csharp", "ContentFieldSeparator") contentFieldsSeparator?: string; - - @doc("The names of fields that represent vector data.") - @projectedName("csharp", "VectorFieldNames") - vectorFields?: string[]; - - @added(ServiceApiVersions.v2023_12_01_Preview) - @doc("The names of fields that represent image vector data.") - @projectedName("csharp", "ImageVectorFieldNames") - imageVectorFields?: string[]; } diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-08-01-preview/examples/extensions_chat_completions.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-08-01-preview/examples/extensions_chat_completions.json index 5265df25b2e6..5aa5aebb5803 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-08-01-preview/examples/extensions_chat_completions.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-08-01-preview/examples/extensions_chat_completions.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -20,7 +16,7 @@ { "type": "AzureCognitiveSearch", "parameters": { - "endpoint": "{search endpoint}", + "endpoint": "https://your-search-endpoint.search.windows.net/", "key": "{search admin key}", "indexName": "{index name}" } diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-08-01-preview/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-08-01-preview/generated.json index 808d4193b987..c0f9d5fcecec 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-08-01-preview/generated.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-08-01-preview/generated.json @@ -488,7 +488,7 @@ }, "AzureCognitiveSearchChatExtensionParameters": { "type": "object", - "description": "Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension.", + "description": "Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension. The supported authentication types are APIKey, SystemAssignedManagedIdentity and UserAssignedManagedIdentity.", "properties": { "authentication": { "$ref": "#/definitions/OnYourDataAuthenticationOptions", @@ -1750,6 +1750,25 @@ ] } }, + "OnYourDataAccessTokenAuthenticationOptions": { + "type": "object", + "description": "The authentication options for Azure OpenAI On Your Data when using access token.", + "properties": { + "accessToken": { + "type": "string", + "description": "The access token to use for authentication." + } + }, + "required": [ + "accessToken" + ], + "allOf": [ + { + "$ref": "#/definitions/OnYourDataAuthenticationOptions" + } + ], + "x-ms-discriminator-value": "AccessToken" + }, "OnYourDataApiKeyAuthenticationOptions": { "type": "object", "description": "The authentication options for Azure OpenAI On Your Data when using an API key.", @@ -1790,6 +1809,8 @@ "APIKey", "ConnectionString", "KeyAndKeyId", + "EncodedAPIKey", + "AccessToken", "SystemAssignedManagedIdentity", "UserAssignedManagedIdentity" ], @@ -1812,6 +1833,16 @@ "value": "KeyAndKeyId", "description": "Authentication via key and key ID pair." }, + { + "name": "encodedApiKey", + "value": "EncodedAPIKey", + "description": "Authentication via encoded API key." + }, + { + "name": "accessToken", + "value": "AccessToken", + "description": "Authentication via access token." + }, { "name": "systemAssignedManagedIdentity", "value": "SystemAssignedManagedIdentity", @@ -1844,6 +1875,25 @@ ], "x-ms-discriminator-value": "ConnectionString" }, + "OnYourDataEncodedApiKeyAuthenticationOptions": { + "type": "object", + "description": "The authentication options for Azure OpenAI On Your Data when using an Elasticsearch encoded API key.", + "properties": { + "encodedApiKey": { + "type": "string", + "description": "The encoded API key to use for authentication." + } + }, + "required": [ + "encodedApiKey" + ], + "allOf": [ + { + "$ref": "#/definitions/OnYourDataAuthenticationOptions" + } + ], + "x-ms-discriminator-value": "EncodedAPIKey" + }, "OnYourDataKeyAndKeyIdAuthenticationOptions": { "type": "object", "description": "The authentication options for Azure OpenAI On Your Data when using an Elasticsearch key and key ID pair.", diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-09-01-preview/examples/extensions_chat_completions.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-09-01-preview/examples/extensions_chat_completions.json index dbaca3214431..7df840fc4769 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-09-01-preview/examples/extensions_chat_completions.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-09-01-preview/examples/extensions_chat_completions.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -20,7 +16,7 @@ { "type": "AzureCognitiveSearch", "parameters": { - "endpoint": "{search endpoint}", + "endpoint": "https://your-search-endpoint.search.windows.net/", "key": "{search admin key}", "indexName": "{index name}" } diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-09-01-preview/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-09-01-preview/generated.json index 3a090370b6ec..388e334b38ba 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-09-01-preview/generated.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-09-01-preview/generated.json @@ -1119,7 +1119,7 @@ }, "AzureCognitiveSearchChatExtensionParameters": { "type": "object", - "description": "Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension.", + "description": "Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension. The supported authentication types are APIKey, SystemAssignedManagedIdentity and UserAssignedManagedIdentity.", "properties": { "authentication": { "$ref": "#/definitions/OnYourDataAuthenticationOptions", @@ -2381,6 +2381,25 @@ ] } }, + "OnYourDataAccessTokenAuthenticationOptions": { + "type": "object", + "description": "The authentication options for Azure OpenAI On Your Data when using access token.", + "properties": { + "accessToken": { + "type": "string", + "description": "The access token to use for authentication." + } + }, + "required": [ + "accessToken" + ], + "allOf": [ + { + "$ref": "#/definitions/OnYourDataAuthenticationOptions" + } + ], + "x-ms-discriminator-value": "AccessToken" + }, "OnYourDataApiKeyAuthenticationOptions": { "type": "object", "description": "The authentication options for Azure OpenAI On Your Data when using an API key.", @@ -2421,6 +2440,8 @@ "APIKey", "ConnectionString", "KeyAndKeyId", + "EncodedAPIKey", + "AccessToken", "SystemAssignedManagedIdentity", "UserAssignedManagedIdentity" ], @@ -2443,6 +2464,16 @@ "value": "KeyAndKeyId", "description": "Authentication via key and key ID pair." }, + { + "name": "encodedApiKey", + "value": "EncodedAPIKey", + "description": "Authentication via encoded API key." + }, + { + "name": "accessToken", + "value": "AccessToken", + "description": "Authentication via access token." + }, { "name": "systemAssignedManagedIdentity", "value": "SystemAssignedManagedIdentity", @@ -2475,6 +2506,25 @@ ], "x-ms-discriminator-value": "ConnectionString" }, + "OnYourDataEncodedApiKeyAuthenticationOptions": { + "type": "object", + "description": "The authentication options for Azure OpenAI On Your Data when using an Elasticsearch encoded API key.", + "properties": { + "encodedApiKey": { + "type": "string", + "description": "The encoded API key to use for authentication." + } + }, + "required": [ + "encodedApiKey" + ], + "allOf": [ + { + "$ref": "#/definitions/OnYourDataAuthenticationOptions" + } + ], + "x-ms-discriminator-value": "EncodedAPIKey" + }, "OnYourDataKeyAndKeyIdAuthenticationOptions": { "type": "object", "description": "The authentication options for Azure OpenAI On Your Data when using an Elasticsearch key and key ID pair.", diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_aml_index.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_aml_index.json index 24d661ad76fd..effee4f8f5a7 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_aml_index.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_aml_index.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_azure_search_advanced.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_azure_search_advanced.json index 0968a3dbea37..269dde63613b 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_azure_search_advanced.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_azure_search_advanced.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -20,7 +16,7 @@ { "type": "AzureCognitiveSearch", "parameters": { - "endpoint": "{search endpoint}", + "endpoint": "https://your-search-endpoint.search.windows.net/", "authentication": { "type": "UserAssignedManagedIdentity", "managedIdentityResourceId": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resource-name}" diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_azure_search_image_vector.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_azure_search_image_vector.json index 860e6e9e4b22..5c04637a4eb4 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_azure_search_image_vector.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_azure_search_image_vector.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -20,7 +16,7 @@ { "type": "AzureCognitiveSearch", "parameters": { - "endpoint": "{search endpoint}", + "endpoint": "https://your-search-endpoint.search.windows.net/", "indexName": "{index name}", "queryType": "vector", "fieldsMapping": { diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_azure_search_minimum.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_azure_search_minimum.json index 6979c66744f7..378e5e33c51e 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_azure_search_minimum.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_azure_search_minimum.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -20,7 +16,7 @@ { "type": "AzureCognitiveSearch", "parameters": { - "endpoint": "{search endpoint}", + "endpoint": "https://your-search-endpoint.search.windows.net/", "indexName": "{index name}" } } diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_cosmos_db.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_cosmos_db.json index d2d8295cefa8..6d34d089490b 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_cosmos_db.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_cosmos_db.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -32,6 +28,9 @@ "deploymentName": "{embedding deployment name}" }, "fieldsMapping": { + "contentFields": [ + "content" + ], "vectorFields": [ "contentvector" ] diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_elasticsearch.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_elasticsearch.json index 01680301b679..db3ea789f8d5 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_elasticsearch.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_elasticsearch.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -20,7 +16,7 @@ { "type": "Elasticsearch", "parameters": { - "endpoint": "{search endpoint}", + "endpoint": "https://your-elasticsearch-endpoint.eastus.azurecontainer.io", "indexName": "{index name}", "authentication": { "type": "KeyAndKeyId", diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_pinecone.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_pinecone.json index 2cbd35ec2ab5..3cac930b509b 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_pinecone.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/examples/extensions_chat_completions_pinecone.json @@ -7,10 +7,6 @@ "deploymentId": "", "body": { "messages": [ - { - "role": "system", - "content": "you are a helpful assistant that talks like a pirate" - }, { "role": "user", "content": "can you tell me how to care for a parrot?" @@ -22,7 +18,7 @@ "parameters": { "authentication": { "type": "APIKey", - "apiKey": "{api key}" + "key": "{api key}" }, "environment": "{environment name}", "indexName": "{index name}", diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/generated.json index 786ed8ecd433..e217f2baeaa7 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/generated.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-12-01-preview/generated.json @@ -1167,7 +1167,7 @@ }, "AzureCognitiveSearchChatExtensionParameters": { "type": "object", - "description": "Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension.", + "description": "Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension. The supported authentication types are APIKey, SystemAssignedManagedIdentity and UserAssignedManagedIdentity.", "properties": { "authentication": { "$ref": "#/definitions/OnYourDataAuthenticationOptions", @@ -1315,7 +1315,7 @@ }, "AzureCosmosDBChatExtensionConfiguration": { "type": "object", - "description": "A specific representation of configurable options for Elasticsearch when using it as an Azure OpenAI chat\nextension.", + "description": "A specific representation of configurable options for Azure Cosmos DB when using it as an Azure OpenAI chat\nextension.", "properties": { "parameters": { "$ref": "#/definitions/AzureCosmosDBChatExtensionParameters", @@ -1334,7 +1334,7 @@ }, "AzureCosmosDBChatExtensionParameters": { "type": "object", - "description": "Parameters to use when configuring Azure OpenAI On Your Data chat extensions when using Azure Cosmos DB for\nMongoDB vCore.", + "description": "Parameters to use when configuring Azure OpenAI On Your Data chat extensions when using Azure Cosmos DB for\nMongoDB vCore. The supported authentication type is ConnectionString.", "properties": { "authentication": { "$ref": "#/definitions/OnYourDataAuthenticationOptions", @@ -1385,13 +1385,37 @@ "databaseName", "containerName", "indexName", - "fieldsMapping" + "fieldsMapping", + "embeddingDependency" ] }, "AzureCosmosDBFieldMappingOptions": { "type": "object", "description": "Optional settings to control how fields are processed when using a configured Azure Cosmos DB resource.", "properties": { + "titleField": { + "type": "string", + "description": "The name of the index field to use as a title." + }, + "urlField": { + "type": "string", + "description": "The name of the index field to use as a URL." + }, + "filepathField": { + "type": "string", + "description": "The name of the index field to use as a filepath." + }, + "contentFields": { + "type": "array", + "description": "The names of index fields that should be treated as content.", + "items": { + "type": "string" + } + }, + "contentFieldsSeparator": { + "type": "string", + "description": "The separator pattern that content fields should use." + }, "vectorFields": { "type": "array", "description": "The names of fields that represent vector data.", @@ -1401,6 +1425,7 @@ } }, "required": [ + "contentFields", "vectorFields" ] }, @@ -1518,7 +1543,7 @@ }, "AzureMachineLearningIndexChatExtensionParameters": { "type": "object", - "description": "Parameters for the Azure Machine Learning vector index chat extension.", + "description": "Parameters for the Azure Machine Learning vector index chat extension. The supported authentication types are AccessToken, SystemAssignedManagedIdentity and UserAssignedManagedIdentity.", "properties": { "authentication": { "$ref": "#/definitions/OnYourDataAuthenticationOptions", @@ -2637,7 +2662,7 @@ }, "ElasticsearchChatExtensionParameters": { "type": "object", - "description": "Parameters to use when configuring Elasticsearch® as an Azure OpenAI chat extension.", + "description": "Parameters to use when configuring Elasticsearch® as an Azure OpenAI chat extension. The supported authentication types are KeyAndKeyId and EncodedAPIKey.", "properties": { "authentication": { "$ref": "#/definitions/OnYourDataAuthenticationOptions", @@ -3095,6 +3120,25 @@ ], "x-ms-discriminator-value": "max_tokens" }, + "OnYourDataAccessTokenAuthenticationOptions": { + "type": "object", + "description": "The authentication options for Azure OpenAI On Your Data when using access token.", + "properties": { + "accessToken": { + "type": "string", + "description": "The access token to use for authentication." + } + }, + "required": [ + "accessToken" + ], + "allOf": [ + { + "$ref": "#/definitions/OnYourDataAuthenticationOptions" + } + ], + "x-ms-discriminator-value": "AccessToken" + }, "OnYourDataApiKeyAuthenticationOptions": { "type": "object", "description": "The authentication options for Azure OpenAI On Your Data when using an API key.", @@ -3135,6 +3179,8 @@ "APIKey", "ConnectionString", "KeyAndKeyId", + "EncodedAPIKey", + "AccessToken", "SystemAssignedManagedIdentity", "UserAssignedManagedIdentity" ], @@ -3157,6 +3203,16 @@ "value": "KeyAndKeyId", "description": "Authentication via key and key ID pair." }, + { + "name": "encodedApiKey", + "value": "EncodedAPIKey", + "description": "Authentication via encoded API key." + }, + { + "name": "accessToken", + "value": "AccessToken", + "description": "Authentication via access token." + }, { "name": "systemAssignedManagedIdentity", "value": "SystemAssignedManagedIdentity", @@ -3208,6 +3264,25 @@ ], "x-ms-discriminator-value": "DeploymentName" }, + "OnYourDataEncodedApiKeyAuthenticationOptions": { + "type": "object", + "description": "The authentication options for Azure OpenAI On Your Data when using an Elasticsearch encoded API key.", + "properties": { + "encodedApiKey": { + "type": "string", + "description": "The encoded API key to use for authentication." + } + }, + "required": [ + "encodedApiKey" + ], + "allOf": [ + { + "$ref": "#/definitions/OnYourDataAuthenticationOptions" + } + ], + "x-ms-discriminator-value": "EncodedAPIKey" + }, "OnYourDataEndpointVectorizationSource": { "type": "object", "description": "The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based\non a public Azure OpenAI endpoint call for embeddings.", @@ -3351,7 +3426,7 @@ }, "PineconeChatExtensionConfiguration": { "type": "object", - "description": "A specific representation of configurable options for Elasticsearch when using it as an Azure OpenAI chat\nextension.", + "description": "A specific representation of configurable options for Pinecone when using it as an Azure OpenAI chat\nextension.", "properties": { "parameters": { "$ref": "#/definitions/PineconeChatExtensionParameters", @@ -3370,7 +3445,7 @@ }, "PineconeChatExtensionParameters": { "type": "object", - "description": "Parameters for configuring Azure OpenAI Pinecone chat extensions.", + "description": "Parameters for configuring Azure OpenAI Pinecone chat extensions. The supported authentication type is APIKey.", "properties": { "authentication": { "$ref": "#/definitions/OnYourDataAuthenticationOptions", @@ -3416,7 +3491,8 @@ "required": [ "environment", "indexName", - "fieldsMapping" + "fieldsMapping", + "embeddingDependency" ] }, "PineconeFieldMappingOptions": { @@ -3445,22 +3521,11 @@ "contentFieldsSeparator": { "type": "string", "description": "The separator pattern that content fields should use." - }, - "vectorFields": { - "type": "array", - "description": "The names of fields that represent vector data.", - "items": { - "type": "string" - } - }, - "imageVectorFields": { - "type": "array", - "description": "The names of fields that represent image vector data.", - "items": { - "type": "string" - } } - } + }, + "required": [ + "contentFields" + ] }, "StopFinishDetails": { "type": "object", diff --git a/specification/cognitiveservices/data-plane/Language/preview/2023-11-15-preview/analyzetext.json b/specification/cognitiveservices/data-plane/Language/preview/2023-11-15-preview/analyzetext.json index c7bf4af33b69..b4a2d5521094 100644 --- a/specification/cognitiveservices/data-plane/Language/preview/2023-11-15-preview/analyzetext.json +++ b/specification/cognitiveservices/data-plane/Language/preview/2023-11-15-preview/analyzetext.json @@ -4193,14 +4193,81 @@ }, "script": { "type": "string", - "description": "Identifies the script of the input document.", + "description": "Identifies the script of the input document. Maps to the ISO 15924 standard formal name.", "enum": [ - "Latin" + "Arabic", + "Armenian", + "Bangla", + "UnifiedCanadianAboriginalSyllabics", + "Cyrillic", + "Devanagari", + "Ethiopic", + "Georgian", + "Greek", + "Gujarati", + "Gurmukhi", + "Hangul", + "HanSimplified", + "HanTraditional", + "Hebrew", + "Japanese", + "Khmer", + "Kannada", + "Lao", + "Latin", + "Malayalam", + "Myanmar", + "Odia", + "Sinhala", + "Tamil", + "Telugu", + "Thaana", + "Thai", + "Tibetan" ], "x-ms-enum": { "name": "ScriptKind", "modelAsString": true } + }, + "scriptCode": { + "type": "string", + "description": "Identifies the script of the input document. Maps to the ISO 15924 standard script code.", + "enum": [ + "Arab", + "Armn", + "Beng", + "Cans", + "Cyrl", + "Deva", + "Ethi", + "Geor", + "Grek", + "Gujr", + "Guru", + "Hang", + "Hans", + "Hant", + "Hebr", + "Jpan", + "Khmr", + "Knda", + "Laoo", + "Latn", + "Mlym", + "Mymr", + "Orya", + "Sinh", + "Taml", + "Telu", + "Thaa", + "Thai", + "Tibt" + ], + "x-ms-enum": { + "name": "ScriptCode", + "modelAsString": true + } } } }, diff --git a/specification/cognitiveservices/data-plane/Speech/TextToSpeech/preview/2023-12-01-preview/texttospeech.json b/specification/cognitiveservices/data-plane/Speech/TextToSpeech/preview/2023-12-01-preview/texttospeech.json index 318a8eef555e..18d87a688293 100644 --- a/specification/cognitiveservices/data-plane/Speech/TextToSpeech/preview/2023-12-01-preview/texttospeech.json +++ b/specification/cognitiveservices/data-plane/Speech/TextToSpeech/preview/2023-12-01-preview/texttospeech.json @@ -1650,14 +1650,12 @@ "releaseDateTime": { "description": "The stamp when the base model was released. The timestamp is encoded as ISO 8601 date and time format (\"YYYY-MM-DDThh:mm:ssZ\", see https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations).", "format": "date-time", - "type": "string", - "readOnly": true + "type": "string" }, "expirationDateTime": { "description": "The timestamp when TTS service will stop serving this base model. The timestamp is encoded as ISO 8601 date and time format (\"YYYY-MM-DDThh:mm:ssZ\", see https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations).", "format": "date-time", - "type": "string", - "readOnly": true + "type": "string" }, "capabilities": { "description": "Capabilities of base model", @@ -2564,7 +2562,7 @@ "QueryFilter": { "name": "filter", "in": "query", - "description": "Filter condition.\r\n
  • Supported properties:projectId, createdDateTime, locale, kind\r\n
  • Operators:\r\n - eq, ne are supported for all properties.\r\n - gt, ge, lt, le are supported for created.\r\n
  • Example:\r\n - ```filter=projectId eq Jessica``` (filter by project ID)\r\n - ```filter=kind eq ProfessionalVoice``` (filter project by kind)\r\n - ```filter=locale eq en-US``` (filter training set and model by locale)\r\n - ```filter=createdDateTime gt 2022-12-30T23:59:59.99Z``` (filter resource created time after 2023-11-01)
", + "description": "Filter condition.\r\n
  • Supported properties:projectId, createdDateTime, locale, kind\r\n
  • Operators:\r\n - eq, ne are supported for all properties.\r\n - gt, ge, lt, le are supported for created.\r\n
  • Example:\r\n - ```filter=projectId eq 'Jessica'``` (filter by project ID)\r\n - ```filter=kind eq 'ProfessionalVoice'``` (filter project by kind)\r\n - ```filter=locale eq 'en-US'``` (filter training set and model by locale)\r\n - ```filter=createdDateTime gt 2022-12-30T23:59:59.99Z``` (filter resource created time after 2023-11-01)
", "required": false, "type": "string", "x-ms-parameter-location": "method" diff --git a/specification/communication/Communication.JobRouter/tspconfig.yaml b/specification/communication/Communication.JobRouter/tspconfig.yaml index bcce2df033a3..b2c8033b5fae 100644 --- a/specification/communication/Communication.JobRouter/tspconfig.yaml +++ b/specification/communication/Communication.JobRouter/tspconfig.yaml @@ -34,7 +34,6 @@ options: emitter-output-dir: "{csharp-sdk-folder}/sdk/{service-directory-name}/{namespace}/src" namespace: Azure.Communication.JobRouter package-dir: "Azure.Communication.JobRouter" - save-inputs: true "@azure-tools/typespec-python": package-pprint-name: "\"Communication JobRouter\"" emitter-output-dir: "{python-sdk-folder}/sdk/{service-directory-name}/{package-name}" diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md index a50d548db0fe..b6b1351491e8 100644 --- a/specification/compute/resource-manager/readme.python.md +++ b/specification/compute/resource-manager/readme.python.md @@ -40,6 +40,7 @@ multiapi: true default-api-version: "2023-09-01" clear-output-folder: true batch: + - tag: package-2023-10-02-only - tag: package-2023-09-01-only - tag: package-2023-07-01-only - tag: package-2023-04-02-only @@ -92,6 +93,16 @@ perform-load: false clear-output-folder: false ``` +### Tag: package-2023-10-02-only + +These settings apply only when `--tag=package-2023-10-02-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2023-10-02-only' +namespace: azure.mgmt.compute.v2023_10_02 +output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2023_10_02 +``` + ### Tag: package-2023-09-01-only These settings apply only when `--tag=package-2023-09-01-only --python` is specified on the command line. diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/cosmos-db.json new file mode 100644 index 000000000000..29585dbb16fe --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/cosmos-db.json @@ -0,0 +1,12239 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2023-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}": { + "get": { + "operationId": "DatabaseAccounts_Get", + "x-ms-examples": { + "CosmosDBDatabaseAccountGet": { + "$ref": "./examples/CosmosDBDatabaseAccountGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The database account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountGetResults" + } + } + } + }, + "patch": { + "operationId": "DatabaseAccounts_Update", + "x-ms-examples": { + "CosmosDBDatabaseAccountPatch": { + "$ref": "./examples/CosmosDBDatabaseAccountPatch.json" + } + }, + "description": "Updates the properties of an existing Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAccountUpdateParameters" + }, + "description": "The parameters to provide for the current database account." + } + ], + "responses": { + "200": { + "description": "The database account update operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DatabaseAccountGetResults" + } + } + } + }, + "put": { + "operationId": "DatabaseAccounts_CreateOrUpdate", + "x-ms-examples": { + "CosmosDBDatabaseAccountCreateMin": { + "$ref": "./examples/CosmosDBDatabaseAccountCreateMin.json" + }, + "CosmosDBDatabaseAccountCreateMax": { + "$ref": "./examples/CosmosDBDatabaseAccountCreateMax.json" + }, + "CosmosDBRestoreDatabaseAccountCreateUpdate.json": { + "$ref": "./examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json" + } + }, + "description": "Creates or updates an Azure Cosmos DB database account. The \"Update\" method is preferred when performing updates on an account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAccountCreateUpdateParameters" + }, + "description": "The parameters to provide for the current database account." + } + ], + "responses": { + "200": { + "description": "The database account create or update operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DatabaseAccountGetResults" + } + } + } + }, + "delete": { + "operationId": "DatabaseAccounts_Delete", + "x-ms-examples": { + "CosmosDBDatabaseAccountDelete": { + "$ref": "./examples/CosmosDBDatabaseAccountDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The database account delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The specified account does not exist in the subscription." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange": { + "post": { + "operationId": "DatabaseAccounts_FailoverPriorityChange", + "x-ms-examples": { + "CosmosDBDatabaseAccountFailoverPriorityChange": { + "$ref": "./examples/CosmosDBDatabaseAccountFailoverPriorityChange.json" + } + }, + "description": "Changes the failover priority for the Azure Cosmos DB database account. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "failoverParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FailoverPolicies" + }, + "description": "The new failover policies for the database account." + } + ], + "responses": { + "202": { + "description": "Accepted. The failover policy change operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "No Content" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts": { + "get": { + "operationId": "DatabaseAccounts_List", + "x-ms-examples": { + "CosmosDBDatabaseAccountList": { + "$ref": "./examples/CosmosDBDatabaseAccountList.json" + } + }, + "description": "Lists all the Azure Cosmos DB database accounts available under the subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts": { + "get": { + "operationId": "DatabaseAccounts_ListByResourceGroup", + "x-ms-examples": { + "CosmosDBDatabaseAccountListByResourceGroup": { + "$ref": "./examples/CosmosDBDatabaseAccountListByResourceGroup.json" + } + }, + "description": "Lists all the Azure Cosmos DB database accounts available under the given resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys": { + "post": { + "operationId": "DatabaseAccounts_ListKeys", + "x-ms-examples": { + "CosmosDBDatabaseAccountListKeys": { + "$ref": "./examples/CosmosDBDatabaseAccountListKeys.json" + } + }, + "description": "Lists the access keys for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings": { + "post": { + "operationId": "DatabaseAccounts_ListConnectionStrings", + "x-ms-examples": { + "CosmosDBDatabaseAccountListConnectionStrings": { + "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStrings.json" + }, + "CosmosDBDatabaseAccountListConnectionStringsMongo": { + "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json" + } + }, + "description": "Lists the connection strings for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListConnectionStringsResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion": { + "post": { + "operationId": "DatabaseAccounts_OfflineRegion", + "x-ms-examples": { + "CosmosDBDatabaseAccountOfflineRegion": { + "$ref": "./examples/CosmosDBDatabaseAccountOfflineRegion.json" + } + }, + "description": "Offline the specified region for the specified Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "regionParameterForOffline", + "in": "body", + "required": true, + "description": "Cosmos DB region to offline for the database account.", + "schema": { + "$ref": "#/definitions/RegionForOnlineOffline" + } + } + ], + "responses": { + "200": { + "description": "The offline region operation is completed successfully." + }, + "202": { + "description": "Accepted. The offline region operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion": { + "post": { + "operationId": "DatabaseAccounts_OnlineRegion", + "x-ms-examples": { + "CosmosDBDatabaseAccountOnlineRegion": { + "$ref": "./examples/CosmosDBDatabaseAccountOnlineRegion.json" + } + }, + "description": "Online the specified region for the specified Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "regionParameterForOnline", + "in": "body", + "required": true, + "description": "Cosmos DB region to online for the database account.", + "schema": { + "$ref": "#/definitions/RegionForOnlineOffline" + } + } + ], + "responses": { + "200": { + "description": "The online region operation is completed successfully." + }, + "202": { + "description": "Accepted. The online region operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys": { + "get": { + "operationId": "DatabaseAccounts_GetReadOnlyKeys", + "x-ms-examples": { + "CosmosDBDatabaseAccountListReadOnlyKeys": { + "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json" + } + }, + "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult" + } + } + } + }, + "post": { + "operationId": "DatabaseAccounts_ListReadOnlyKeys", + "x-ms-examples": { + "CosmosDBDatabaseAccountListReadOnlyKeys": { + "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json" + } + }, + "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey": { + "post": { + "operationId": "DatabaseAccounts_RegenerateKey", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegenerateKey": { + "$ref": "./examples/CosmosDBDatabaseAccountRegenerateKey.json" + } + }, + "description": "Regenerates an access key for the specified Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "keyToRegenerate", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAccountRegenerateKeyParameters" + }, + "description": "The name of the key to regenerate." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The regenerate key operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + } + } + } + }, + "/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}": { + "head": { + "operationId": "DatabaseAccounts_CheckNameExists", + "x-ms-examples": { + "CosmosDBDatabaseAccountCheckNameExists": { + "$ref": "./examples/CosmosDBDatabaseAccountCheckNameExists.json" + } + }, + "description": "Checks that the Azure Cosmos DB account name already exists. A valid account name may contain only lowercase letters, numbers, and the '-' character, and must be between 3 and 50 characters.", + "parameters": [ + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The account name is valid but is already in use." + }, + "404": { + "description": "Not Found. The account name is available and valid." + } + } + } + }, + "/providers/Microsoft.DocumentDB/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Cosmos DB Resource Provider operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "CosmosDBOperationsList": { + "$ref": "./examples/CosmosDBOperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics": { + "get": { + "operationId": "DatabaseAccounts_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountGetMetrics": { + "$ref": "./examples/CosmosDBDatabaseAccountGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics": { + "get": { + "operationId": "Database_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseGetMetrics": { + "$ref": "./examples/CosmosDBDatabaseGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account and database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics": { + "get": { + "operationId": "Collection_ListMetrics", + "x-ms-examples": { + "CosmosDBCollectionGetMetrics": { + "$ref": "./examples/CosmosDBCollectionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account and collection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics": { + "get": { + "operationId": "CollectionRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBRegionCollectionGetMetrics": { + "$ref": "./examples/CosmosDBRegionCollectionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account, collection and region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics": { + "get": { + "operationId": "DatabaseAccountRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBDatabaseAccountRegionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account and region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics": { + "get": { + "operationId": "PercentileSourceTarget_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPercentileSourceTargetGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given account, source and target region. This url is only for PBS and Replication Latency data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/sourceRegionParameter" + }, + { + "$ref": "#/parameters/targetRegionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The percentile metrics for the account, source and target regions were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PercentileMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics": { + "get": { + "operationId": "PercentileTarget_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPercentileTargetGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given account target region. This url is only for PBS and Replication Latency data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/targetRegionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The percentile metrics for the account and target regions were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PercentileMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics": { + "get": { + "operationId": "Percentile_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPercentileGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account. This url is only for PBS and Replication Latency data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The percentile metrics for the account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PercentileMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": { + "get": { + "operationId": "CollectionPartitionRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBCollectionPartitionRegionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given collection and region, split by partition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the collection and region were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": { + "get": { + "operationId": "CollectionPartition_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBCollectionPartitionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given collection, split by partition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the collection were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": { + "get": { + "operationId": "PartitionKeyRangeId_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPKeyRangeIdGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given partition key range id.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "#/parameters/partitionKeyRangeIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the partition key range id were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": { + "get": { + "operationId": "PartitionKeyRangeIdRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPKeyRangeIdRegionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given partition key range id and region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "#/parameters/partitionKeyRangeIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the partition key range id and region were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages": { + "get": { + "operationId": "DatabaseAccounts_ListUsages", + "x-ms-examples": { + "CosmosDBDatabaseAccountGetUsages": { + "$ref": "./examples/CosmosDBDatabaseAccountGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent data) for the given database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages": { + "get": { + "operationId": "Database_ListUsages", + "x-ms-examples": { + "CosmosDBDatabaseGetUsages": { + "$ref": "./examples/CosmosDBDatabaseGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent data) for the given database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the database were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages": { + "get": { + "operationId": "Collection_ListUsages", + "x-ms-examples": { + "CosmosDBCollectionGetUsages": { + "$ref": "./examples/CosmosDBCollectionGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent storage data) for the given collection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the collection were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages": { + "get": { + "operationId": "CollectionPartition_ListUsages", + "x-ms-examples": { + "CosmosDBCollectionGetUsages": { + "$ref": "./examples/CosmosDBCollectionPartitionGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent storage data) for the given collection, split by partition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the collection, per partition were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions": { + "get": { + "operationId": "Database_ListMetricDefinitions", + "x-ms-examples": { + "CosmosDBDatabaseGetMetricDefinitions": { + "$ref": "./examples/CosmosDBDatabaseGetMetricDefinitions.json" + } + }, + "description": "Retrieves metric definitions for the given database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The metric definitions for the database were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricDefinitionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions": { + "get": { + "operationId": "Collection_ListMetricDefinitions", + "x-ms-examples": { + "CosmosDBCollectionGetMetricDefinitions": { + "$ref": "./examples/CosmosDBCollectionGetMetricDefinitions.json" + } + }, + "description": "Retrieves metric definitions for the given collection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The metric definitions for the collection were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricDefinitionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions": { + "get": { + "operationId": "DatabaseAccounts_ListMetricDefinitions", + "x-ms-examples": { + "CosmosDBDatabaseAccountGetMetricDefinitions": { + "$ref": "./examples/CosmosDBDatabaseAccountGetMetricDefinitions.json" + } + }, + "description": "Retrieves metric definitions for the given database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The metric definitions for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricDefinitionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs": { + "get": { + "operationId": "GraphResources_ListGraphs", + "x-ms-examples": { + "CosmosDBSqlDatabaseList": { + "$ref": "./examples/CosmosDBGraphResourceList.json" + } + }, + "description": "Lists the graphs under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The graph resource properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/GraphResourcesListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}": { + "get": { + "operationId": "GraphResources_GetGraph", + "x-ms-examples": { + "CosmosDBSqlDatabaseGet": { + "$ref": "./examples/CosmosDBGraphResourceGet.json" + } + }, + "description": "Gets the Graph resource under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/graphResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Graph resource property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/GraphResourceGetResults" + } + } + } + }, + "put": { + "operationId": "GraphResources_CreateUpdateGraph", + "x-ms-examples": { + "CosmosDBGraphCreateUpdate": { + "$ref": "./examples/CosmosDBGraphResourceCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Graph.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/graphResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateGraphParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GraphResourceCreateUpdateParameters" + }, + "description": "The parameters to provide for the current graph." + } + ], + "responses": { + "202": { + "description": "The graph create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Graph create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/GraphResourceGetResults" + } + } + } + }, + "delete": { + "operationId": "GraphResources_DeleteGraphResource", + "x-ms-examples": { + "CosmosDBSqlDatabaseDelete": { + "$ref": "./examples/CosmosDBGraphResourceDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Graph Resource.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/graphResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The graph delete operation was completed successfully." + }, + "202": { + "description": "The graph delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The graph delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases": { + "get": { + "operationId": "SqlResources_ListSqlDatabases", + "x-ms-examples": { + "CosmosDBSqlDatabaseList": { + "$ref": "./examples/CosmosDBSqlDatabaseList.json" + } + }, + "description": "Lists the SQL databases under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL database properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlDatabaseListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}": { + "get": { + "operationId": "SqlResources_GetSqlDatabase", + "x-ms-examples": { + "CosmosDBSqlDatabaseGet": { + "$ref": "./examples/CosmosDBSqlDatabaseGet.json" + } + }, + "description": "Gets the SQL database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL database property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlDatabaseGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlDatabase", + "x-ms-examples": { + "CosmosDBSqlDatabaseCreateUpdate": { + "$ref": "./examples/CosmosDBSqlDatabaseCreateUpdate.json" + }, + "CosmosDBSqlDatabaseRestore": { + "$ref": "./examples/CosmosDBSqlDatabaseRestore.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlDatabaseParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlDatabaseCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL database." + } + ], + "responses": { + "202": { + "description": "The SQL database create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The SQL database create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlDatabaseGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlDatabase", + "x-ms-examples": { + "CosmosDBSqlDatabaseDelete": { + "$ref": "./examples/CosmosDBSqlDatabaseDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL database.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The SQL database delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default": { + "get": { + "operationId": "SqlResources_GetSqlDatabaseThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseThroughputGet": { + "$ref": "./examples/CosmosDBSqlDatabaseThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the SQL database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the SQL database was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_UpdateSqlDatabaseThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseThroughputUpdate": { + "$ref": "./examples/CosmosDBSqlDatabaseThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB SQL database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The parameters to provide for the RUs per second of the current SQL database." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the SQL database update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The RUs per second of the SQL database update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "SqlResources_MigrateSqlDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBSqlDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBSqlDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The SQL database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "SqlResources_MigrateSqlDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The SQL database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys": { + "get": { + "operationId": "SqlResources_ListClientEncryptionKeys", + "x-ms-examples": { + "CosmosDBClientEncryptionKeysList": { + "$ref": "./examples/CosmosDBSqlClientEncryptionKeysList.json" + } + }, + "description": "Lists the ClientEncryptionKeys under an existing Azure Cosmos DB SQL database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ClientEncryptionKeys were retrieved successfully.", + "schema": { + "$ref": "#/definitions/ClientEncryptionKeysListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys/{clientEncryptionKeyName}": { + "get": { + "operationId": "SqlResources_GetClientEncryptionKey", + "x-ms-examples": { + "CosmosDBClientEncryptionKeyGet": { + "$ref": "./examples/CosmosDBSqlClientEncryptionKeyGet.json" + } + }, + "description": "Gets the ClientEncryptionKey under an existing Azure Cosmos DB SQL database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/clientEncryptionKeyNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ClientEncryptionKey was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ClientEncryptionKeyGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateClientEncryptionKey", + "x-ms-examples": { + "CosmosDBClientEncryptionKeyCreateUpdate": { + "$ref": "./examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json" + } + }, + "description": "Create or update a ClientEncryptionKey. This API is meant to be invoked via tools such as the Azure Powershell (instead of directly).", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/clientEncryptionKeyNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateClientEncryptionKeyParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClientEncryptionKeyCreateUpdateParameters" + }, + "description": "The parameters to provide for the client encryption key." + } + ], + "responses": { + "202": { + "description": "The client encryption key create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The client encryption key create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ClientEncryptionKeyGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": { + "get": { + "operationId": "SqlResources_ListSqlContainers", + "x-ms-examples": { + "CosmosDBSqlContainerList": { + "$ref": "./examples/CosmosDBSqlContainerList.json" + } + }, + "description": "Lists the SQL container under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL container properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlContainerListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}": { + "get": { + "operationId": "SqlResources_GetSqlContainer", + "x-ms-examples": { + "CosmosDBSqlContainerGet": { + "$ref": "./examples/CosmosDBSqlContainerGet.json" + } + }, + "description": "Gets the SQL container under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL container property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlContainerGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlContainer", + "x-ms-examples": { + "CosmosDBSqlContainerCreateUpdate": { + "$ref": "./examples/CosmosDBSqlContainerCreateUpdate.json" + }, + "CosmosDBSqlContainerRestore": { + "$ref": "./examples/CosmosDBSqlContainerRestore.json" + }, + "CosmosDBSqlMaterializedViewCreateUpdate": { + "$ref": "./examples/CosmosDBSqlMaterializedViewCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL container", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlContainerParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlContainerCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL container." + } + ], + "responses": { + "202": { + "description": "The SQL container create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The SQL container create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlContainerGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlContainer", + "x-ms-examples": { + "CosmosDBSqlContainerDelete": { + "$ref": "./examples/CosmosDBSqlContainerDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL container.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The SQL container delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/partitionMerge": { + "post": { + "operationId": "SqlResources_SqlDatabasePartitionMerge", + "x-ms-examples": { + "CosmosDBSqlDatabasePartitionMerge": { + "$ref": "./examples/CosmosDBSqlDatabasePartitionMerge.json" + } + }, + "description": "Merges the partitions of a SQL database", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "mergeParameters", + "required": true, + "description": "The parameters for the merge operation.", + "schema": { + "$ref": "#/definitions/MergeParameters" + } + } + ], + "responses": { + "202": { + "description": "The SQL database merge operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The SQL database merge operation was completed successfully.", + "schema": { + "$ref": "#/definitions/PhysicalPartitionStorageInfoCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/partitionMerge": { + "post": { + "operationId": "SqlResources_ListSqlContainerPartitionMerge", + "x-ms-examples": { + "CosmosDBSqlContainerPartitionMerge": { + "$ref": "./examples/CosmosDBSqlContainerPartitionMerge.json" + } + }, + "description": "Merges the partitions of a SQL Container", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "mergeParameters", + "required": true, + "description": "The parameters for the merge operation.", + "schema": { + "$ref": "#/definitions/MergeParameters" + } + } + ], + "responses": { + "202": { + "description": "The SQL container merge operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The SQL container merge operation was completed successfully.", + "schema": { + "$ref": "#/definitions/PhysicalPartitionStorageInfoCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default": { + "get": { + "operationId": "SqlResources_GetSqlContainerThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerThroughputGet": { + "$ref": "./examples/CosmosDBSqlContainerThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the SQL container was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_UpdateSqlContainerThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerThroughputUpdate": { + "$ref": "./examples/CosmosDBSqlContainerThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB SQL container", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The parameters to provide for the RUs per second of the current SQL container." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the SQL container update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The RUs per second of the SQL container update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "SqlResources_MigrateSqlContainerToAutoscale", + "x-ms-examples": { + "CosmosDBSqlContainerMigrateToAutoscale": { + "$ref": "./examples/CosmosDBSqlContainerMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The SQL container migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "SqlResources_MigrateSqlContainerToManualThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBSqlContainerMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The SQL container migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/retrieveThroughputDistribution": { + "post": { + "operationId": "SqlResources_SqlDatabaseRetrieveThroughputDistribution", + "x-ms-examples": { + "CosmosDBSqlDatabaseRetrieveThroughputDistribution": { + "$ref": "./examples/CosmosDBSqlDatabaseRetrieveThroughputDistribution.json" + } + }, + "description": "Retrieve throughput distribution for an Azure Cosmos DB SQL database", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "retrieveThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RetrieveThroughputParameters" + }, + "description": "The parameters to provide for retrieving throughput distribution for the current SQL database." + } + ], + "responses": { + "202": { + "description": "The retrieve throughput distribution for SQL database operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The retrieve throughput distribution for SQL database operation was completed successfully.", + "schema": { + "$ref": "#/definitions/PhysicalPartitionThroughputInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/redistributeThroughput": { + "post": { + "operationId": "SqlResources_SqlDatabaseRedistributeThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseRedistributeThroughput": { + "$ref": "./examples/CosmosDBSqlDatabaseRedistributeThroughput.json" + } + }, + "description": "Redistribute throughput for an Azure Cosmos DB SQL database", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "redistributeThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedistributeThroughputParameters" + }, + "description": "The parameters to provide for redistributing throughput for the current SQL database." + } + ], + "responses": { + "202": { + "description": "The redistribution throughput for SQL database operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The redistribution throughput for SQL database operation was completed successfully.", + "schema": { + "$ref": "#/definitions/PhysicalPartitionThroughputInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/retrieveThroughputDistribution": { + "post": { + "operationId": "SqlResources_SqlContainerRetrieveThroughputDistribution", + "x-ms-examples": { + "CosmosDBSqlContainerRetrieveThroughputDistribution": { + "$ref": "./examples/CosmosDBSqlContainerRetrieveThroughputDistribution.json" + } + }, + "description": "Retrieve throughput distribution for an Azure Cosmos DB SQL container", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "retrieveThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RetrieveThroughputParameters" + }, + "description": "The parameters to provide for retrieving throughput distribution for the current SQL container." + } + ], + "responses": { + "202": { + "description": "The retrieve throughput distribution for SQL container operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The retrieve throughput distribution for SQL container operation was completed successfully.", + "schema": { + "$ref": "#/definitions/PhysicalPartitionThroughputInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/redistributeThroughput": { + "post": { + "operationId": "SqlResources_SqlContainerRedistributeThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerRedistributeThroughput": { + "$ref": "./examples/CosmosDBSqlContainerRedistributeThroughput.json" + } + }, + "description": "Redistribute throughput for an Azure Cosmos DB SQL container", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "redistributeThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedistributeThroughputParameters" + }, + "description": "The parameters to provide for redistributing throughput for the current SQL container." + } + ], + "responses": { + "202": { + "description": "The redistribution throughput for SQL container operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The redistribution throughput for SQL container operation was completed successfully.", + "schema": { + "$ref": "#/definitions/PhysicalPartitionThroughputInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": { + "get": { + "operationId": "SqlResources_ListSqlStoredProcedures", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureList": { + "$ref": "./examples/CosmosDBSqlStoredProcedureList.json" + } + }, + "description": "Lists the SQL storedProcedure under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL stored procedure properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}": { + "get": { + "operationId": "SqlResources_GetSqlStoredProcedure", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureGet": { + "$ref": "./examples/CosmosDBSqlStoredProcedureGet.json" + } + }, + "description": "Gets the SQL storedProcedure under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL storedProcedure property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlStoredProcedure", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureCreateUpdate": { + "$ref": "./examples/CosmosDBSqlStoredProcedureCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL storedProcedure", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlStoredProcedureParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlStoredProcedureCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL storedProcedure." + } + ], + "responses": { + "202": { + "description": "The SQL storedProcedure create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The SQL storedProcedure create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlStoredProcedure", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureDelete": { + "$ref": "./examples/CosmosDBSqlStoredProcedureDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL storedProcedure.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL storedProcedure delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The SQL storedProcedure delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions": { + "get": { + "operationId": "SqlResources_ListSqlUserDefinedFunctions", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionList": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionList.json" + } + }, + "description": "Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL userDefinedFunction properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}": { + "get": { + "operationId": "SqlResources_GetSqlUserDefinedFunction", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionGet": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionGet.json" + } + }, + "description": "Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL userDefinedFunction property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlUserDefinedFunction", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionCreateUpdate": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL userDefinedFunction", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlUserDefinedFunctionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL userDefinedFunction." + } + ], + "responses": { + "202": { + "description": "The SQL userDefinedFunction create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The SQL userDefinedFunction create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlUserDefinedFunction", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionDelete": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL userDefinedFunction.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL userDefinedFunction delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The SQL userDefinedFunction delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers": { + "get": { + "operationId": "SqlResources_ListSqlTriggers", + "x-ms-examples": { + "CosmosDBSqlTriggerList": { + "$ref": "./examples/CosmosDBSqlTriggerList.json" + } + }, + "description": "Lists the SQL trigger under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL trigger properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlTriggerListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}": { + "get": { + "operationId": "SqlResources_GetSqlTrigger", + "x-ms-examples": { + "CosmosDBSqlTriggerGet": { + "$ref": "./examples/CosmosDBSqlTriggerGet.json" + } + }, + "description": "Gets the SQL trigger under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL trigger property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlTriggerGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlTrigger", + "x-ms-examples": { + "CosmosDBSqlTriggerCreateUpdate": { + "$ref": "./examples/CosmosDBSqlTriggerCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL trigger", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlTriggerParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlTriggerCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL trigger." + } + ], + "responses": { + "202": { + "description": "The SQL trigger create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The SQL trigger create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlTriggerGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlTrigger", + "x-ms-examples": { + "CosmosDBSqlTriggerDelete": { + "$ref": "./examples/CosmosDBSqlTriggerDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL trigger.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL trigger delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The SQL trigger delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases": { + "get": { + "operationId": "MongoDBResources_ListMongoDBDatabases", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseList": { + "$ref": "./examples/CosmosDBMongoDBDatabaseList.json" + } + }, + "description": "Lists the MongoDB databases under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB database properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBDatabaseListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}": { + "get": { + "operationId": "MongoDBResources_GetMongoDBDatabase", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseGet": { + "$ref": "./examples/CosmosDBMongoDBDatabaseGet.json" + } + }, + "description": "Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB database property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBDatabaseGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoDBDatabase", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBDatabaseCreateUpdate.json" + }, + "CosmosDBMongoDBDatabaseRestore": { + "$ref": "./examples/CosmosDBMongoDBDatabaseRestore.json" + } + }, + "description": "Create or updates Azure Cosmos DB MongoDB database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoDBDatabaseParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MongoDBDatabaseCreateUpdateParameters" + }, + "description": "The parameters to provide for the current MongoDB database." + } + ], + "responses": { + "202": { + "description": "The MongoDB database create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The MongoDB database create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoDBDatabaseGetResults" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoDBDatabase", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseDelete": { + "$ref": "./examples/CosmosDBMongoDBDatabaseDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB MongoDB database.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The MongoDB database delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default": { + "get": { + "operationId": "MongoDBResources_GetMongoDBDatabaseThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseThroughputGet": { + "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the MongoDB database was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_UpdateMongoDBDatabaseThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseThroughputUpdate": { + "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputUpdate.json" + } + }, + "description": "Update RUs per second of the an Azure Cosmos DB MongoDB database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current MongoDB database." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the MongoDB database update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The RUs per second of the MongoDB database update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The MongoDB database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The MongoDB database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/retrieveThroughputDistribution": { + "post": { + "operationId": "MongoDBResources_MongoDBDatabaseRetrieveThroughputDistribution", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseRetrieveThroughputDistribution": { + "$ref": "./examples/CosmosDBMongoDBDatabaseRetrieveThroughputDistribution.json" + } + }, + "description": "Retrieve throughput distribution for an Azure Cosmos DB MongoDB database", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "retrieveThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RetrieveThroughputParameters" + }, + "description": "The parameters to provide for retrieving throughput distribution for the current MongoDB database." + } + ], + "responses": { + "202": { + "description": "The retrieve throughput distribution for MongoDB database operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The retrieve throughput distribution for MongoDB database operation was completed successfully.", + "schema": { + "$ref": "#/definitions/PhysicalPartitionThroughputInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/redistributeThroughput": { + "post": { + "operationId": "MongoDBResources_MongoDBDatabaseRedistributeThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseRedistributeThroughput": { + "$ref": "./examples/CosmosDBMongoDBDatabaseRedistributeThroughput.json" + } + }, + "description": "Redistribute throughput for an Azure Cosmos DB MongoDB database", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "redistributeThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedistributeThroughputParameters" + }, + "description": "The parameters to provide for redistributing throughput for the current MongoDB database." + } + ], + "responses": { + "202": { + "description": "The redistribution throughput for MongoDB database operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The redistribution throughput for MongoDB database operation was completed successfully.", + "schema": { + "$ref": "#/definitions/PhysicalPartitionThroughputInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/retrieveThroughputDistribution": { + "post": { + "operationId": "MongoDBResources_MongoDBContainerRetrieveThroughputDistribution", + "x-ms-examples": { + "CosmosDBMongoDBCollectionRetrieveThroughputDistribution": { + "$ref": "./examples/CosmosDBMongoDBCollectionRetrieveThroughputDistribution.json" + } + }, + "description": "Retrieve throughput distribution for an Azure Cosmos DB MongoDB container", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "retrieveThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RetrieveThroughputParameters" + }, + "description": "The parameters to provide for retrieving throughput distribution for the current MongoDB container." + } + ], + "responses": { + "202": { + "description": "The retrieve throughput distribution for MongoDB container operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The retrieve throughput distribution for MongoDB container operation was completed successfully.", + "schema": { + "$ref": "#/definitions/PhysicalPartitionThroughputInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/redistributeThroughput": { + "post": { + "operationId": "MongoDBResources_MongoDBContainerRedistributeThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionRedistributeThroughput": { + "$ref": "./examples/CosmosDBMongoDBCollectionRedistributeThroughput.json" + } + }, + "description": "Redistribute throughput for an Azure Cosmos DB MongoDB container", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "redistributeThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedistributeThroughputParameters" + }, + "description": "The parameters to provide for redistributing throughput for the current MongoDB container." + } + ], + "responses": { + "202": { + "description": "The redistribution throughput for MongoDB container operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The redistribution throughput for MongoDB container operation was completed successfully.", + "schema": { + "$ref": "#/definitions/PhysicalPartitionThroughputInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": { + "get": { + "operationId": "MongoDBResources_ListMongoDBCollections", + "x-ms-examples": { + "CosmosDBMongoDBCollectionList": { + "$ref": "./examples/CosmosDBMongoDBCollectionList.json" + } + }, + "description": "Lists the MongoDB collection under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB collection properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBCollectionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}": { + "get": { + "operationId": "MongoDBResources_GetMongoDBCollection", + "x-ms-examples": { + "CosmosDBMongoDBCollectionGet": { + "$ref": "./examples/CosmosDBMongoDBCollectionGet.json" + } + }, + "description": "Gets the MongoDB collection under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB collection property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBCollectionGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoDBCollection", + "x-ms-examples": { + "CosmosDBMongoDBCollectionCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBCollectionCreateUpdate.json" + }, + "CosmosDBMongoDBCollectionRestore": { + "$ref": "./examples/CosmosDBMongoDBCollectionRestore.json" + } + }, + "description": "Create or update an Azure Cosmos DB MongoDB Collection", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoDBCollectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MongoDBCollectionCreateUpdateParameters" + }, + "description": "The parameters to provide for the current MongoDB Collection." + } + ], + "responses": { + "202": { + "description": "The MongoDB Collection create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The MongoDB Collection create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoDBCollectionGetResults" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoDBCollection", + "x-ms-examples": { + "CosmosDBMongoDBCollectionDelete": { + "$ref": "./examples/CosmosDBMongoDBCollectionDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB MongoDB Collection.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB collection delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The MongoDB collection delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/partitionMerge": { + "post": { + "operationId": "MongoDBResources_MongoDBDatabasePartitionMerge", + "x-ms-examples": { + "CosmosDBMongoDBDatabasePartitionMerge": { + "$ref": "./examples/CosmosDBMongoDBDatabasePartitionMerge.json" + } + }, + "description": "Merges the partitions of a MongoDB database", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "mergeParameters", + "required": true, + "description": "The parameters for the merge operation.", + "schema": { + "$ref": "#/definitions/MergeParameters" + } + } + ], + "responses": { + "202": { + "description": "The MongoDB database merge operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The MongoDB database merge operation was completed successfully.", + "schema": { + "$ref": "#/definitions/PhysicalPartitionStorageInfoCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/partitionMerge": { + "post": { + "operationId": "MongoDBResources_ListMongoDBCollectionPartitionMerge", + "x-ms-examples": { + "CosmosDBMongoDBCollectionPartitionMerge": { + "$ref": "./examples/CosmosDBMongoDBCollectionPartitionMerge.json" + } + }, + "description": "Merges the partitions of a MongoDB Collection", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "mergeParameters", + "required": true, + "description": "The parameters for the merge operation.", + "schema": { + "$ref": "#/definitions/MergeParameters" + } + } + ], + "responses": { + "202": { + "description": "The MongoDB collection merge operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The MongoDB collection merge operation was completed successfully.", + "schema": { + "$ref": "#/definitions/PhysicalPartitionStorageInfoCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default": { + "get": { + "operationId": "MongoDBResources_GetMongoDBCollectionThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionThroughputGet": { + "$ref": "./examples/CosmosDBMongoDBCollectionThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the MongoDB collection was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_UpdateMongoDBCollectionThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionThroughputUpdate": { + "$ref": "./examples/CosmosDBMongoDBCollectionThroughputUpdate.json" + } + }, + "description": "Update the RUs per second of an Azure Cosmos DB MongoDB collection", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current MongoDB collection." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the MongoDB collection update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The RUs per second of the MongoDB collection update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBCollectionToAutoscale", + "x-ms-examples": { + "CosmosDBMongoDBCollectionMigrateToAutoscale": { + "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB collection migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The MongoDB collection migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBCollectionToManualThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB collection migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The MongoDB collection migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": { + "get": { + "operationId": "TableResources_ListTables", + "x-ms-examples": { + "CosmosDBTableList": { + "$ref": "./examples/CosmosDBTableList.json" + } + }, + "description": "Lists the Tables under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Table properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/TableListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": { + "get": { + "operationId": "TableResources_GetTable", + "x-ms-examples": { + "CosmosDBTableGet": { + "$ref": "./examples/CosmosDBTableGet.json" + } + }, + "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Table property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/TableGetResults" + } + } + } + }, + "put": { + "operationId": "TableResources_CreateUpdateTable", + "x-ms-examples": { + "CosmosDBTableReplace": { + "$ref": "./examples/CosmosDBTableCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateTableParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TableCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Table." + } + ], + "responses": { + "202": { + "description": "The Table create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Table create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/TableGetResults" + } + } + } + }, + "delete": { + "operationId": "TableResources_DeleteTable", + "x-ms-examples": { + "CosmosDBTableDelete": { + "$ref": "./examples/CosmosDBTableDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Table.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The Table delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default": { + "get": { + "operationId": "TableResources_GetTableThroughput", + "x-ms-examples": { + "CosmosDBTableThroughputGet": { + "$ref": "./examples/CosmosDBTableThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Table was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "TableResources_UpdateTableThroughput", + "x-ms-examples": { + "CosmosDBTableThroughputUpdate": { + "$ref": "./examples/CosmosDBTableThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The parameters to provide for the RUs per second of the current Table." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Table update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The RUs per second of the Table update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "TableResources_MigrateTableToAutoscale", + "x-ms-examples": { + "CosmosDBTableMigrateToAutoscale": { + "$ref": "./examples/CosmosDBTableMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Table from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "TableResources_MigrateTableToManualThroughput", + "x-ms-examples": { + "CosmosDBTableMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBTableMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Table from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": { + "get": { + "operationId": "CassandraResources_ListCassandraKeyspaces", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceList": { + "$ref": "./examples/CosmosDBCassandraKeyspaceList.json" + } + }, + "description": "Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra keyspace properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraKeyspaceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}": { + "get": { + "operationId": "CassandraResources_GetCassandraKeyspace", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceGet": { + "$ref": "./examples/CosmosDBCassandraKeyspaceGet.json" + } + }, + "description": "Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra keyspace property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraKeyspaceGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_CreateUpdateCassandraKeyspace", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceCreateUpdate": { + "$ref": "./examples/CosmosDBCassandraKeyspaceCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Cassandra keyspace", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateCassandraKeyspaceParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Cassandra keyspace." + } + ], + "responses": { + "202": { + "description": "The Cassandra keyspace create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Cassandra keyspace create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/CassandraKeyspaceGetResults" + } + } + } + }, + "delete": { + "operationId": "CassandraResources_DeleteCassandraKeyspace", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceDelete": { + "$ref": "./examples/CosmosDBCassandraKeyspaceDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Cassandra keyspace.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra keyspace delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The Cassandra keyspace delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default": { + "get": { + "operationId": "CassandraResources_GetCassandraKeyspaceThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceThroughputGet": { + "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Cassandra Keyspace was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_UpdateCassandraKeyspaceThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceThroughputUpdate": { + "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Cassandra Keyspace", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Cassandra Keyspace." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Cassandra Keyspace update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The RUs per second of the Cassandra Keyspace update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraKeyspaceToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra Keyspace migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Cassandra Keyspace migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraKeyspaceToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra Keyspace migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Cassandra Keyspace migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": { + "get": { + "operationId": "CassandraResources_ListCassandraTables", + "x-ms-examples": { + "CosmosDBCassandraTableList": { + "$ref": "./examples/CosmosDBCassandraTableList.json" + } + }, + "description": "Lists the Cassandra table under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra table properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraTableListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}": { + "get": { + "operationId": "CassandraResources_GetCassandraTable", + "x-ms-examples": { + "CosmosDBCassandraTableGet": { + "$ref": "./examples/CosmosDBCassandraTableGet.json" + } + }, + "description": "Gets the Cassandra table under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra table property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraTableGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_CreateUpdateCassandraTable", + "x-ms-examples": { + "CosmosDBCassandraTableCreateUpdate": { + "$ref": "./examples/CosmosDBCassandraTableCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Cassandra Table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateCassandraTableParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CassandraTableCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Cassandra Table." + } + ], + "responses": { + "202": { + "description": "The Cassandra Table create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Cassandra Table create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/CassandraTableGetResults" + } + } + } + }, + "delete": { + "operationId": "CassandraResources_DeleteCassandraTable", + "x-ms-examples": { + "CosmosDBCassandraTableDelete": { + "$ref": "./examples/CosmosDBCassandraTableDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Cassandra table.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The Cassandra table delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default": { + "get": { + "operationId": "CassandraResources_GetCassandraTableThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableThroughputGet": { + "$ref": "./examples/CosmosDBCassandraTableThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Cassandra table was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_UpdateCassandraTableThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableThroughputUpdate": { + "$ref": "./examples/CosmosDBCassandraTableThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Cassandra table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Cassandra table." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Cassandra table update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The RUs per second of the Cassandra table update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraTableToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraTableMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraTableMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Cassandra table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraTableToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraTableMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Cassandra table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": { + "get": { + "operationId": "GremlinResources_ListGremlinDatabases", + "x-ms-examples": { + "CosmosDBGremlinDatabaseList": { + "$ref": "./examples/CosmosDBGremlinDatabaseList.json" + } + }, + "description": "Lists the Gremlin databases under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin database properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinDatabaseListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}": { + "get": { + "operationId": "GremlinResources_GetGremlinDatabase", + "x-ms-examples": { + "CosmosDBGremlinDatabaseGet": { + "$ref": "./examples/CosmosDBGremlinDatabaseGet.json" + } + }, + "description": "Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin database property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinDatabaseGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_CreateUpdateGremlinDatabase", + "x-ms-examples": { + "CosmosDBGremlinDatabaseCreateUpdate": { + "$ref": "./examples/CosmosDBGremlinDatabaseCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Gremlin database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateGremlinDatabaseParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GremlinDatabaseCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Gremlin database." + } + ], + "responses": { + "202": { + "description": "The Gremlin database create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Gremlin database create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/GremlinDatabaseGetResults" + } + } + } + }, + "delete": { + "operationId": "GremlinResources_DeleteGremlinDatabase", + "x-ms-examples": { + "CosmosDBGremlinDatabaseDelete": { + "$ref": "./examples/CosmosDBGremlinDatabaseDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Gremlin database.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The Gremlin database delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default": { + "get": { + "operationId": "GremlinResources_GetGremlinDatabaseThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseThroughputGet": { + "$ref": "./examples/CosmosDBGremlinDatabaseThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Gremlin database was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_UpdateGremlinDatabaseThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseThroughputUpdate": { + "$ref": "./examples/CosmosDBGremlinDatabaseThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Gremlin database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Gremlin database." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Gremlin database update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The RUs per second of the Gremlin database update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "GremlinResources_MigrateGremlinDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBGremlinDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Gremlin database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "GremlinResources_MigrateGremlinDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Gremlin database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": { + "get": { + "operationId": "GremlinResources_ListGremlinGraphs", + "x-ms-examples": { + "CosmosDBGremlinGraphList": { + "$ref": "./examples/CosmosDBGremlinGraphList.json" + } + }, + "description": "Lists the Gremlin graph under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin graph properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinGraphListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}": { + "get": { + "operationId": "GremlinResources_GetGremlinGraph", + "x-ms-examples": { + "CosmosDBGremlinGraphGet": { + "$ref": "./examples/CosmosDBGremlinGraphGet.json" + } + }, + "description": "Gets the Gremlin graph under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin graph property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinGraphGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_CreateUpdateGremlinGraph", + "x-ms-examples": { + "CosmosDBGremlinGraphCreateUpdate": { + "$ref": "./examples/CosmosDBGremlinGraphCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Gremlin graph", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateGremlinGraphParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GremlinGraphCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Gremlin graph." + } + ], + "responses": { + "202": { + "description": "The Gremlin graph create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Gremlin graph create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/GremlinGraphGetResults" + } + } + } + }, + "delete": { + "operationId": "GremlinResources_DeleteGremlinGraph", + "x-ms-examples": { + "CosmosDBGremlinGraphDelete": { + "$ref": "./examples/CosmosDBGremlinGraphDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Gremlin graph.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The Gremlin graph delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default": { + "get": { + "operationId": "GremlinResources_GetGremlinGraphThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphThroughputGet": { + "$ref": "./examples/CosmosDBGremlinGraphThroughputGet.json" + } + }, + "description": "Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Gremlin graph was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_UpdateGremlinGraphThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphThroughputUpdate": { + "$ref": "./examples/CosmosDBGremlinGraphThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Gremlin graph", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Gremlin graph." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Gremlin graph update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The RUs per second of the Gremlin graph update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "GremlinResources_MigrateGremlinGraphToAutoscale", + "x-ms-examples": { + "CosmosDBGremlinGraphMigrateToAutoscale": { + "$ref": "./examples/CosmosDBGremlinGraphMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Gremlin graph migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "GremlinResources_MigrateGremlinGraphToManualThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBGremlinGraphMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Gremlin graph migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations": { + "get": { + "operationId": "Locations_List", + "x-ms-examples": { + "CosmosDBLocationList": { + "$ref": "./examples/CosmosDBLocationList.json" + } + }, + "description": "List Cosmos DB locations and their properties", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/LocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}": { + "get": { + "operationId": "Locations_Get", + "x-ms-examples": { + "CosmosDBLocationGet": { + "$ref": "./examples/CosmosDBLocationGet.json" + } + }, + "description": "Get the properties of an existing Cosmos DB location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "The Cosmos DB location properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/LocationGetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views": { + "get": { + "operationId": "CassandraResources_ListCassandraViews", + "x-ms-examples": { + "CosmosDBCassandraViewList": { + "$ref": "./examples/CosmosDBCassandraViewList.json" + } + }, + "description": "Lists the Cassandra materialized views under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra view properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraViewListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}": { + "get": { + "operationId": "CassandraResources_GetCassandraView", + "x-ms-examples": { + "CosmosDBCassandraViewGet": { + "$ref": "./examples/CosmosDBCassandraViewGet.json" + } + }, + "description": "Gets the Cassandra view under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra view property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraViewGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_CreateUpdateCassandraView", + "x-ms-examples": { + "CosmosDBCassandraViewCreateUpdate": { + "$ref": "./examples/CosmosDBCassandraViewCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Cassandra View", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateCassandraViewParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CassandraViewCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Cassandra View." + } + ], + "responses": { + "202": { + "description": "The Cassandra View create or update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Cassandra View create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/CassandraViewGetResults" + } + } + } + }, + "delete": { + "operationId": "CassandraResources_DeleteCassandraView", + "x-ms-examples": { + "CosmosDBCassandraViewDelete": { + "$ref": "./examples/CosmosDBCassandraViewDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Cassandra view.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra view delete operation completed successfully." + }, + "202": { + "description": "The Cassandra view delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The Cassandra view delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default": { + "get": { + "operationId": "CassandraResources_GetCassandraViewThroughput", + "x-ms-examples": { + "CosmosDBCassandraViewThroughputGet": { + "$ref": "./examples/CosmosDBCassandraViewThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Cassandra view under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Cassandra view was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_UpdateCassandraViewThroughput", + "x-ms-examples": { + "CosmosDBCassandraViewThroughputUpdate": { + "$ref": "./examples/CosmosDBCassandraViewThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Cassandra view", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Cassandra view." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Cassandra view update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The RUs per second of the Cassandra view update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraViewToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraViewMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraViewMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra view from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra view migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Cassandra view migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraViewToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraViewMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraViewMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra view from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra view migrate operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "200": { + "description": "The Cassandra view migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ClientEncryptionKeysListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ClientEncryptionKeyGetResults" + }, + "description": "List of client encryption keys and their properties." + } + }, + "description": "The List operation response, that contains the client encryption keys and their properties." + }, + "DatabaseAccountsListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseAccountGetResults" + }, + "description": "List of database account and their properties." + } + }, + "description": "The List operation response, that contains the database accounts and their properties." + }, + "GraphResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/GraphResourceGetResults" + }, + "description": "List of Graph resource and their properties." + } + }, + "description": "The List operation response, that contains the Graph resource and their properties." + }, + "SqlDatabaseListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlDatabaseGetResults" + }, + "description": "List of SQL databases and their properties." + } + }, + "description": "The List operation response, that contains the SQL databases and their properties." + }, + "SqlContainerListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlContainerGetResults" + }, + "description": "List of containers and their properties." + } + }, + "description": "The List operation response, that contains the containers and their properties." + }, + "SqlStoredProcedureListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlStoredProcedureGetResults" + }, + "description": "List of storedProcedures and their properties." + } + }, + "description": "The List operation response, that contains the storedProcedures and their properties." + }, + "SqlUserDefinedFunctionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlUserDefinedFunctionGetResults" + }, + "description": "List of userDefinedFunctions and their properties." + } + }, + "description": "The List operation response, that contains the userDefinedFunctions and their properties." + }, + "SqlTriggerListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlTriggerGetResults" + }, + "description": "List of triggers and their properties." + } + }, + "description": "The List operation response, that contains the triggers and their properties." + }, + "MongoDBDatabaseListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MongoDBDatabaseGetResults" + }, + "description": "List of MongoDB databases and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB databases and their properties." + }, + "MongoDBCollectionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MongoDBCollectionGetResults" + }, + "description": "List of MongoDB collections and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB collections and their properties." + }, + "TableListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TableGetResults" + }, + "description": "List of Table and their properties." + } + }, + "description": "The List operation response, that contains the Table and their properties." + }, + "CassandraKeyspaceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CassandraKeyspaceGetResults" + }, + "description": "List of Cassandra keyspaces and their properties." + } + }, + "description": "The List operation response, that contains the Cassandra keyspaces and their properties." + }, + "CassandraTableListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CassandraTableGetResults" + }, + "description": "List of Cassandra tables and their properties." + } + }, + "description": "The List operation response, that contains the Cassandra tables and their properties." + }, + "GremlinDatabaseListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/GremlinDatabaseGetResults" + }, + "description": "List of Gremlin databases and their properties." + } + }, + "description": "The List operation response, that contains the Gremlin databases and their properties." + }, + "GremlinGraphListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/GremlinGraphGetResults" + }, + "description": "List of graphs and their properties." + } + }, + "description": "The List operation response, that contains the graphs and their properties." + }, + "CassandraViewListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CassandraViewGetResults" + }, + "description": "List of Cassandra views and their properties." + } + }, + "description": "The List operation response, that contains the Cassandra views and their properties." + }, + "ErrorResponse": { + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + }, + "description": "Error Response." + }, + "CloudError": { + "x-ms-external": true, + "description": "An error response from the service.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "FailoverPolicies": { + "properties": { + "failoverPolicies": { + "type": "array", + "description": "List of failover policies.", + "items": { + "$ref": "#/definitions/FailoverPolicy" + } + } + }, + "required": [ + "failoverPolicies" + ], + "description": "The list of new failover policies for the failover priority change." + }, + "FailoverPolicy": { + "type": "object", + "description": "The failover policy for a given region of a database account.", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The unique identifier of the region in which the database account replicates to. Example: <accountName>-<locationName>." + }, + "locationName": { + "type": "string", + "description": "The name of the region in which the database account exists." + }, + "failoverPriority": { + "type": "integer", + "minimum": 0, + "format": "int32", + "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists." + } + } + }, + "RegionForOnlineOffline": { + "properties": { + "region": { + "type": "string", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + } + }, + "required": [ + "region" + ], + "description": "Cosmos DB region to online or offline." + }, + "Location": { + "description": "A region in which the Azure Cosmos DB database account is deployed.", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The unique identifier of the region within the database account. Example: <accountName>-<locationName>." + }, + "locationName": { + "type": "string", + "description": "The name of the region." + }, + "documentEndpoint": { + "type": "string", + "readOnly": true, + "description": "The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + }, + "failoverPriority": { + "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.", + "format": "int32", + "type": "integer", + "minimum": 0 + }, + "isZoneRedundant": { + "type": "boolean", + "description": "Flag to indicate whether or not this region is an AvailabilityZone region" + } + } + }, + "ARMResourceProperties": { + "type": "object", + "description": "The core properties of ARM resources.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "tags": { + "$ref": "#/definitions/Tags" + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + } + }, + "x-ms-azure-resource": true + }, + "ARMProxyResource": { + "type": "object", + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the database account." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the database account." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + }, + "x-ms-azure-resource": true + }, + "ClientEncryptionKeyCreateUpdateParameters": { + "description": "Parameters to create and update ClientEncryptionKey.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update ClientEncryptionKey.", + "$ref": "#/definitions/ClientEncryptionKeyCreateUpdateProperties" + } + }, + "required": [ + "properties" + ] + }, + "ClientEncryptionKeyCreateUpdateProperties": { + "description": "Properties to create and update ClientEncryptionKey.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a ClientEncryptionKey", + "$ref": "#/definitions/ClientEncryptionKeyResource" + } + }, + "required": [ + "resource" + ] + }, + "ClientEncryptionKeyGetResults": { + "description": "Client Encryption Key.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of a ClientEncryptionKey", + "$ref": "#/definitions/ClientEncryptionKeyGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMProxyResource" + } + ] + }, + "ClientEncryptionKeyGetProperties": { + "description": "The properties of a ClientEncryptionKey resource", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/ClientEncryptionKeyResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "DatabaseAccountGetResults": { + "description": "An Azure Cosmos DB database account.", + "type": "object", + "properties": { + "kind": { + "description": "Indicates the type of database account. This can only be set at database account creation.", + "type": "string", + "default": "GlobalDocumentDB", + "enum": [ + "GlobalDocumentDB", + "MongoDB", + "Parse" + ], + "x-ms-enum": { + "name": "DatabaseAccountKind", + "modelAsString": true + } + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountGetProperties" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "ExtendedResourceProperties": { + "description": "The system generated resource properties associated with SQL databases, SQL containers, Gremlin databases and Gremlin graphs.", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "description": "A system generated property. A unique identifier.", + "readOnly": true + }, + "_ts": { + "type": "number", + "description": "A system generated property that denotes the last updated timestamp of the resource.", + "readOnly": true + }, + "_etag": { + "type": "string", + "description": "A system generated property representing the resource etag required for optimistic concurrency control.", + "readOnly": true + } + } + }, + "ThroughputSettingsGetResults": { + "description": "An Azure Cosmos DB resource throughput.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB resource throughput", + "$ref": "#/definitions/ThroughputSettingsGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "ThroughputSettingsGetProperties": { + "description": "The properties of an Azure Cosmos DB resource throughput", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/ThroughputSettingsResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "SqlDatabaseGetResults": { + "description": "An Azure Cosmos DB SQL database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB SQL database", + "$ref": "#/definitions/SqlDatabaseGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "GraphResourceGetProperties": { + "description": "The properties of an Azure Cosmos DB SQL database", + "type": "object", + "properties": { + "resource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GraphResource" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "GraphResourceGetResults": { + "description": "An Azure Cosmos DB Graph resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Graph resource.", + "$ref": "#/definitions/GraphResourceGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlDatabaseGetProperties": { + "description": "The properties of an Azure Cosmos DB SQL database", + "type": "object", + "properties": { + "resource": { + "properties": { + "_colls": { + "type": "string", + "description": "A system generated property that specified the addressable path of the collections resource." + }, + "_users": { + "type": "string", + "description": "A system generated property that specifies the addressable path of the users resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SqlDatabaseResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "SqlContainerGetResults": { + "description": "An Azure Cosmos DB container.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB container", + "$ref": "#/definitions/SqlContainerGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlContainerGetProperties": { + "description": "The properties of an Azure Cosmos DB container", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlContainerResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "SqlStoredProcedureGetResults": { + "description": "An Azure Cosmos DB storedProcedure.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB storedProcedure", + "$ref": "#/definitions/SqlStoredProcedureGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlStoredProcedureGetProperties": { + "description": "The properties of an Azure Cosmos DB StoredProcedure", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlStoredProcedureResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "SqlUserDefinedFunctionGetResults": { + "description": "An Azure Cosmos DB userDefinedFunction.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB userDefinedFunction", + "$ref": "#/definitions/SqlUserDefinedFunctionGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlUserDefinedFunctionGetProperties": { + "description": "The properties of an Azure Cosmos DB userDefinedFunction", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlUserDefinedFunctionResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "SqlTriggerGetResults": { + "description": "An Azure Cosmos DB trigger.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB trigger", + "$ref": "#/definitions/SqlTriggerGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlTriggerGetProperties": { + "description": "The properties of an Azure Cosmos DB trigger", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlTriggerResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "MongoDBDatabaseGetResults": { + "description": "An Azure Cosmos DB MongoDB database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB MongoDB database", + "$ref": "#/definitions/MongoDBDatabaseGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "MongoDBDatabaseGetProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB database", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/MongoDBDatabaseResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "MongoDBCollectionGetResults": { + "description": "An Azure Cosmos DB MongoDB collection.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB MongoDB collection", + "$ref": "#/definitions/MongoDBCollectionGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "MongoDBCollectionGetProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB collection", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/MongoDBCollectionResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "TableGetResults": { + "description": "An Azure Cosmos DB Table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Table", + "$ref": "#/definitions/TableGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "TableGetProperties": { + "description": "The properties of an Azure Cosmos Table", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/TableResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "CassandraKeyspaceGetResults": { + "description": "An Azure Cosmos DB Cassandra keyspace.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Cassandra keyspace", + "$ref": "#/definitions/CassandraKeyspaceGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "CassandraKeyspaceGetProperties": { + "description": "The properties of an Azure Cosmos DB Cassandra keyspace", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/CassandraKeyspaceResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "CassandraTableGetResults": { + "description": "An Azure Cosmos DB Cassandra table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Cassandra table", + "$ref": "#/definitions/CassandraTableGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "CassandraTableGetProperties": { + "description": "The properties of an Azure Cosmos DB Cassandra table", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/CassandraTableResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "GremlinDatabaseGetResults": { + "description": "An Azure Cosmos DB Gremlin database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB SQL database", + "$ref": "#/definitions/GremlinDatabaseGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "GremlinDatabaseGetProperties": { + "description": "The properties of an Azure Cosmos DB SQL database", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/GremlinDatabaseResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "GremlinGraphGetResults": { + "description": "An Azure Cosmos DB Gremlin graph.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Gremlin graph", + "$ref": "#/definitions/GremlinGraphGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "GremlinGraphGetProperties": { + "description": "The properties of an Azure Cosmos DB Gremlin graph", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/GremlinGraphResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "CassandraViewGetResults": { + "description": "An Azure Cosmos DB Cassandra view.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Cassandra view", + "$ref": "#/definitions/CassandraViewGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "CassandraViewGetProperties": { + "description": "The properties of an Azure Cosmos DB Cassandra view", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/CassandraViewResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "ConsistencyPolicy": { + "type": "object", + "description": "The consistency policy for the Cosmos DB database account.", + "properties": { + "defaultConsistencyLevel": { + "description": "The default consistency level and configuration settings of the Cosmos DB account.", + "type": "string", + "enum": [ + "Eventual", + "Session", + "BoundedStaleness", + "Strong", + "ConsistentPrefix" + ], + "x-ms-enum": { + "name": "DefaultConsistencyLevel", + "modelAsString": false + } + }, + "maxStalenessPrefix": { + "description": "When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.", + "type": "integer", + "minimum": 1, + "maximum": 2147483647, + "format": "int64" + }, + "maxIntervalInSeconds": { + "description": "When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.", + "type": "integer", + "minimum": 5, + "maximum": 86400, + "format": "int32" + } + }, + "required": [ + "defaultConsistencyLevel" + ] + }, + "CorsPolicy": { + "type": "object", + "description": "The CORS policy for the Cosmos DB database account.", + "properties": { + "allowedOrigins": { + "description": "The origin domains that are permitted to make a request against the service via CORS.", + "type": "string" + }, + "allowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request.", + "type": "string" + }, + "allowedHeaders": { + "description": "The request headers that the origin domain may specify on the CORS request.", + "type": "string" + }, + "exposedHeaders": { + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer.", + "type": "string" + }, + "maxAgeInSeconds": { + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", + "type": "integer", + "minimum": 1, + "maximum": 2147483647, + "format": "int64" + } + }, + "required": [ + "allowedOrigins" + ] + }, + "DatabaseAccountGetProperties": { + "description": "Properties for the database account.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + }, + "documentEndpoint": { + "description": "The connection endpoint for the Cosmos DB database account.", + "type": "string", + "readOnly": true + }, + "databaseAccountOfferType": { + "description": "The offer type for the Cosmos DB database account. Default value: Standard.", + "readOnly": true, + "$ref": "#/definitions/DatabaseAccountOfferType" + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB database account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "writeLocations": { + "type": "array", + "readOnly": true, + "description": "An array that contains the write location for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "readLocations": { + "type": "array", + "readOnly": true, + "description": "An array that contains of the read locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "failoverPolicies": { + "type": "array", + "readOnly": true, + "description": "An array that contains the regions ordered by their failover priorities.", + "items": { + "$ref": "#/definitions/FailoverPolicy" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "description": "List of Private Endpoint Connections configured for the Cosmos DB account.", + "items": { + "$ref": "./privateEndpointConnection.json#/definitions/PrivateEndpointConnection" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "defaultIdentity": { + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "analyticalStorageConfiguration": { + "description": "Analytical storage specific properties.", + "type": "object", + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + "instanceId": { + "description": "A unique identifier assigned to the database account", + "type": "string", + "readOnly": true + }, + "createMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "$ref": "#/definitions/CreateMode" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore.", + "type": "object", + "$ref": "#/definitions/RestoreParameters" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + "networkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "$ref": "#/definitions/NetworkAclBypass" + }, + "networkAclBypassResourceIds": { + "type": "array", + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.", + "items": { + "type": "string", + "format": "arm-id" + } + }, + "diagnosticLogSettings": { + "type": "object", + "description": "The Object representing the different Diagnostic log settings for the Cosmos DB Account.", + "$ref": "#/definitions/DiagnosticLogSettings" + }, + "disableLocalAuth": { + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.", + "type": "boolean" + }, + "capacity": { + "description": "The object that represents all properties related to capacity enforcement on an account.", + "type": "object", + "$ref": "#/definitions/Capacity" + }, + "enableMaterializedViews": { + "description": "Flag to indicate whether to enable MaterializedViews on the Cosmos DB account", + "type": "boolean" + }, + "keysMetadata": { + "description": "The object that represents the metadata for the Account Keys of the Cosmos DB account.", + "type": "object", + "$ref": "#/definitions/DatabaseAccountKeysMetadata" + }, + "enablePartitionMerge": { + "description": "Flag to indicate enabling/disabling of Partition Merge feature on the account", + "type": "boolean" + }, + "enableBurstCapacity": { + "description": "Flag to indicate enabling/disabling of Burst Capacity Preview feature on the account", + "type": "boolean" + }, + "minimalTlsVersion": { + "description": "Indicates the minimum allowed Tls version. The default is Tls 1.0, except for Cassandra and Mongo API's, which only work with Tls 1.2.", + "type": "string", + "$ref": "#/definitions/MinimalTlsVersion" + }, + "customerManagedKeyStatus": { + "description": "Indicates the status of the Customer Managed Key feature on the account. In case there are errors, the property provides troubleshooting guidance.", + "type": "string" + }, + "enablePriorityBasedExecution": { + "description": "Flag to indicate enabling/disabling of Priority Based Execution Preview feature on the account", + "type": "boolean" + }, + "defaultPriorityLevel": { + "description": "Enum to indicate default Priority Level of request for Priority Based Execution.", + "type": "string", + "$ref": "#/definitions/DefaultPriorityLevel" + } + } + }, + "DatabaseAccountCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB database accounts.", + "type": "object", + "properties": { + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "locations": { + "type": "array", + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "databaseAccountOfferType": { + "description": "The offer type for the database", + "$ref": "#/definitions/DatabaseAccountOfferType" + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "defaultIdentity": { + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties. Currently, supported only for MongoDB API.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "analyticalStorageConfiguration": { + "description": "Analytical storage specific properties.", + "type": "object", + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + "createMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "$ref": "#/definitions/CreateMode" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + "networkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "$ref": "#/definitions/NetworkAclBypass" + }, + "networkAclBypassResourceIds": { + "type": "array", + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.", + "items": { + "type": "string" + } + }, + "diagnosticLogSettings": { + "type": "object", + "description": "The Object representing the different Diagnostic log settings for the Cosmos DB Account.", + "$ref": "#/definitions/DiagnosticLogSettings" + }, + "disableLocalAuth": { + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.", + "type": "boolean" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore.", + "type": "object", + "$ref": "#/definitions/RestoreParameters" + }, + "capacity": { + "description": "The object that represents all properties related to capacity enforcement on an account.", + "type": "object", + "$ref": "#/definitions/Capacity" + }, + "enableMaterializedViews": { + "description": "Flag to indicate whether to enable MaterializedViews on the Cosmos DB account", + "type": "boolean" + }, + "keysMetadata": { + "description": "This property is ignored during the update/create operation, as the metadata is read-only. The object represents the metadata for the Account Keys of the Cosmos DB account.", + "type": "object", + "$ref": "#/definitions/DatabaseAccountKeysMetadata" + }, + "enablePartitionMerge": { + "description": "Flag to indicate enabling/disabling of Partition Merge feature on the account", + "type": "boolean" + }, + "enableBurstCapacity": { + "description": "Flag to indicate enabling/disabling of Burst Capacity Preview feature on the account", + "type": "boolean" + }, + "minimalTlsVersion": { + "description": "Indicates the minimum allowed Tls version. The default is Tls 1.0, except for Cassandra and Mongo API's, which only work with Tls 1.2.", + "type": "string", + "$ref": "#/definitions/MinimalTlsVersion" + }, + "customerManagedKeyStatus": { + "description": "Indicates the status of the Customer Managed Key feature on the account. In case there are errors, the property provides troubleshooting guidance.", + "type": "string" + }, + "enablePriorityBasedExecution": { + "description": "Flag to indicate enabling/disabling of Priority Based Execution Preview feature on the account", + "type": "boolean" + }, + "defaultPriorityLevel": { + "description": "Enum to indicate default Priority Level of request for Priority Based Execution.", + "type": "string", + "$ref": "#/definitions/DefaultPriorityLevel" + } + }, + "required": [ + "locations", + "databaseAccountOfferType" + ] + }, + "DatabaseAccountCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB database accounts.", + "type": "object", + "properties": { + "kind": { + "description": "Indicates the type of database account. This can only be set at database account creation.", + "type": "string", + "default": "GlobalDocumentDB", + "enum": [ + "GlobalDocumentDB", + "MongoDB", + "Parse" + ], + "x-ms-enum": { + "name": "DatabaseAccountKind", + "modelAsString": true + } + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "DatabaseAccountUpdateProperties": { + "description": "Properties to update Azure Cosmos DB database accounts.", + "type": "object", + "properties": { + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "locations": { + "type": "array", + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "defaultIdentity": { + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties. Currently, supported only for MongoDB API.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "analyticalStorageConfiguration": { + "description": "Analytical storage specific properties.", + "type": "object", + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + "networkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "$ref": "#/definitions/NetworkAclBypass" + }, + "networkAclBypassResourceIds": { + "type": "array", + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.", + "items": { + "type": "string" + } + }, + "diagnosticLogSettings": { + "type": "object", + "description": "The Object representing the different Diagnostic log settings for the Cosmos DB Account.", + "$ref": "#/definitions/DiagnosticLogSettings" + }, + "disableLocalAuth": { + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.", + "type": "boolean" + }, + "capacity": { + "description": "The object that represents all properties related to capacity enforcement on an account.", + "type": "object", + "$ref": "#/definitions/Capacity" + }, + "enableMaterializedViews": { + "description": "Flag to indicate whether to enable MaterializedViews on the Cosmos DB account", + "type": "boolean" + }, + "keysMetadata": { + "description": "This property is ignored during the update operation, as the metadata is read-only. The object represents the metadata for the Account Keys of the Cosmos DB account.", + "type": "object", + "$ref": "#/definitions/DatabaseAccountKeysMetadata" + }, + "enablePartitionMerge": { + "description": "Flag to indicate enabling/disabling of Partition Merge feature on the account", + "type": "boolean" + }, + "enableBurstCapacity": { + "description": "Flag to indicate enabling/disabling of Burst Capacity Preview feature on the account", + "type": "boolean" + }, + "minimalTlsVersion": { + "description": "Indicates the minimum allowed Tls version. The default is Tls 1.0, except for Cassandra and Mongo API's, which only work with Tls 1.2.", + "type": "string", + "$ref": "#/definitions/MinimalTlsVersion" + }, + "customerManagedKeyStatus": { + "description": "Indicates the status of the Customer Managed Key feature on the account. In case there are errors, the property provides troubleshooting guidance.", + "type": "string" + }, + "enablePriorityBasedExecution": { + "description": "Flag to indicate enabling/disabling of Priority Based Execution Preview feature on the account", + "type": "boolean" + }, + "defaultPriorityLevel": { + "description": "Enum to indicate default Priority Level of request for Priority Based Execution.", + "type": "string", + "$ref": "#/definitions/DefaultPriorityLevel" + } + } + }, + "DatabaseAccountUpdateParameters": { + "description": "Parameters for patching Azure Cosmos DB database account properties.", + "type": "object", + "properties": { + "tags": { + "$ref": "#/definitions/Tags" + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountUpdateProperties" + } + } + }, + "DatabaseAccountListReadOnlyKeysResult": { + "description": "The read-only access keys for the given database account.", + "properties": { + "primaryReadonlyMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the primary read-only key." + }, + "secondaryReadonlyMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the secondary read-only key." + } + } + }, + "DatabaseAccountListKeysResult": { + "description": "The access keys for the given database account.", + "properties": { + "primaryMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the primary read-write key." + }, + "secondaryMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the secondary read-write key." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult" + } + ] + }, + "DatabaseAccountConnectionString": { + "description": "Connection string for the Cosmos DB account", + "properties": { + "connectionString": { + "readOnly": true, + "type": "string", + "description": "Value of the connection string" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the connection string" + }, + "keyKind": { + "readOnly": true, + "type": "string", + "description": "Kind of the connection string key", + "enum": [ + "Primary", + "Secondary", + "PrimaryReadonly", + "SecondaryReadonly" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the connection string", + "enum": [ + "Sql", + "Table", + "MongoDB", + "Cassandra", + "CassandraConnectorMetadata", + "Gremlin", + "SqlDedicatedGateway", + "GremlinV2", + "Undefined" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + } + } + }, + "DatabaseAccountListConnectionStringsResult": { + "description": "The connection strings for the given database account.", + "properties": { + "connectionStrings": { + "type": "array", + "description": "An array that contains the connection strings for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/DatabaseAccountConnectionString" + } + } + } + }, + "DatabaseAccountRegenerateKeyParameters": { + "type": "object", + "description": "Parameters to regenerate the keys within the database account.", + "properties": { + "keyKind": { + "type": "string", + "description": "The access key to regenerate.", + "enum": [ + "primary", + "secondary", + "primaryReadonly", + "secondaryReadonly" + ], + "x-ms-enum": { + "name": "KeyKind", + "modelAsString": true + } + } + }, + "required": [ + "keyKind" + ] + }, + "DatabaseAccountOfferType": { + "description": "The offer type for the Cosmos DB database account.", + "type": "string", + "enum": [ + "Standard" + ], + "x-ms-enum": { + "name": "DatabaseAccountOfferType", + "modelAsString": false + } + }, + "ThroughputSettingsUpdateParameters": { + "description": "Parameters to update Cosmos DB resource throughput.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to update Azure Cosmos DB resource throughput.", + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "ThroughputSettingsUpdateProperties": { + "description": "Properties to update Azure Cosmos DB resource throughput.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a resource throughput", + "$ref": "#/definitions/ThroughputSettingsResource" + } + }, + "required": [ + "resource" + ] + }, + "GraphResourceCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Graph resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Graph resource.", + "$ref": "#/definitions/GraphResourceCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "GraphResourceCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Graph resource.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Graph resource", + "$ref": "#/definitions/GraphResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "GraphResource": { + "type": "object", + "description": "Cosmos DB Graph resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Graph" + } + }, + "required": [ + "id" + ] + }, + "SqlDatabaseCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB SQL database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB SQL database.", + "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlDatabaseCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB SQL database.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a SQL database", + "$ref": "#/definitions/SqlDatabaseResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "SqlContainerCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB container.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB container.", + "$ref": "#/definitions/SqlContainerCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlContainerCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB container.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a container", + "$ref": "#/definitions/SqlContainerResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "SqlStoredProcedureCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB storedProcedure.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB storedProcedure.", + "$ref": "#/definitions/SqlStoredProcedureCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlStoredProcedureCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB storedProcedure.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a storedProcedure", + "$ref": "#/definitions/SqlStoredProcedureResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "SqlUserDefinedFunctionCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB userDefinedFunction.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.", + "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlUserDefinedFunctionCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a userDefinedFunction", + "$ref": "#/definitions/SqlUserDefinedFunctionResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "SqlTriggerCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB trigger.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB trigger.", + "$ref": "#/definitions/SqlTriggerCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlTriggerCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB trigger.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a trigger", + "$ref": "#/definitions/SqlTriggerResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "MongoDBDatabaseCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB MongoDB database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB MongoDB database.", + "$ref": "#/definitions/MongoDBDatabaseCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "MongoDBDatabaseCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB MongoDB database.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a MongoDB database", + "$ref": "#/definitions/MongoDBDatabaseResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "MongoDBCollectionCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB MongoDB collection.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB MongoDB collection.", + "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "MongoDBCollectionCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB MongoDB collection.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a MongoDB collection", + "$ref": "#/definitions/MongoDBCollectionResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "TableCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Table.", + "$ref": "#/definitions/TableCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "TableCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Table.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Table", + "$ref": "#/definitions/TableResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "CassandraKeyspaceCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Cassandra keyspace.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.", + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "CassandraKeyspaceCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Cassandra keyspace", + "$ref": "#/definitions/CassandraKeyspaceResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "CassandraTableCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Cassandra table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Cassandra table.", + "$ref": "#/definitions/CassandraTableCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "CassandraTableCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Cassandra table.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Cassandra table", + "$ref": "#/definitions/CassandraTableResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "GremlinDatabaseCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Gremlin database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Gremlin database.", + "$ref": "#/definitions/GremlinDatabaseCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "GremlinDatabaseCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Gremlin database.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Gremlin database", + "$ref": "#/definitions/GremlinDatabaseResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "GremlinGraphCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Gremlin graph.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Gremlin graph.", + "$ref": "#/definitions/GremlinGraphCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "GremlinGraphCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Gremlin graph.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Gremlin graph", + "$ref": "#/definitions/GremlinGraphResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "CassandraViewCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Cassandra view.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Cassandra view.", + "$ref": "#/definitions/CassandraViewCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "CassandraViewCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Cassandra view.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Cassandra view", + "$ref": "#/definitions/CassandraViewResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource" + ] + }, + "ThroughputSettingsResource": { + "type": "object", + "description": "Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both.", + "properties": { + "throughput": { + "type": "integer", + "description": "Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, but not both." + }, + "autoscaleSettings": { + "description": "Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is required, but not both.", + "$ref": "#/definitions/AutoscaleSettingsResource" + }, + "minimumThroughput": { + "type": "string", + "description": "The minimum throughput of the resource", + "readOnly": true + }, + "offerReplacePending": { + "type": "string", + "description": "The throughput replace is pending", + "readOnly": true + }, + "instantMaximumThroughput": { + "type": "string", + "description": "The offer throughput value to instantly scale up without triggering splits", + "readOnly": true + }, + "softAllowedMaximumThroughput": { + "type": "string", + "description": "The maximum throughput value or the maximum maxThroughput value (for autoscale) that can be specified", + "readOnly": true + } + } + }, + "AutoscaleSettingsResource": { + "type": "object", + "description": "Cosmos DB provisioned throughput settings object", + "properties": { + "maxThroughput": { + "type": "integer", + "description": "Represents maximum throughput container can scale up to." + }, + "autoUpgradePolicy": { + "description": "Cosmos DB resource auto-upgrade policy", + "$ref": "#/definitions/AutoUpgradePolicyResource" + }, + "targetMaxThroughput": { + "type": "integer", + "description": "Represents target maximum throughput container can scale up to once offer is no longer in pending state.", + "readOnly": true + } + }, + "required": [ + "maxThroughput" + ] + }, + "AutoUpgradePolicyResource": { + "type": "object", + "description": "Cosmos DB resource auto-upgrade policy", + "properties": { + "throughputPolicy": { + "description": "Represents throughput policy which service must adhere to for auto-upgrade", + "$ref": "#/definitions/ThroughputPolicyResource" + } + } + }, + "ThroughputPolicyResource": { + "type": "object", + "description": "Cosmos DB resource throughput policy", + "properties": { + "isEnabled": { + "type": "boolean", + "description": "Determines whether the ThroughputPolicy is active or not" + }, + "incrementPercent": { + "type": "integer", + "description": "Represents the percentage by which throughput can increase every time throughput policy kicks in." + } + } + }, + "OptionsResource": { + "type": "object", + "description": "Cosmos DB options resource object", + "readOnly": true, + "properties": { + "throughput": { + "type": "integer", + "description": "Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details." + }, + "autoscaleSettings": { + "type": "object", + "$ref": "#/definitions/AutoscaleSettings", + "description": "Specifies the Autoscale settings." + } + } + }, + "RedistributeThroughputParameters": { + "description": "Cosmos DB redistribute throughput parameters object", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to redistribute throughput parameters object", + "$ref": "#/definitions/RedistributeThroughputProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "RedistributeThroughputProperties": { + "description": "Properties to redistribute throughput for Azure Cosmos DB resource.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a resource throughput", + "$ref": "#/definitions/RedistributeThroughputPropertiesResource" + } + }, + "required": [ + "resource" + ] + }, + "RedistributeThroughputPropertiesResource": { + "type": "object", + "description": "Resource to redistribute throughput for Azure Cosmos DB resource", + "properties": { + "throughputPolicy": { + "description": "ThroughputPolicy to apply for throughput redistribution", + "type": "string", + "enum": [ + "none", + "equal", + "custom" + ], + "x-ms-enum": { + "name": "ThroughputPolicyType", + "modelAsString": true + } + }, + "targetPhysicalPartitionThroughputInfo": { + "type": "array", + "description": "Array of PhysicalPartitionThroughputInfoResource objects.", + "items": { + "$ref": "#/definitions/PhysicalPartitionThroughputInfoResource" + } + }, + "sourcePhysicalPartitionThroughputInfo": { + "type": "array", + "description": "Array of PhysicalPartitionThroughputInfoResource objects.", + "items": { + "$ref": "#/definitions/PhysicalPartitionThroughputInfoResource" + } + } + }, + "required": [ + "throughputPolicy", + "targetPhysicalPartitionThroughputInfo", + "sourcePhysicalPartitionThroughputInfo" + ] + }, + "RetrieveThroughputParameters": { + "description": "Cosmos DB retrieve throughput parameters object", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to retrieve throughput parameters object", + "$ref": "#/definitions/RetrieveThroughputProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "RetrieveThroughputProperties": { + "description": "Properties to retrieve throughput for Azure Cosmos DB resource.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a resource throughput", + "$ref": "#/definitions/RetrieveThroughputPropertiesResource" + } + }, + "required": [ + "resource" + ] + }, + "RetrieveThroughputPropertiesResource": { + "type": "object", + "description": "Resource to retrieve throughput information for Cosmos DB resource", + "properties": { + "physicalPartitionIds": { + "type": "array", + "description": "Array of PhysicalPartitionId objects.", + "items": { + "$ref": "#/definitions/PhysicalPartitionId" + } + } + }, + "required": [ + "physicalPartitionIds" + ] + }, + "PhysicalPartitionId": { + "type": "object", + "description": "PhysicalPartitionId object", + "properties": { + "id": { + "type": "string", + "description": "Id of a physical partition" + } + }, + "required": [ + "id" + ] + }, + "PhysicalPartitionThroughputInfoResult": { + "description": "An Azure Cosmos DB PhysicalPartitionThroughputInfoResult object.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB PhysicalPartitionThroughputInfoResult object", + "$ref": "#/definitions/PhysicalPartitionThroughputInfoResultProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "PhysicalPartitionThroughputInfoResultProperties": { + "description": "The properties of an Azure Cosmos DB PhysicalPartitionThroughputInfoResult object", + "type": "object", + "properties": { + "resource": { + "description": "properties of physical partition throughput info", + "allOf": [ + { + "$ref": "#/definitions/PhysicalPartitionThroughputInfoProperties" + } + ] + } + } + }, + "PhysicalPartitionThroughputInfoProperties": { + "description": "The properties of an Azure Cosmos DB PhysicalPartitionThroughputInfoProperties object", + "type": "object", + "properties": { + "physicalPartitionThroughputInfo": { + "type": "array", + "description": "Array of physical partition throughput info objects", + "items": { + "$ref": "#/definitions/PhysicalPartitionThroughputInfoResource" + } + } + } + }, + "PhysicalPartitionThroughputInfoResource": { + "type": "object", + "description": "PhysicalPartitionThroughputInfo object", + "properties": { + "id": { + "type": "string", + "description": "Id of a physical partition" + }, + "throughput": { + "type": "number", + "format": "double", + "description": "Throughput of a physical partition" + } + }, + "required": [ + "id" + ] + }, + "ClientEncryptionKeyResource": { + "type": "object", + "description": "Cosmos DB client encryption key resource object.", + "properties": { + "id": { + "type": "string", + "description": "Name of the ClientEncryptionKey" + }, + "encryptionAlgorithm": { + "type": "string", + "description": "Encryption algorithm that will be used along with this client encryption key to encrypt/decrypt data." + }, + "wrappedDataEncryptionKey": { + "type": "string", + "format": "byte", + "description": "Wrapped (encrypted) form of the key represented as a byte array." + }, + "keyWrapMetadata": { + "description": "Metadata for the wrapping provider that can be used to unwrap the wrapped client encryption key.", + "$ref": "#/definitions/KeyWrapMetadata" + } + } + }, + "KeyWrapMetadata": { + "type": "object", + "description": "Represents key wrap metadata that a key wrapping provider can use to wrap/unwrap a client encryption key.", + "properties": { + "name": { + "type": "string", + "description": "The name of associated KeyEncryptionKey (aka CustomerManagedKey)." + }, + "type": { + "type": "string", + "description": "ProviderName of KeyStoreProvider." + }, + "value": { + "type": "string", + "description": "Reference / link to the KeyEncryptionKey." + }, + "algorithm": { + "type": "string", + "description": "Algorithm used in wrapping and unwrapping of the data encryption key." + } + } + }, + "SqlDatabaseResource": { + "type": "object", + "description": "Cosmos DB SQL database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL database" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore", + "$ref": "#/definitions/ResourceRestoreParameters" + }, + "createMode": { + "description": "Enum to indicate the mode of resource creation.", + "$ref": "#/definitions/CreateMode" + } + }, + "required": [ + "id" + ] + }, + "SqlContainerResource": { + "type": "object", + "description": "Cosmos DB SQL container resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL container" + }, + "indexingPolicy": { + "$ref": "#/definitions/IndexingPolicy", + "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container" + }, + "partitionKey": { + "$ref": "#/definitions/ContainerPartitionKey", + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "defaultTtl": { + "type": "integer", + "description": "Default time to live" + }, + "uniqueKeyPolicy": { + "$ref": "#/definitions/UniqueKeyPolicy", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + }, + "conflictResolutionPolicy": { + "$ref": "#/definitions/ConflictResolutionPolicy", + "description": "The conflict resolution policy for the container." + }, + "clientEncryptionPolicy": { + "$ref": "#/definitions/ClientEncryptionPolicy", + "description": "The client encryption policy for the container." + }, + "analyticalStorageTtl": { + "type": "integer", + "format": "int64", + "description": "Analytical TTL." + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore", + "$ref": "#/definitions/ResourceRestoreParameters" + }, + "createMode": { + "description": "Enum to indicate the mode of resource creation.", + "$ref": "#/definitions/CreateMode" + }, + "materializedViewDefinition": { + "$ref": "#/definitions/MaterializedViewDefinition", + "description": "The configuration for defining Materialized Views. This must be specified only for creating a Materialized View container." + }, + "computedProperties": { + "description": "List of computed properties", + "type": "array", + "items": { + "$ref": "#/definitions/ComputedProperty" + } + } + }, + "required": [ + "id" + ] + }, + "IndexingPolicy": { + "type": "object", + "description": "Cosmos DB indexing policy", + "properties": { + "automatic": { + "type": "boolean", + "description": "Indicates if the indexing policy is automatic" + }, + "indexingMode": { + "description": "Indicates the indexing mode.", + "type": "string", + "default": "consistent", + "enum": [ + "consistent", + "lazy", + "none" + ], + "x-ms-enum": { + "name": "IndexingMode", + "modelAsString": true + } + }, + "includedPaths": { + "description": "List of paths to include in the indexing", + "type": "array", + "items": { + "$ref": "#/definitions/IncludedPath" + } + }, + "excludedPaths": { + "description": "List of paths to exclude from indexing", + "type": "array", + "items": { + "$ref": "#/definitions/ExcludedPath" + } + }, + "compositeIndexes": { + "description": "List of composite path list", + "type": "array", + "items": { + "$ref": "#/definitions/CompositePathList" + } + }, + "spatialIndexes": { + "description": "List of spatial specifics", + "type": "array", + "items": { + "$ref": "#/definitions/SpatialSpec" + } + } + } + }, + "ExcludedPath": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + } + } + }, + "IncludedPath": { + "type": "object", + "description": "The paths that are included in indexing", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "indexes": { + "description": "List of indexes for this path", + "type": "array", + "items": { + "$ref": "#/definitions/Indexes" + } + } + } + }, + "Indexes": { + "type": "object", + "description": "The indexes for the path.", + "properties": { + "dataType": { + "description": "The datatype for which the indexing behavior is applied to.", + "type": "string", + "default": "String", + "enum": [ + "String", + "Number", + "Point", + "Polygon", + "LineString", + "MultiPolygon" + ], + "x-ms-enum": { + "name": "DataType", + "modelAsString": true + } + }, + "precision": { + "description": "The precision of the index. -1 is maximum precision.", + "type": "integer" + }, + "kind": { + "description": "Indicates the type of index.", + "type": "string", + "default": "Hash", + "enum": [ + "Hash", + "Range", + "Spatial" + ], + "x-ms-enum": { + "name": "IndexKind", + "modelAsString": true + } + } + } + }, + "CompositePathList": { + "description": "List of composite path", + "type": "array", + "items": { + "$ref": "#/definitions/CompositePath" + } + }, + "CompositePath": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "order": { + "description": "Sort order for composite paths.", + "type": "string", + "enum": [ + "ascending", + "descending" + ], + "x-ms-enum": { + "name": "CompositePathSortOrder", + "modelAsString": true + } + } + } + }, + "SpatialSpec": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "types": { + "description": "List of path's spatial type", + "type": "array", + "items": { + "$ref": "#/definitions/SpatialType" + } + } + } + }, + "SpatialType": { + "description": "Indicates the spatial type of index.", + "type": "string", + "enum": [ + "Point", + "LineString", + "Polygon", + "MultiPolygon" + ], + "x-ms-enum": { + "name": "SpatialType", + "modelAsString": true + } + }, + "ComputedProperty": { + "type": "object", + "description": "The definition of a computed property", + "properties": { + "name": { + "type": "string", + "description": "The name of a computed property, for example - \"cp_lowerName\"" + }, + "query": { + "type": "string", + "description": "The query that evaluates the value for computed property, for example - \"SELECT VALUE LOWER(c.name) FROM c\"" + } + } + }, + "ContainerPartitionKey": { + "type": "object", + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions", + "properties": { + "paths": { + "description": "List of paths using which data within the container can be partitioned", + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + }, + "kind": { + "description": "Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) are supported for container create", + "type": "string", + "default": "Hash", + "enum": [ + "Hash", + "Range", + "MultiHash" + ], + "x-ms-enum": { + "name": "PartitionKind", + "modelAsString": true + } + }, + "version": { + "description": "Indicates the version of the partition key definition", + "type": "integer", + "minimum": 1, + "maximum": 2, + "format": "int32" + }, + "systemKey": { + "description": "Indicates if the container is using a system generated partition key", + "type": "boolean", + "readOnly": true + } + } + }, + "Path": { + "type": "string", + "description": "A path. These typically start with root (/path)" + }, + "UniqueKeyPolicy": { + "type": "object", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.", + "properties": { + "uniqueKeys": { + "description": "List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.", + "type": "array", + "items": { + "$ref": "#/definitions/UniqueKey" + } + } + } + }, + "UniqueKey": { + "type": "object", + "description": "The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.", + "properties": { + "paths": { + "description": "List of paths must be unique for each document in the Azure Cosmos DB service", + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "ConflictResolutionPolicy": { + "type": "object", + "description": "The conflict resolution policy for the container.", + "properties": { + "mode": { + "description": "Indicates the conflict resolution mode.", + "type": "string", + "default": "LastWriterWins", + "enum": [ + "LastWriterWins", + "Custom" + ], + "x-ms-enum": { + "name": "ConflictResolutionMode", + "modelAsString": true + } + }, + "conflictResolutionPath": { + "type": "string", + "description": "The conflict resolution path in the case of LastWriterWins mode." + }, + "conflictResolutionProcedure": { + "type": "string", + "description": "The procedure to resolve conflicts in the case of custom mode." + } + } + }, + "ClientEncryptionPolicy": { + "type": "object", + "description": "Cosmos DB client encryption policy.", + "properties": { + "includedPaths": { + "description": "Paths of the item that need encryption along with path-specific settings.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientEncryptionIncludedPath" + }, + "x-ms-identifiers": [] + }, + "policyFormatVersion": { + "description": "Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 supports id and partition key path encryption. ", + "type": "integer", + "minimum": 1, + "maximum": 2, + "format": "int32" + } + }, + "required": [ + "includedPaths", + "policyFormatVersion" + ] + }, + "ClientEncryptionIncludedPath": { + "type": "object", + "description": ".", + "properties": { + "path": { + "description": "Path that needs to be encrypted.", + "type": "string" + }, + "clientEncryptionKeyId": { + "description": "The identifier of the Client Encryption Key to be used to encrypt the path.", + "type": "string" + }, + "encryptionType": { + "description": "The type of encryption to be performed. Eg - Deterministic, Randomized.", + "type": "string" + }, + "encryptionAlgorithm": { + "description": "The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256.", + "type": "string" + } + }, + "required": [ + "path", + "clientEncryptionKeyId", + "encryptionType", + "encryptionAlgorithm" + ] + }, + "MaterializedViewDefinition": { + "type": "object", + "description": "Materialized View definition for the container.", + "properties": { + "sourceCollectionRid": { + "description": "An unique identifier for the source collection. This is a system generated property.", + "type": "string", + "readOnly": true + }, + "sourceCollectionId": { + "description": "The name of the source container on which the Materialized View will be created.", + "type": "string" + }, + "definition": { + "description": "The definition should be an SQL query which would be used to fetch data from the source container to populate into the Materialized View container.", + "type": "string" + } + }, + "required": [ + "sourceCollectionId", + "definition" + ] + }, + "SqlStoredProcedureResource": { + "type": "object", + "description": "Cosmos DB SQL storedProcedure resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL storedProcedure" + }, + "body": { + "type": "string", + "description": "Body of the Stored Procedure" + } + }, + "required": [ + "id" + ] + }, + "SqlUserDefinedFunctionResource": { + "type": "object", + "description": "Cosmos DB SQL userDefinedFunction resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL userDefinedFunction" + }, + "body": { + "type": "string", + "description": "Body of the User Defined Function" + } + }, + "required": [ + "id" + ] + }, + "SqlTriggerResource": { + "type": "object", + "description": "Cosmos DB SQL trigger resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL trigger" + }, + "body": { + "type": "string", + "description": "Body of the Trigger" + }, + "triggerType": { + "type": "string", + "enum": [ + "Pre", + "Post" + ], + "description": "Type of the Trigger", + "x-ms-enum": { + "name": "triggerType", + "modelAsString": true + } + }, + "triggerOperation": { + "type": "string", + "enum": [ + "All", + "Create", + "Update", + "Delete", + "Replace" + ], + "description": "The operation the trigger is associated with", + "x-ms-enum": { + "name": "triggerOperation", + "modelAsString": true + } + } + }, + "required": [ + "id" + ] + }, + "MongoDBDatabaseResource": { + "type": "object", + "description": "Cosmos DB MongoDB database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB database" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore", + "$ref": "#/definitions/ResourceRestoreParameters" + }, + "createMode": { + "description": "Enum to indicate the mode of resource creation.", + "$ref": "#/definitions/CreateMode" + } + }, + "required": [ + "id" + ] + }, + "MongoDBCollectionResource": { + "type": "object", + "description": "Cosmos DB MongoDB collection resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB collection" + }, + "shardKey": { + "description": "A key-value pair of shard keys to be applied for the request.", + "$ref": "#/definitions/ShardKeys" + }, + "indexes": { + "description": "List of index keys", + "type": "array", + "items": { + "$ref": "#/definitions/MongoIndex" + } + }, + "analyticalStorageTtl": { + "type": "integer", + "description": "Analytical TTL." + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore", + "$ref": "#/definitions/ResourceRestoreParameters" + }, + "createMode": { + "description": "Enum to indicate the mode of resource creation.", + "$ref": "#/definitions/CreateMode" + } + }, + "required": [ + "id" + ] + }, + "ShardKeys": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The shard key and partition kind pair, only support \"Hash\" partition kind" + }, + "MongoIndex": { + "type": "object", + "description": "Cosmos DB MongoDB collection index key", + "properties": { + "key": { + "description": "Cosmos DB MongoDB collection index keys", + "$ref": "#/definitions/MongoIndexKeys" + }, + "options": { + "description": "Cosmos DB MongoDB collection index key options", + "$ref": "#/definitions/MongoIndexOptions" + } + } + }, + "MongoIndexKeys": { + "type": "object", + "description": "Cosmos DB MongoDB collection resource object", + "properties": { + "keys": { + "description": "List of keys for each MongoDB collection in the Azure Cosmos DB service", + "type": "array", + "items": { + "$ref": "#/definitions/Key" + } + } + } + }, + "Key": { + "type": "string", + "description": "A Key." + }, + "MongoIndexOptions": { + "type": "object", + "description": "Cosmos DB MongoDB collection index options", + "properties": { + "expireAfterSeconds": { + "description": "Expire after seconds", + "type": "integer" + }, + "unique": { + "description": "Is unique or not", + "type": "boolean" + } + } + }, + "TableResource": { + "type": "object", + "description": "Cosmos DB table resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB table" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore", + "$ref": "#/definitions/ResourceRestoreParameters" + }, + "createMode": { + "description": "Enum to indicate the mode of resource creation.", + "$ref": "#/definitions/CreateMode" + } + }, + "required": [ + "id" + ] + }, + "CassandraKeyspaceResource": { + "type": "object", + "description": "Cosmos DB Cassandra keyspace resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra keyspace" + } + }, + "required": [ + "id" + ] + }, + "CassandraTableResource": { + "type": "object", + "description": "Cosmos DB Cassandra table resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table" + }, + "defaultTtl": { + "type": "integer", + "description": "Time to live of the Cosmos DB Cassandra table" + }, + "schema": { + "description": "Schema of the Cosmos DB Cassandra table", + "$ref": "#/definitions/CassandraSchema" + }, + "analyticalStorageTtl": { + "type": "integer", + "description": "Analytical TTL." + } + }, + "required": [ + "id" + ] + }, + "CassandraSchema": { + "type": "object", + "description": "Cosmos DB Cassandra table schema", + "properties": { + "columns": { + "type": "array", + "items": { + "$ref": "#/definitions/Column" + }, + "description": "List of Cassandra table columns." + }, + "partitionKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/CassandraPartitionKey" + }, + "description": "List of partition key." + }, + "clusterKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ClusterKey" + }, + "description": "List of cluster key." + } + } + }, + "Column": { + "type": "object", + "description": "Cosmos DB Cassandra table column", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table column" + }, + "type": { + "type": "string", + "description": "Type of the Cosmos DB Cassandra table column" + } + } + }, + "CassandraPartitionKey": { + "type": "object", + "description": "Cosmos DB Cassandra table partition key", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table partition key" + } + } + }, + "ClusterKey": { + "type": "object", + "description": "Cosmos DB Cassandra table cluster key", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table cluster key" + }, + "orderBy": { + "type": "string", + "description": "Order of the Cosmos DB Cassandra table cluster key, only support \"Asc\" and \"Desc\"" + } + } + }, + "GremlinDatabaseResource": { + "type": "object", + "description": "Cosmos DB Gremlin database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin database" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore", + "$ref": "#/definitions/ResourceRestoreParameters" + }, + "createMode": { + "description": "Enum to indicate the mode of resource creation.", + "$ref": "#/definitions/CreateMode" + } + }, + "required": [ + "id" + ] + }, + "GremlinGraphResource": { + "type": "object", + "description": "Cosmos DB Gremlin graph resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin graph" + }, + "indexingPolicy": { + "$ref": "#/definitions/IndexingPolicy", + "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph" + }, + "partitionKey": { + "$ref": "#/definitions/ContainerPartitionKey", + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "defaultTtl": { + "type": "integer", + "description": "Default time to live" + }, + "uniqueKeyPolicy": { + "$ref": "#/definitions/UniqueKeyPolicy", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + }, + "conflictResolutionPolicy": { + "$ref": "#/definitions/ConflictResolutionPolicy", + "description": "The conflict resolution policy for the graph." + }, + "analyticalStorageTtl": { + "type": "integer", + "format": "int64", + "description": "Analytical TTL." + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore", + "$ref": "#/definitions/ResourceRestoreParameters" + }, + "createMode": { + "description": "Enum to indicate the mode of resource creation.", + "$ref": "#/definitions/CreateMode" + } + }, + "required": [ + "id" + ] + }, + "CassandraViewResource": { + "type": "object", + "description": "Cosmos DB Cassandra view resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra view" + }, + "viewDefinition": { + "type": "string", + "description": "View Definition of the Cosmos DB Cassandra view" + } + }, + "required": [ + "id", + "viewDefinition" + ] + }, + "CreateUpdateOptions": { + "type": "object", + "properties": { + "throughput": { + "type": "integer", + "description": "Request Units per second. For example, \"throughput\": 10000." + }, + "autoscaleSettings": { + "$ref": "#/definitions/AutoscaleSettings", + "description": "Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not both." + } + }, + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "AutoscaleSettings": { + "type": "object", + "properties": { + "maxThroughput": { + "type": "integer", + "description": "Represents maximum throughput, the resource can scale up to." + } + } + }, + "Capability": { + "type": "object", + "description": "Cosmos DB capability object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB capability. For example, \"name\": \"EnableCassandra\". Current values also include \"EnableTable\" and \"EnableGremlin\"." + } + } + }, + "Capacity": { + "type": "object", + "description": "The object that represents all properties related to capacity enforcement on an account.", + "properties": { + "totalThroughputLimit": { + "type": "integer", + "minimum": -1, + "format": "int32", + "description": "The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of throughput." + } + } + }, + "Tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "ManagedServiceIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed." + }, + "IPRules": { + "type": "array", + "description": "Array of IpAddressOrRange objects.", + "items": { + "$ref": "#/definitions/IpAddressOrRange" + } + }, + "IpAddressOrRange": { + "type": "object", + "description": "IpAddressOrRange object", + "properties": { + "ipAddressOrRange": { + "type": "string", + "description": "A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”." + } + } + }, + "VirtualNetworkRule": { + "type": "object", + "description": "Virtual Network ACL Rule object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/virtualNetworks/subnets" + } + ] + }, + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}." + }, + "ignoreMissingVNetServiceEndpoint": { + "type": "boolean", + "description": "Create firewall rule before the virtual network has vnet service endpoint enabled." + } + } + }, + "NetworkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "type": "string", + "enum": [ + "None", + "AzureServices" + ], + "x-ms-enum": { + "name": "NetworkAclBypass", + "modelAsString": false + } + }, + "AccountKeyMetadata": { + "description": "The metadata related to an access key for a given database account.", + "type": "object", + "properties": { + "generationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means that the last key regeneration was triggered before 2022-06-18." + } + } + }, + "DatabaseAccountKeysMetadata": { + "description": "The metadata related to each access key for the given Cosmos DB database account.", + "type": "object", + "readOnly": true, + "properties": { + "primaryMasterKey": { + "readOnly": true, + "description": "The metadata related to the Primary Read-Write Key for the given Cosmos DB database account.", + "$ref": "#/definitions/AccountKeyMetadata" + }, + "secondaryMasterKey": { + "readOnly": true, + "description": "The metadata related to the Secondary Read-Write Key for the given Cosmos DB database account.", + "$ref": "#/definitions/AccountKeyMetadata" + }, + "primaryReadonlyMasterKey": { + "readOnly": true, + "description": "The metadata related to the Primary Read-Only Key for the given Cosmos DB database account.", + "$ref": "#/definitions/AccountKeyMetadata" + }, + "secondaryReadonlyMasterKey": { + "readOnly": true, + "description": "The metadata related to the Secondary Read-Only Key for the given Cosmos DB database account.", + "$ref": "#/definitions/AccountKeyMetadata" + } + } + }, + "DiagnosticLogSettings": { + "type": "object", + "description": "Indicates what diagnostic log settings are to be enabled.", + "properties": { + "enableFullTextQuery": { + "description": "Describe the level of detail with which queries are to be logged.", + "type": "string", + "enum": [ + "None", + "True", + "False" + ], + "x-ms-enum": { + "name": "EnableFullTextQuery", + "modelAsString": false + } + } + } + }, + "Operation": { + "description": "REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "Provider": { + "description": "Service provider: Microsoft.ResourceProvider", + "type": "string" + }, + "Resource": { + "description": "Resource on which the operation is performed: Profile, endpoint, etc.", + "type": "string" + }, + "Operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + }, + "Description": { + "description": "Description of operation", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Resource Provider operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of operations supported by the Resource Provider." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "UsagesResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of usages for the database. A usage is a point in time metric" + } + }, + "description": "The response to a list usage request." + }, + "Usage": { + "properties": { + "unit": { + "description": "The unit of the metric.", + "$ref": "#/definitions/UnitType" + }, + "name": { + "$ref": "#/definitions/MetricName", + "readOnly": true, + "description": "The name information for the metric." + }, + "quotaPeriod": { + "type": "string", + "readOnly": true, + "description": "The quota period used to summarize the usage values." + }, + "limit": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Maximum value for this metric" + }, + "currentValue": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Current value for this metric" + } + }, + "description": "The usage data for a usage request." + }, + "PartitionUsagesResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PartitionUsage" + }, + "description": "The list of partition-level usages for the database. A usage is a point in time metric" + } + }, + "description": "The response to a list partition level usage request." + }, + "PartitionUsage": { + "allOf": [ + { + "$ref": "#/definitions/Usage" + } + ], + "properties": { + "partitionId": { + "readOnly": true, + "type": "string", + "description": "The partition id (GUID identifier) of the usages." + }, + "partitionKeyRangeId": { + "readOnly": true, + "type": "string", + "description": "The partition key range id (integer identifier) of the usages." + } + }, + "description": "The partition level usage data for a usage request." + }, + "MetricDefinitionsListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MetricDefinition" + }, + "description": "The list of metric definitions for the account." + } + }, + "description": "The response to a list metric definitions request." + }, + "MetricDefinition": { + "properties": { + "metricAvailabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MetricAvailability" + }, + "description": "The list of metric availabilities for the account." + }, + "primaryAggregationType": { + "readOnly": true, + "type": "string", + "description": "The primary aggregation type of the metric.", + "enum": [ + "None", + "Average", + "Total", + "Minimum", + "Maximum", + "Last" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PrimaryAggregationType" + } + }, + "unit": { + "description": "The unit of the metric.", + "$ref": "#/definitions/UnitType" + }, + "resourceUri": { + "readOnly": true, + "type": "string", + "description": "The resource uri of the database." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + } + }, + "description": "The definition of a metric." + }, + "MetricAvailability": { + "properties": { + "timeGrain": { + "readOnly": true, + "type": "string", + "description": "The time grain to be used to summarize the metric values." + }, + "retention": { + "readOnly": true, + "type": "string", + "description": "The retention for the metric values." + } + }, + "description": "The availability of the metric." + }, + "MetricListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Metric" + }, + "description": "The list of metrics for the account." + } + }, + "description": "The response to a list metrics request." + }, + "Metric": { + "properties": { + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The start time for the metric (ISO-8601 format)." + }, + "endTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The end time for the metric (ISO-8601 format)." + }, + "timeGrain": { + "readOnly": true, + "type": "string", + "description": "The time grain to be used to summarize the metric values." + }, + "unit": { + "$ref": "#/definitions/UnitType", + "description": "The unit of the metric." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + }, + "metricValues": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MetricValue" + }, + "description": "The metric values for the specified time window and timestep." + } + }, + "description": "Metric data" + }, + "MetricName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the metric." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The friendly name of the metric." + } + }, + "description": "A metric name." + }, + "MetricValue": { + "properties": { + "_count": { + "readOnly": true, + "type": "number", + "format": "int32", + "description": "The number of values for the metric." + }, + "average": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The average value of the metric." + }, + "maximum": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The max value of the metric." + }, + "minimum": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The min value of the metric." + }, + "timestamp": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The metric timestamp (ISO-8601 format)." + }, + "total": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The total value of the metric." + } + }, + "description": "Represents metrics values." + }, + "PercentileMetricListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PercentileMetric" + }, + "description": "The list of percentile metrics for the account." + } + }, + "description": "The response to a list percentile metrics request." + }, + "PercentileMetric": { + "properties": { + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The start time for the metric (ISO-8601 format)." + }, + "endTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The end time for the metric (ISO-8601 format)." + }, + "timeGrain": { + "readOnly": true, + "type": "string", + "description": "The time grain to be used to summarize the metric values." + }, + "unit": { + "$ref": "#/definitions/UnitType", + "description": "The unit of the metric." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + }, + "metricValues": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PercentileMetricValue" + }, + "description": "The percentile metric values for the specified time window and timestep." + } + }, + "description": "Percentile Metric data" + }, + "PercentileMetricValue": { + "allOf": [ + { + "$ref": "#/definitions/MetricValue" + } + ], + "properties": { + "P10": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 10th percentile value for the metric." + }, + "P25": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 25th percentile value for the metric." + }, + "P50": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 50th percentile value for the metric." + }, + "P75": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 75th percentile value for the metric." + }, + "P90": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 90th percentile value for the metric." + }, + "P95": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 95th percentile value for the metric." + }, + "P99": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 99th percentile value for the metric." + } + }, + "description": "Represents percentile metrics values." + }, + "PartitionMetricListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PartitionMetric" + }, + "description": "The list of partition-level metrics for the account." + } + }, + "description": "The response to a list partition metrics request." + }, + "PartitionMetric": { + "allOf": [ + { + "$ref": "#/definitions/Metric" + } + ], + "properties": { + "partitionId": { + "readOnly": true, + "type": "string", + "description": "The partition id (GUID identifier) of the metric values." + }, + "partitionKeyRangeId": { + "readOnly": true, + "type": "string", + "description": "The partition key range id (integer identifier) of the metric values." + } + }, + "description": "The metric values for a single partition." + }, + "UnitType": { + "type": "string", + "readOnly": true, + "description": "The unit of the metric.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond", + "Milliseconds" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "UnitType" + } + }, + "ConnectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB C* database account.", + "type": "string", + "enum": [ + "Small" + ], + "x-ms-enum": { + "name": "ConnectorOffer", + "modelAsString": true + } + }, + "PublicNetworkAccess": { + "type": "string", + "description": "Whether requests from Public Network are allowed", + "enum": [ + "Enabled", + "Disabled", + "SecuredByPerimeter" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PublicNetworkAccess" + } + }, + "ApiProperties": { + "type": "object", + "properties": { + "serverVersion": { + "type": "string", + "enum": [ + "3.2", + "3.6", + "4.0", + "4.2" + ], + "description": "Describes the ServerVersion of an a MongoDB account.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServerVersion" + } + } + } + }, + "AnalyticalStorageConfiguration": { + "type": "object", + "description": "Analytical storage specific properties.", + "properties": { + "schemaType": { + "type": "string", + "$ref": "#/definitions/AnalyticalStorageSchemaType" + } + } + }, + "AnalyticalStorageSchemaType": { + "type": "string", + "description": "Describes the types of schema for analytical storage.", + "enum": [ + "WellDefined", + "FullFidelity" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AnalyticalStorageSchemaType" + } + }, + "CreateMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "enum": [ + "Default", + "Restore" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + } + }, + "RestoreParameters": { + "type": "object", + "description": "Parameters to indicate the information about the restore.", + "x-ms-mutability": [ + "read", + "create" + ], + "properties": { + "restoreMode": { + "type": "string", + "enum": [ + "PointInTime" + ], + "description": "Describes the mode of the restore.", + "x-ms-enum": { + "modelAsString": true, + "name": "RestoreMode" + } + }, + "restoreSource": { + "type": "string", + "description": "The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}" + }, + "restoreTimestampInUtc": { + "type": "string", + "format": "date-time", + "description": "Time to which the account has to be restored (ISO-8601 format)." + }, + "databasesToRestore": { + "type": "array", + "description": "List of specific databases available for restore.", + "items": { + "$ref": "#/definitions/DatabaseRestoreResource" + } + }, + "gremlinDatabasesToRestore": { + "type": "array", + "description": "List of specific gremlin databases available for restore.", + "items": { + "$ref": "#/definitions/GremlinDatabaseRestoreResource" + } + }, + "tablesToRestore": { + "type": "array", + "description": "List of specific tables available for restore.", + "items": { + "$ref": "#/definitions/TableName" + } + }, + "sourceBackupLocation": { + "type": "string", + "description": "The source backup location for restore." + } + }, + "allOf": [ + { + "$ref": "#/definitions/RestoreParametersBase" + } + ] + }, + "RestoreParametersBase": { + "type": "object", + "description": "Parameters to indicate the information about the restore.", + "x-ms-mutability": [ + "read", + "create" + ], + "properties": { + "restoreSource": { + "type": "string", + "description": "The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}" + }, + "restoreTimestampInUtc": { + "type": "string", + "format": "date-time", + "description": "Time to which the account has to be restored (ISO-8601 format)." + } + } + }, + "ResourceRestoreParameters": { + "type": "object", + "description": "Parameters to indicate the information about the restore.", + "x-ms-mutability": [ + "read", + "create" + ], + "allOf": [ + { + "$ref": "#/definitions/RestoreParametersBase" + } + ] + }, + "DatabaseRestoreResource": { + "type": "object", + "description": "Specific Databases to restore.", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the database available for restore." + }, + "collectionNames": { + "type": "array", + "description": "The names of the collections available for restore.", + "items": { + "$ref": "#/definitions/CollectionName" + } + } + } + }, + "GremlinDatabaseRestoreResource": { + "type": "object", + "description": "Specific Gremlin Databases to restore.", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the gremlin database available for restore." + }, + "graphNames": { + "type": "array", + "description": "The names of the graphs available for restore.", + "items": { + "$ref": "#/definitions/GraphName" + } + } + } + }, + "CollectionName": { + "type": "string", + "description": "The name of the collection." + }, + "GraphName": { + "type": "string", + "description": "The name of the graph." + }, + "TableName": { + "type": "string", + "description": "The name of the table." + }, + "BackupPolicy": { + "type": "object", + "description": "The object representing the policy for taking backups on an account.", + "discriminator": "type", + "properties": { + "type": { + "description": "Describes the mode of backups.", + "type": "string", + "$ref": "#/definitions/BackupPolicyType" + }, + "migrationState": { + "description": "The object representing the state of the migration between the backup policies.", + "type": "object", + "$ref": "#/definitions/BackupPolicyMigrationState" + } + }, + "required": [ + "type" + ] + }, + "BackupPolicyType": { + "description": "Describes the mode of backups.", + "type": "string", + "enum": [ + "Periodic", + "Continuous" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BackupPolicyType" + } + }, + "BackupPolicyMigrationState": { + "type": "object", + "description": "The object representing the state of the migration between the backup policies.", + "properties": { + "status": { + "description": "Describes the status of migration between backup policy types.", + "type": "string", + "$ref": "#/definitions/BackupPolicyMigrationStatus" + }, + "targetType": { + "description": "Describes the target backup policy type of the backup policy migration.", + "type": "string", + "$ref": "#/definitions/BackupPolicyType" + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Time at which the backup policy migration started (ISO-8601 format)." + } + } + }, + "BackupPolicyMigrationStatus": { + "description": "Describes the status of migration between backup policy types.", + "type": "string", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BackupPolicyMigrationStatus" + } + }, + "PeriodicModeBackupPolicy": { + "description": "The object representing periodic mode backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupPolicy" + } + ], + "properties": { + "periodicModeProperties": { + "type": "object", + "description": "Configuration values for periodic mode backup", + "$ref": "#/definitions/PeriodicModeProperties" + } + }, + "x-ms-discriminator-value": "Periodic" + }, + "ContinuousModeBackupPolicy": { + "description": "The object representing continuous mode backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupPolicy" + } + ], + "properties": { + "continuousModeProperties": { + "type": "object", + "description": "Configuration values for continuous mode backup", + "$ref": "#/definitions/ContinuousModeProperties" + } + }, + "x-ms-discriminator-value": "Continuous" + }, + "PeriodicModeProperties": { + "type": "object", + "description": "Configuration values for periodic mode backup", + "properties": { + "backupIntervalInMinutes": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "An integer representing the interval in minutes between two backups" + }, + "backupRetentionIntervalInHours": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "An integer representing the time (in hours) that each backup is retained" + }, + "backupStorageRedundancy": { + "description": "Enum to indicate type of backup residency", + "type": "string", + "$ref": "#/definitions/BackupStorageRedundancy" + } + } + }, + "ContinuousModeProperties": { + "type": "object", + "description": "Configuration values for periodic mode backup", + "properties": { + "tier": { + "description": "Enum to indicate type of Continuos backup mode", + "type": "string", + "$ref": "#/definitions/ContinuousTier" + } + } + }, + "MergeParameters": { + "description": "The properties of an Azure Cosmos DB merge operations", + "type": "object", + "properties": { + "isDryRun": { + "type": "boolean", + "description": "Specifies whether the operation is a real merge operation or a simulation." + } + } + }, + "PhysicalPartitionStorageInfoCollection": { + "type": "object", + "description": "List of physical partitions and their properties returned by a merge operation.", + "properties": { + "physicalPartitionStorageInfoCollection": { + "description": "List of physical partitions and their properties.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/physicalPartitionStorageInfo" + } + } + } + }, + "physicalPartitionStorageInfo": { + "description": "The storage of a physical partition", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique identifier of the partition." + }, + "storageInKB": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The storage in KB for the physical partition." + } + } + }, + "LocationListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/LocationGetResult" + }, + "description": "List of Cosmos DB locations and their properties." + } + }, + "description": "The List operation response, that contains Cosmos DB locations and their properties." + }, + "LocationGetResult": { + "description": "Cosmos DB location get result", + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "Cosmos DB location metadata", + "$ref": "#/definitions/LocationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMProxyResource" + } + ] + }, + "LocationProperties": { + "description": "Cosmos DB location metadata", + "type": "object", + "properties": { + "supportsAvailabilityZone": { + "type": "boolean", + "readOnly": true, + "description": "Flag indicating whether the location supports availability zones or not." + }, + "isResidencyRestricted": { + "type": "boolean", + "readOnly": true, + "description": "Flag indicating whether the location is residency sensitive." + }, + "backupStorageRedundancies": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/BackupStorageRedundancy" + }, + "description": "The properties of available backup storage redundancies." + }, + "isSubscriptionRegionAccessAllowedForRegular": { + "type": "boolean", + "readOnly": true, + "description": "Flag indicating whether the subscription have access in region for Non-Availability Zones." + }, + "isSubscriptionRegionAccessAllowedForAz": { + "type": "boolean", + "readOnly": true, + "description": "Flag indicating whether the subscription have access in region for Availability Zones(Az)." + }, + "status": { + "readOnly": true, + "type": "string", + "description": "Enum to indicate current buildout status of the region.", + "enum": [ + "Uninitialized", + "Initializing", + "InternallyReady", + "Online", + "Deleting" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true + } + } + } + }, + "BackupStorageRedundancy": { + "description": "Enum to indicate type of backup storage redundancy.", + "type": "string", + "enum": [ + "Geo", + "Local", + "Zone" + ], + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + }, + "ContinuousTier": { + "description": "Enum to indicate type of Continuous backup tier.", + "type": "string", + "enum": [ + "Continuous7Days", + "Continuous30Days" + ], + "x-ms-enum": { + "name": "ContinuousTier", + "modelAsString": true + } + }, + "MinimalTlsVersion": { + "description": "Indicates the minimum allowed Tls version. The default is Tls 1.0, except for Cassandra and Mongo API's, which only work with Tls 1.2.", + "type": "string", + "enum": [ + "Tls", + "Tls11", + "Tls12" + ], + "x-ms-enum": { + "name": "MinimalTlsVersion", + "modelAsString": true + } + }, + "DefaultPriorityLevel": { + "description": "Enum to indicate default priorityLevel of requests", + "type": "string", + "enum": [ + "High", + "Low" + ], + "x-ms-enum": { + "name": "DefaultPriorityLevel", + "modelAsString": true + } + } + }, + "parameters": { + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of an Azure resource group." + }, + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "filterParameter": { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "An OData filter expression that describes a subset of metrics to return. The parameters that can be filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and timeGrain. The supported operator is eq." + }, + "usageFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "An OData filter expression that describes a subset of usages to return. The supported parameter is name.value (name of the metric, can have an or of multiple names)." + }, + "databaseRidParameter": { + "name": "databaseRid", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database rid." + }, + "collectionRidParameter": { + "name": "collectionRid", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB collection rid." + }, + "graphResourceNameParameter": { + "name": "graphName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB graph resource name." + }, + "databaseNameParameter": { + "name": "databaseName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database name." + }, + "clientEncryptionKeyNameParameter": { + "name": "clientEncryptionKeyName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB ClientEncryptionKey name." + }, + "containerNameParameter": { + "name": "containerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB container name." + }, + "storedProcedureNameParameter": { + "name": "storedProcedureName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB storedProcedure name." + }, + "userDefinedFunctionNameParameter": { + "name": "userDefinedFunctionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB userDefinedFunction name." + }, + "triggerNameParameter": { + "name": "triggerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB trigger name." + }, + "tableNameParameter": { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB table name." + }, + "collectionNameParameter": { + "name": "collectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB collection name." + }, + "keyspaceNameParameter": { + "name": "keyspaceName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB keyspace name." + }, + "graphNameParameter": { + "name": "graphName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB graph name." + }, + "regionParameter": { + "name": "region", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + }, + "sourceRegionParameter": { + "name": "sourceRegion", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Source region from which data is written. Cosmos DB region, with spaces between words and each word capitalized." + }, + "targetRegionParameter": { + "name": "targetRegion", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Target region to which data is written. Cosmos DB region, with spaces between words and each word capitalized." + }, + "partitionKeyRangeIdParameter": { + "name": "partitionKeyRangeId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Partition Key Range Id for which to get data." + }, + "locationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + }, + "viewNameParameter": { + "name": "viewName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB view name." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/dataTransferService.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/dataTransferService.json new file mode 100644 index 000000000000..9e28ea621eed --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/dataTransferService.json @@ -0,0 +1,560 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Data Transfer Service Resource Provider REST API", + "version": "2023-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}": { + "put": { + "operationId": "DataTransferJobs_Create", + "description": "Creates a Data Transfer Job.", + "x-ms-examples": { + "CosmosDBDataTransferJobCreate": { + "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobCreate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "name": "jobCreateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateJobRequest" + } + } + ], + "responses": { + "200": { + "description": "Successful CreateJob response", + "schema": { + "$ref": "#/definitions/DataTransferJobGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "get": { + "operationId": "DataTransferJobs_Get", + "description": "Get a Data Transfer Job.", + "x-ms-examples": { + "CosmosDBDataTransferJobGet": { + "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + } + ], + "responses": { + "200": { + "description": "The Data Transfer Job Properties retrieved successfully", + "schema": { + "$ref": "#/definitions/DataTransferJobGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}/pause": { + "post": { + "operationId": "DataTransferJobs_Pause", + "description": "Pause a Data Transfer Job.", + "x-ms-examples": { + "CosmosDBDataTransferJobPause": { + "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobPause.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + } + ], + "responses": { + "200": { + "description": "Successful Pause Job response", + "schema": { + "$ref": "#/definitions/DataTransferJobGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}/resume": { + "post": { + "operationId": "DataTransferJobs_Resume", + "description": "Resumes a Data Transfer Job.", + "x-ms-examples": { + "CosmosDBDataTransferJobResume": { + "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobResume.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + } + ], + "responses": { + "200": { + "description": "Successful Resume Job response", + "schema": { + "$ref": "#/definitions/DataTransferJobGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}/cancel": { + "post": { + "operationId": "DataTransferJobs_Cancel", + "description": "Cancels a Data Transfer Job.", + "x-ms-examples": { + "CosmosDBDataTransferJobCancel": { + "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobCancel.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + } + ], + "responses": { + "200": { + "description": "Successful Cancel Job response", + "schema": { + "$ref": "#/definitions/DataTransferJobGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs": { + "get": { + "operationId": "DataTransferJobs_ListByDatabaseAccount", + "description": "Get a list of Data Transfer jobs.", + "x-ms-examples": { + "CosmosDBDataTransferJobFeed": { + "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobFeed.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "All Data Transfer Jobs retrieved successfully", + "schema": { + "$ref": "#/definitions/DataTransferJobFeedResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "DataTransferDataSourceSink": { + "type": "object", + "description": "Base class for all DataTransfer source/sink", + "properties": { + "component": { + "type": "string", + "enum": [ + "CosmosDBCassandra", + "CosmosDBMongo", + "CosmosDBSql", + "AzureBlobStorage" + ], + "x-ms-enum": { + "name": "DataTransferComponent", + "modelAsString": true + }, + "default": "CosmosDBCassandra" + } + }, + "discriminator": "component", + "required": [ + "component" + ] + }, + "BaseCosmosDataTransferDataSourceSink": { + "type": "object", + "description": "A base CosmosDB data source/sink", + "properties": { + "remoteAccountName": { + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataTransferDataSourceSink" + } + ] + }, + "CosmosCassandraDataTransferDataSourceSink": { + "type": "object", + "description": "A CosmosDB Cassandra API data source/sink", + "properties": { + "keyspaceName": { + "type": "string" + }, + "tableName": { + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BaseCosmosDataTransferDataSourceSink" + } + ], + "required": [ + "keyspaceName", + "tableName" + ], + "x-ms-discriminator-value": "CosmosDBCassandra" + }, + "CosmosMongoDataTransferDataSourceSink": { + "type": "object", + "description": "A CosmosDB Mongo API data source/sink", + "properties": { + "databaseName": { + "type": "string" + }, + "collectionName": { + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BaseCosmosDataTransferDataSourceSink" + } + ], + "required": [ + "databaseName", + "collectionName" + ], + "x-ms-discriminator-value": "CosmosDBMongo" + }, + "CosmosSqlDataTransferDataSourceSink": { + "type": "object", + "description": "A CosmosDB No Sql API data source/sink", + "properties": { + "databaseName": { + "type": "string" + }, + "containerName": { + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BaseCosmosDataTransferDataSourceSink" + } + ], + "required": [ + "databaseName", + "containerName" + ], + "x-ms-discriminator-value": "CosmosDBSql" + }, + "AzureBlobDataTransferDataSourceSink": { + "type": "object", + "description": "An Azure Blob Storage data source/sink", + "allOf": [ + { + "$ref": "#/definitions/DataTransferDataSourceSink" + } + ], + "properties": { + "containerName": { + "type": "string" + }, + "endpointUrl": { + "type": "string" + } + }, + "required": [ + "containerName" + ], + "x-ms-discriminator-value": "AzureBlobStorage" + }, + "DataTransferJobProperties": { + "description": "The properties of a DataTransfer Job", + "type": "object", + "properties": { + "jobName": { + "readOnly": true, + "type": "string", + "description": "Job Name" + }, + "source": { + "$ref": "#/definitions/DataTransferDataSourceSink", + "description": "Source DataStore details" + }, + "destination": { + "$ref": "#/definitions/DataTransferDataSourceSink", + "description": "Destination DataStore details" + }, + "status": { + "readOnly": true, + "type": "string", + "description": "Job Status" + }, + "processedCount": { + "readOnly": true, + "type": "integer", + "description": "Processed Count.", + "format": "int64" + }, + "totalCount": { + "readOnly": true, + "type": "integer", + "description": "Total Count.", + "format": "int64" + }, + "lastUpdatedUtcTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Last Updated Time (ISO-8601 format)." + }, + "workerCount": { + "description": "Worker count", + "type": "integer", + "minimum": 0, + "format": "int32" + }, + "error": { + "readOnly": true, + "$ref": "./cosmos-db.json#/definitions/ErrorResponse", + "description": "Error response for Faulted job" + }, + "duration": { + "description": "Total Duration of Job", + "type": "string", + "readOnly": true + }, + "mode": { + "description": "Mode of job execution", + "type": "string", + "enum": [ + "Offline", + "Online" + ], + "x-ms-enum": { + "name": "DataTransferJobMode", + "modelAsString": true + } + } + }, + "required": [ + "source", + "destination" + ] + }, + "CreateJobRequest": { + "description": "Parameters to create Data Transfer Job", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DataTransferJobProperties", + "description": "Data Transfer Create Job Properties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "./cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "DataTransferJobGetResults": { + "description": "A Cosmos DB Data Transfer Job", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "$ref": "#/definitions/DataTransferJobProperties" + } + }, + "allOf": [ + { + "$ref": "./cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "DataTransferJobFeedResults": { + "description": "The List operation response, that contains the Data Transfer jobs and their properties.", + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DataTransferJobGetResults" + }, + "description": "List of Data Transfer jobs and their properties." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of Data Transfer job list results if there are any." + } + } + } + }, + "parameters": { + "JobNameParameter": { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Name of the Data Transfer Job" + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json new file mode 100644 index 000000000000..6f46ba35a7ac --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "createUpdateCassandraKeyspaceParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName", + "name": "keyspaceName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceDelete.json new file mode 100644 index 000000000000..3855317a224c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceGet.json new file mode 100644 index 000000000000..3d48742994a8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName", + "name": "keyspaceName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceList.json new file mode 100644 index 000000000000..3f040935380b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName", + "name": "keyspaceName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json new file mode 100644 index 000000000000..61afe5973e7a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json new file mode 100644 index 000000000000..6574a41b2401 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json new file mode 100644 index 000000000000..310c2f541622 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "instantMaximumThroughput": "10000", + "softAllowedMaximumThroughput": "1000000", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json new file mode 100644 index 000000000000..8ffde0ed138a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableCreateUpdate.json new file mode 100644 index 000000000000..a2c2bdf24a3d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableCreateUpdate.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName", + "createUpdateCassandraTableParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableDelete.json new file mode 100644 index 000000000000..8ab1ffe23c0f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableGet.json new file mode 100644 index 000000000000..33df4d1da7b6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableList.json new file mode 100644 index 000000000000..f2c65610a291 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableList.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json new file mode 100644 index 000000000000..028b9006ec10 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..bb0fcc92301b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableThroughputGet.json new file mode 100644 index 000000000000..1853ee75ba61 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableThroughputGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "instantMaximumThroughput": "10000", + "softAllowedMaximumThroughput": "1000000", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableThroughputUpdate.json new file mode 100644 index 000000000000..797c4bf480aa --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraTableThroughputUpdate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings", + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewCreateUpdate.json new file mode 100644 index 000000000000..78fd3e90b367 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewCreateUpdate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname", + "createUpdateCassandraViewParameters": { + "tags": {}, + "properties": { + "resource": { + "id": "viewname", + "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY (columnc, columna)" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspacename/views/viewname", + "name": "viewname", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views", + "tags": {}, + "properties": { + "resource": { + "id": "viewname", + "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY KEY (columnc, columna)" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewDelete.json new file mode 100644 index 000000000000..703523b43236 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewGet.json new file mode 100644 index 000000000000..232213db9870 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspacename/views/viewname", + "name": "viewname", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views", + "tags": {}, + "properties": { + "resource": { + "id": "viewname", + "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY KEY (columnc, columna)" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewList.json new file mode 100644 index 000000000000..e7dc57bebef2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "keyspaceName": "keyspacename" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspacename/views/viewname", + "name": "viewname", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views", + "tags": {}, + "properties": { + "resource": { + "id": "viewname", + "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY KEY (columnc, columna)" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewMigrateToAutoscale.json new file mode 100644 index 000000000000..8feaf9238aac --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewMigrateToAutoscale.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewMigrateToManualThroughput.json new file mode 100644 index 000000000000..0bd12b4460f6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewMigrateToManualThroughput.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewThroughputGet.json new file mode 100644 index 000000000000..b21200c3d5a9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewThroughputGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/views/viewName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views/throughputSettings", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewThroughputUpdate.json new file mode 100644 index 000000000000..e5898e50b76d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCassandraViewThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname", + "updateThroughputParameters": { + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/views/viewName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views/throughputSettings", + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionGetMetricDefinitions.json new file mode 100644 index 000000000000..b86dba9d8ac7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionGetMetricDefinitions.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2023-11-15-preview", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "metricAvailabilities": [ + { + "timeGrain": "PT5M", + "retention": "P2D" + }, + { + "timeGrain": "PT1H", + "retention": "P14D" + }, + { + "timeGrain": "P1D", + "retention": "P60D" + } + ], + "primaryAggregationType": "Total", + "unit": "Count", + "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionGetMetrics.json new file mode 100644 index 000000000000..3a998ae1752d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionGetMetrics.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionGetUsages.json new file mode 100644 index 000000000000..f8b0e71c3000 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionGetUsages.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionPartitionGetMetrics.json new file mode 100644 index 000000000000..a6449470a37c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionPartitionGetMetrics.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionPartitionGetUsages.json new file mode 100644 index 000000000000..304246894525 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionPartitionGetUsages.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Partition Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json new file mode 100644 index 000000000000..dc61be5f659a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "region": "North Europe", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDataTransferServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDataTransferServiceCreate.json new file mode 100644 index 000000000000..39bd37ef17fd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDataTransferServiceCreate.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "serviceName": "DataTransfer", + "createUpdateParameters": { + "properties": { + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "DataTransfer" + } + } + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/DataTransfer", + "name": "DataTransfer", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "DataTransfer", + "locations": [ + { + "name": "DataTransfer-westus2", + "location": "West US 2", + "status": "Running" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDataTransferServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDataTransferServiceDelete.json new file mode 100644 index 000000000000..0264b77ff0a1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDataTransferServiceDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "serviceName": "DataTransfer" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDataTransferServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDataTransferServiceGet.json new file mode 100644 index 000000000000..5c389adc01b7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDataTransferServiceGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "serviceName": "DataTransfer" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/DataTransfer", + "name": "DataTransfer", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "DataTransfer", + "locations": [ + { + "name": "DataTransfer-westus2", + "location": "West US 2", + "status": "Running" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json new file mode 100644 index 000000000000..a50464b412a3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "accountName": "ddb1", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountCreateMax.json new file mode 100644 index 000000000000..db82888dd1ea --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountCreateMax.json @@ -0,0 +1,246 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "tags": {}, + "kind": "MongoDB", + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "databaseAccountOfferType": "Standard", + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "publicNetworkAccess": "Enabled", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + }, + { + "failoverPriority": 1, + "locationName": "eastus", + "isZoneRedundant": false + } + ], + "createMode": "Default", + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8, + "backupStorageRedundancy": "Geo" + } + }, + "cors": [ + { + "allowedOrigins": "https://test" + } + ], + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + }, + "enableMaterializedViews": false, + "enableBurstCapacity": true, + "minimalTlsVersion": "Tls12", + "enablePriorityBasedExecution": true, + "defaultPriorityLevel": "Low" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "MongoDB", + "tags": {}, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Initializing", + "isVirtualNetworkFilterEnabled": true, + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "writeLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "readLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + }, + { + "id": "ddb1-eastus", + "locationName": "East US", + "provisioningState": "Initializing", + "failoverPriority": 1, + "isZoneRedundant": false + } + ], + "locations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + }, + { + "id": "ddb1-eastus", + "locationName": "East US", + "provisioningState": "Initializing", + "failoverPriority": 1, + "isZoneRedundant": false + } + ], + "failoverPolicies": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "failoverPriority": 0 + }, + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 1 + } + ], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + ], + "publicNetworkAccess": "Enabled", + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "createMode": "Default", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8, + "backupStorageRedundancy": "Geo" + } + }, + "cors": [ + { + "allowedOrigins": "https://test" + } + ], + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + }, + "enableMaterializedViews": false, + "enableBurstCapacity": true, + "minimalTlsVersion": "Tls12", + "keysMetadata": { + "primaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "primaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + } + }, + "enablePriorityBasedExecution": true, + "defaultPriorityLevel": "Low" + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountCreateMin.json new file mode 100644 index 000000000000..9186cdba9b1b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountCreateMin.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "properties": { + "databaseAccountOfferType": "Standard", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + } + ], + "createMode": "Default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Initializing", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "readLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "locations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "failoverPolicies": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "failoverPriority": 0 + } + ], + "cors": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": false, + "analyticalStorageConfiguration": null, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [], + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "enableMaterializedViews": false, + "minimalTlsVersion": "Tls", + "keysMetadata": { + "primaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "primaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + } + } + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountDelete.json new file mode 100644 index 000000000000..759c12f21675 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json new file mode 100644 index 000000000000..f787847cd876 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1-failover", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "failoverParameters": { + "failoverPolicies": [ + { + "locationName": "eastus", + "failoverPriority": 0 + }, + { + "locationName": "westus", + "failoverPriority": 1 + } + ] + } + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountGet.json new file mode 100644 index 000000000000..1bba5b74f4af --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountGet.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "ipRules": [], + "isVirtualNetworkFilterEnabled": false, + "virtualNetworkRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "defaultIdentity": "FirstPartyIdentity", + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "cors": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8, + "backupStorageRedundancy": "Geo" + }, + "migrationState": { + "status": "InProgress", + "targetType": "Continuous", + "startTime": "2021-06-09T21:07:16Z" + } + }, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [], + "enablePartitionMerge": true, + "enableBurstCapacity": true, + "minimalTlsVersion": "Tls", + "diagnosticLogSettings": { + "enableFullTextQuery": "False" + }, + "enableMaterializedViews": false, + "keysMetadata": { + "primaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "primaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + } + }, + "enablePriorityBasedExecution": true, + "defaultPriorityLevel": "Low" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json new file mode 100644 index 000000000000..ebaf038c3cb5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "metricAvailabilities": [ + { + "timeGrain": "PT5M", + "retention": "P2D" + }, + { + "timeGrain": "PT1H", + "retention": "P14D" + }, + { + "timeGrain": "P1D", + "retention": "P60D" + } + ], + "primaryAggregationType": "Total", + "unit": "Count", + "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountGetMetrics.json new file mode 100644 index 000000000000..b689b05fc668 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountGetMetrics.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountGetUsages.json new file mode 100644 index 000000000000..09b1dc4af395 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountGetUsages.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountList.json new file mode 100644 index 000000000000..1a880ac19d30 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountList.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "cors": [], + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [], + "enablePartitionMerge": true, + "enableBurstCapacity": true, + "minimalTlsVersion": "Tls", + "enableMaterializedViews": false, + "keysMetadata": { + "primaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "primaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + } + }, + "enablePriorityBasedExecution": true, + "defaultPriorityLevel": "Low" + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json new file mode 100644 index 000000000000..85b58d91dd00 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "cors": [], + "enableFreeTier": false, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "defaultIdentity": "FirstPartyIdentity", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [], + "enableMaterializedViews": false, + "minimalTlsVersion": "Tls", + "keysMetadata": { + "primaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "primaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + } + } + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json new file mode 100644 index 000000000000..ddf194e4f616 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "connectionStrings": [ + { + "connectionString": "connection-string", + "description": "Primary SQL Connection String", + "keyKind": "Primary", + "type": "Sql" + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json new file mode 100644 index 000000000000..5052cbde27a5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "mongo-ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "connectionStrings": [ + { + "connectionString": "connection-string", + "description": "Name of the connection string" + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListKeys.json new file mode 100644 index 000000000000..7ceb574746e8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryMasterKey": "primaryMasterKey", + "secondaryMasterKey": "secondaryMasterKey", + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json new file mode 100644 index 000000000000..43024801755c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json new file mode 100644 index 000000000000..8f9b0ccda4d1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOffline": { + "region": "North Europe" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json new file mode 100644 index 000000000000..e490b18ffa61 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOnline": { + "region": "North Europe" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountPatch.json new file mode 100644 index 000000000000..097ed0fdebd3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountPatch.json @@ -0,0 +1,220 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "updateParameters": { + "location": "westus", + "tags": { + "dept": "finance" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + }, + "diagnosticLogSettings": { + "enableFullTextQuery": "True" + }, + "enablePartitionMerge": true, + "enableBurstCapacity": true, + "minimalTlsVersion": "Tls", + "enablePriorityBasedExecution": true, + "defaultPriorityLevel": "Low" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": { + "dept": "finance" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "databaseAccountOfferType": "Standard", + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "cors": [], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + }, + "diagnosticLogSettings": { + "enableFullTextQuery": "True" + }, + "enableMaterializedViews": false, + "enableBurstCapacity": true, + "minimalTlsVersion": "Tls", + "keysMetadata": { + "primaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "primaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + } + }, + "enablePriorityBasedExecution": true, + "defaultPriorityLevel": "Low" + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json new file mode 100644 index 000000000000..9ad0d7295c21 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "keyToRegenerate": { + "keyKind": "primary" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json new file mode 100644 index 000000000000..1b550c0f2bfc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "region": "North Europe", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json new file mode 100644 index 000000000000..fb18bdf0cf98 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2023-11-15-preview", + "databaseRid": "databaseRid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "metricAvailabilities": [ + { + "timeGrain": "PT5M", + "retention": "P2D" + }, + { + "timeGrain": "PT1H", + "retention": "P14D" + }, + { + "timeGrain": "P1D", + "retention": "P60D" + } + ], + "primaryAggregationType": "Total", + "unit": "Count", + "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseGetMetrics.json new file mode 100644 index 000000000000..0a8d6efd95cc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseRid": "rid", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseGetUsages.json new file mode 100644 index 000000000000..89a00308b31f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBDatabaseGetUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "databaseRid": "databaseRid", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphAPIComputeServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphAPIComputeServiceCreate.json new file mode 100644 index 000000000000..675c963cf4ef --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphAPIComputeServiceCreate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "serviceName": "GraphAPICompute", + "createUpdateParameters": { + "properties": { + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "GraphAPICompute" + } + } + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/GraphAPICompute", + "name": "GraphAPICompute", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "GraphAPICompute", + "graphApiComputeEndpoint": "https://graphAPICompute.gremlin.cosmos.windows-int.net/", + "locations": [ + { + "name": "GraphAPICompute-westus2", + "location": "West US 2", + "status": "Running", + "graphApiComputeEndpoint": "https://graphAPICompute-westus.gremlin.cosmos.windows-int.net/" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphAPIComputeServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphAPIComputeServiceDelete.json new file mode 100644 index 000000000000..acc5707fc6bc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphAPIComputeServiceDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "serviceName": "GraphAPICompute" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphAPIComputeServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphAPIComputeServiceGet.json new file mode 100644 index 000000000000..74e1ac7c53ae --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphAPIComputeServiceGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "serviceName": "GraphAPICompute" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/GraphAPICompute", + "name": "GraphAPICompute", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "GraphAPICompute", + "graphApiComputeEndpoint": "https://graphAPICompute.gremlin.cosmos.windows-int.net/", + "locations": [ + { + "name": "GraphAPICompute-westus2", + "location": "West US 2", + "status": "Running", + "graphApiComputeEndpoint": "https://graphAPICompute-westus.gremlin.cosmos.windows-int.net/" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphResourceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphResourceCreateUpdate.json new file mode 100644 index 000000000000..741ad1006f3a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphResourceCreateUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "graphName": "graphName", + "createUpdateGraphParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/graphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/graphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphResourceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphResourceDelete.json new file mode 100644 index 000000000000..5043a91ecec1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphResourceDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "graphName": "graphName" + }, + "responses": { + "204": {}, + "200": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphResourceGet.json new file mode 100644 index 000000000000..41f95dca7dff --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphResourceGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/graphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/graphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphResourceList.json new file mode 100644 index 000000000000..8c217871c661 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGraphResourceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/graphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/graphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json new file mode 100644 index 000000000000..1aa2bf1865f7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateGremlinDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseDelete.json new file mode 100644 index 000000000000..b44a5cf94460 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseGet.json new file mode 100644 index 000000000000..eedd47a9d010 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseList.json new file mode 100644 index 000000000000..bf7c0106d891 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..f6488ed7793c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..fbf5be1f54e7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json new file mode 100644 index 000000000000..d30b7d2a6122 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "instantMaximumThroughput": "10000", + "softAllowedMaximumThroughput": "1000000", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..2da62168b8d3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphBackupInformation.json new file mode 100644 index 000000000000..9cfda51e8d59 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphBackupInformation.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "graphName": "graphName", + "location": { + "location": "North Europe" + } + }, + "responses": { + "200": { + "body": { + "continuousBackupInformation": { + "latestRestorableTimestamp": "2021-02-05T02:40:50Z" + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphCreateUpdate.json new file mode 100644 index 000000000000..9f3c199c9e35 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphCreateUpdate.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName", + "createUpdateGremlinGraphParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/gremlinGraphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphDelete.json new file mode 100644 index 000000000000..4ac2826a8a1a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphGet.json new file mode 100644 index 000000000000..d75e221d858a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphGet.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "id": "graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs", + "properties": { + "resource": { + "id": "graphName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphList.json new file mode 100644 index 000000000000..5f343b44b159 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphList.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "testgrf", + "name": "testgrf", + "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs", + "properties": { + "resource": { + "id": "testgrf", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json new file mode 100644 index 000000000000..9f4c46aa7de7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json new file mode 100644 index 000000000000..ff8213c79dc9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphThroughputGet.json new file mode 100644 index 000000000000..30902817079c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphThroughputGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "instantMaximumThroughput": "10000", + "softAllowedMaximumThroughput": "1000000", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json new file mode 100644 index 000000000000..315990956598 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBLocationGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBLocationGet.json new file mode 100644 index 000000000000..723cf5347324 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBLocationGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus", + "type": "Microsoft.DocumentDB/locations", + "name": "westus", + "properties": { + "supportsAvailabilityZone": true, + "isResidencyRestricted": true, + "backupStorageRedundancies": [ + "Local", + "Geo" + ], + "isSubscriptionRegionAccessAllowedForRegular": true, + "isSubscriptionRegionAccessAllowedForAz": true, + "status": "Online" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBLocationList.json new file mode 100644 index 000000000000..242d337d776e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBLocationList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus", + "type": "Microsoft.DocumentDB/locations", + "name": "westus", + "properties": { + "supportsAvailabilityZone": false, + "isResidencyRestricted": false, + "backupStorageRedundancies": [ + "Local", + "Geo" + ], + "isSubscriptionRegionAccessAllowedForRegular": true, + "isSubscriptionRegionAccessAllowedForAz": false, + "status": "Online" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/centralus", + "type": "Microsoft.DocumentDB/locations", + "name": "centralus", + "properties": { + "supportsAvailabilityZone": true, + "isResidencyRestricted": false, + "backupStorageRedundancies": [ + "Zone", + "Geo" + ], + "isSubscriptionRegionAccessAllowedForRegular": false, + "isSubscriptionRegionAccessAllowedForAz": true, + "status": "Online" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraBackup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraBackup.json new file mode 100644 index 000000000000..769934f1fb85 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraBackup.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod", + "backupId": "1611250348" + }, + "responses": { + "200": { + "body": { + "backupId": "2517222704776158383", + "backupState": "Succeeded", + "backupStartTimestamp": "2023-03-28T19:05:22.3841617+00:00", + "backupStopTimestamp": "2023-03-28T19:05:22.3841617+00:00", + "backupExpiryTimestamp": "2023-03-28T20:05:22.3841617+00:00" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraBackupsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraBackupsList.json new file mode 100644 index 000000000000..18c8cbf7bb60 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraBackupsList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "backupId": "2517222701827037570", + "backupState": "Initiated", + "backupStartTimestamp": "2023-03-28T19:10:17.2962429+00:00", + "backupExpiryTimestamp": "2023-03-28T20:10:17.2962429+00:00" + }, + { + "backupId": "2517222704776158382", + "backupState": "InProgress", + "backupStartTimestamp": "2023-03-28T19:05:22.3841617+00:00", + "backupExpiryTimestamp": "2023-03-28T20:05:22.3841617+00:00" + }, + { + "backupId": "2517222704776158383", + "backupState": "Succeeded", + "backupStartTimestamp": "2023-03-28T19:05:22.3841617+00:00", + "backupStopTimestamp": "2023-03-28T19:05:22.3841617+00:00", + "backupExpiryTimestamp": "2023-03-28T20:05:22.3841617+00:00" + }, + { + "backupId": "2517222704776158384", + "backupState": "Failed", + "backupStartTimestamp": "2023-03-28T19:05:22.3841617+00:00", + "backupStopTimestamp": "2023-03-28T19:05:22.3841617+00:00", + "backupExpiryTimestamp": "2023-03-28T20:05:22.3841617+00:00" + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterCreate.json new file mode 100644 index 000000000000..f1d05c1029e0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterCreate.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod", + "body": { + "location": "West US", + "tags": {}, + "properties": { + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "initialCassandraAdminPassword": "mypassword", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterDeallocate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterDeallocate.json new file mode 100644 index 000000000000..8a5e0cdd6ac5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterDeallocate.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterDelete.json new file mode 100644 index 000000000000..9a797df65d51 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterGet.json new file mode 100644 index 000000000000..b7afa2f48f6e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterGet.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json new file mode 100644 index 000000000000..bcc450e4144b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json new file mode 100644 index 000000000000..fde2f64b3f0a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/cassandraClusters", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterPatch.json new file mode 100644 index 000000000000..68b2d5eef718 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterPatch.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod", + "body": { + "tags": { + "owner": "mike" + }, + "properties": { + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "hoursBetweenBackups": 12, + "authenticationMethod": "None" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2023-11-15-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": { + "owner": "mike" + }, + "properties": { + "provisioningState": "Updating", + "delegatedManagementSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterStart.json new file mode 100644 index 000000000000..525e7d5ad365 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraClusterStart.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westeurope/operationResults/1d4397b9-0453-43b6-bccd-d9cea304f297?api-version=2021-10-15" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraCommand.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraCommand.json new file mode 100644 index 000000000000..9af02005e8c7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraCommand.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod", + "body": { + "command": "nodetool", + "arguments": { + "status": "" + }, + "host": "10.0.1.12" + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westeurope/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2023-11-15-preview" + }, + "body": { + "commandOutput": "Datacenter: datacenter1\n=======================\n" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraCommandAsync.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraCommandAsync.json new file mode 100644 index 000000000000..648fd61031fa --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraCommandAsync.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod", + "body": { + "command": "nodetool", + "arguments": { + "status": "" + }, + "host": "10.0.1.12" + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westeurope/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2023-03-15-preview", + "x-ms-request-id": "318653d0-3da5-4814-b8f6-429f2af0b2a4" + } + }, + "200": { + "body": { + "command": "nodetool", + "outputFile": "301fc7c1-397f-4e4a-89db-478f61f89d67", + "arguments": { + "status": "" + }, + "host": "10.0.1.12", + "isAdmin": false, + "readWrite": false, + "cassandraStopStart": false + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraCommandResult.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraCommandResult.json new file mode 100644 index 000000000000..663d1b408601 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraCommandResult.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod", + "commandId": "318653d0-3da5-4814-b8f6-429f2af0b2a4" + }, + "responses": { + "200": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westeurope/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2023-03-15-preview", + "x-ms-request-id": "318653d0-3da5-4814-b8f6-429f2af0b2a4" + }, + "body": { + "value": [ + { + "command": "nodetool", + "outputFile": "318653d0-3da5-4814-b8f6-429f2af0b2a4", + "arguments": { + "status": "" + }, + "host": "10.0.1.12", + "isAdmin": false, + "readWrite": false, + "cassandraStopStart": false, + "result": "{\"exitCode\":0, \"CommandOutput\":\"RESULT\"}" + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraCommandResultList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraCommandResultList.json new file mode 100644 index 000000000000..278ff0f5d559 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraCommandResultList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod", + "commandId": "all" + }, + "responses": { + "200": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westeurope/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2023-03-15-preview", + "x-ms-request-id": "318653d0-3da5-4814-b8f6-429f2af0b2a4" + }, + "body": { + "value": [ + { + "command": "nodetool", + "outputFile": "318653d0-3da5-4814-b8f6-429f2af0b2a4", + "arguments": { + "status": "" + }, + "host": "10.0.1.12", + "isAdmin": false, + "readWrite": true, + "cassandraStopStart": false, + "result": "{\"exitCode\":0, \"CommandOutput\":\"RESULT\"}" + }, + { + "command": "get-cassandra-yaml", + "outputFile": "314g6hd0-wvhn-3fds-2svb-6yhd2af02dvg", + "arguments": { + "status": "" + }, + "host": "10.0.1.12", + "isAdmin": false, + "readWrite": false, + "cassandraStopStart": false, + "result": "{\"exitCode\":0, \"CommandOutput\":\"yaml setting result.\"}" + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json new file mode 100644 index 000000000000..0e8ec28f983c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1", + "body": { + "properties": { + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Creating", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "seedNodes": [] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json new file mode 100644 index 000000000000..512023fa6c34 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterGet.json new file mode 100644 index 000000000000..e9d770b9f828 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=", + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterList.json new file mode 100644 index 000000000000..6f86bd14d3b7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json new file mode 100644 index 000000000000..0749ea0b0f11 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1", + "body": { + "properties": { + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2023-11-15-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Updating", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=", + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=", + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraListCommand.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraListCommand.json new file mode 100644 index 000000000000..3c0a7952884b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraListCommand.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "command": "nodetool", + "commandId": "1234", + "status": "Enqueued", + "arguments": { + "status": "" + }, + "host": "10.0.1.12", + "readWrite": true, + "cassandraStopStart": false + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraStatus.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraStatus.json new file mode 100644 index 000000000000..fb8a3620c8a5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBManagedCassandraStatus.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2023-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "eTag": "A350A2CE7E91B6D5A102A5E5EC222B882D981092", + "reaperStatus": { + "healthy": true, + "repairRunIds": {}, + "repairSchedules": { + "00000000-0000-0001-0000-000000000000": "ACTIVE" + } + }, + "connectionErrors": [], + "dataCenters": [ + { + "name": "cassandra-westus2-vmss", + "seedNodes": [ + "10.0.8.10", + "10.0.8.11", + "10.0.8.12" + ], + "nodes": [ + { + "address": "10.0.8.10", + "state": "Normal", + "status": "Up", + "cassandraProcessStatus": "Running", + "load": "84.61 MiB", + "tokens": [ + "-7785254003841681178", + "-6756518164561476165", + "-4269720020504480060", + "-2697657908817852783", + "-2622387897201218249", + "-2177258200443022948", + "-129203941752875603", + "1738406920822650025", + "2598053056312400240", + "3227346424117996872", + "3644347038875498376", + "4823546474906050895", + "5293156680707616627", + "5485806686603256557", + "6250058817756969464", + "7991328665766267709" + ], + "size": 16, + "hostID": "8ccc00a7-9e22-4ac2-aa63-e5327aa0dc51", + "rack": "rack1", + "timestamp": "10/05/2021, 14:35:20.028", + "diskUsedKB": 749836, + "diskFreeKB": 1001260056, + "memoryUsedKB": 11061032, + "memoryBuffersAndCachedKB": 10817580, + "memoryFreeKB": 35731832, + "memoryTotalKB": 57610444, + "cpuUsage": 0.9 + }, + { + "address": "10.0.8.11", + "state": "Normal", + "status": "Up", + "cassandraProcessStatus": "Running", + "load": "59.67 MiB", + "tokens": [ + "-8726238055665903210", + "-6687985003871487470", + "-5269140854976433359", + "-3989177686905645288", + "-3957362495277148220", + "-2539287458896988944", + "-2460716365393303466", + "-1848370030729221440", + "137707733677015122", + "579467328507000597", + "1698264534774619627", + "1904235159942090722", + "3312208865519999146", + "4035940456270983993", + "4412314431151736777", + "8232565668795426078" + ], + "size": 16, + "hostID": "14092117-4f77-4ec0-8984-c5b860b88a47", + "rack": "rack2", + "timestamp": "10/05/2021, 14:35:20.028", + "diskUsedKB": 726864, + "diskFreeKB": 1001283028, + "memoryUsedKB": 11055676, + "memoryBuffersAndCachedKB": 10691520, + "memoryFreeKB": 35863248, + "memoryTotalKB": 57610444, + "cpuUsage": 1.2 + }, + { + "address": "10.0.8.12", + "state": "Normal", + "status": "Up", + "cassandraProcessStatus": "Running", + "load": "93.2 MiB", + "tokens": [ + "-5679481051867296621", + "-4574115287969297989", + "-3444578133211470522", + "-2755931580714972271", + "-2304431590844389550", + "-1961946736975068713", + "-940120277889446704", + "554469308917912318", + "1030447162050118004", + "2745632329542596589", + "4564547712926446283", + "5185613478135944116", + "7280237939830623824", + "7504213835759531710", + "7631994478195429959", + "8139769477321226157" + ], + "size": 16, + "hostID": "e16ada14-39db-462b-9f9e-5b5f6beb8bbd", + "rack": "rack3", + "timestamp": "10/05/2021, 14:35:20.028", + "diskUsedKB": 757540, + "diskFreeKB": 1001252352, + "memoryUsedKB": 11051608, + "memoryBuffersAndCachedKB": 10453856, + "memoryFreeKB": 36104980, + "memoryTotalKB": 57610444, + "cpuUsage": 0.4, + "isLatestModel": true + } + ] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceCreate.json new file mode 100644 index 000000000000..1b63c9cd9fc0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceCreate.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "serviceName": "MaterializedViewsBuilder", + "createUpdateParameters": { + "properties": { + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "MaterializedViewsBuilder" + } + } + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/MaterializedViewsBuilder", + "name": "MaterializedViewsBuilder", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "MaterializedViewsBuilder", + "locations": [ + { + "name": "MaterializedViewsBuilder-westus2", + "location": "West US 2", + "status": "Running" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceDelete.json new file mode 100644 index 000000000000..fc4145b4ac5a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "serviceName": "MaterializedViewsBuilder" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceGet.json new file mode 100644 index 000000000000..346cbfacb0ae --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "serviceName": "MaterializedViewsBuilder" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/MaterializedViewsBuilder", + "name": "MaterializedViewsBuilder", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "MaterializedViewsBuilder", + "locations": [ + { + "name": "MaterializedViewsBuilder-westus2", + "location": "West US 2", + "status": "Running" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionBackupInformation.json new file mode 100644 index 000000000000..085bc613b1a1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionBackupInformation.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "collectionName": "collectionName", + "location": { + "location": "North Europe" + } + }, + "responses": { + "200": { + "body": { + "continuousBackupInformation": { + "latestRestorableTimestamp": "2021-02-05T02:40:50Z" + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json new file mode 100644 index 000000000000..c01a38402f1b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "createUpdateMongoDBCollectionParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "collectionName", + "indexes": [ + { + "key": { + "keys": [ + "_ts" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + }, + { + "key": { + "keys": [ + "_id" + ] + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500 + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "collectionName", + "indexes": [ + { + "key": { + "keys": [ + "_ts" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + }, + { + "key": { + "keys": [ + "_id" + ] + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500 + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionDelete.json new file mode 100644 index 000000000000..eeb9bc10a9fd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionGet.json new file mode 100644 index 000000000000..7fe83ffe5ada --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionGet.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testcoll", + "indexes": [ + { + "key": { + "keys": [ + "testKey" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionList.json new file mode 100644 index 000000000000..afbfd9198c1e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testcoll", + "indexes": [ + { + "key": { + "keys": [ + "testKey" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500 + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json new file mode 100644 index 000000000000..aadf955d1739 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json new file mode 100644 index 000000000000..4b05058da028 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionPartitionMerge.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionPartitionMerge.json new file mode 100644 index 000000000000..a903ccb46713 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionPartitionMerge.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "collectionName": "collectionName", + "mergeParameters": { + "isDryRun": false + } + }, + "responses": { + "200": { + "body": { + "physicalPartitionStorageInfoCollection": [ + { + "storageInKB": 333.0, + "id": "0" + }, + { + "storageInKB": 305.0, + "id": "1" + }, + { + "storageInKB": 368.0, + "id": "177" + }, + { + "storageInKB": 96313.0, + "id": "178" + }, + { + "storageInKB": 194.0, + "id": "5" + }, + { + "storageInKB": 331.0, + "id": "6" + }, + { + "storageInKB": 384.0, + "id": "7" + }, + { + "storageInKB": 246.0, + "id": "8" + } + ] + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionRedistributeThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionRedistributeThroughput.json new file mode 100644 index 000000000000..f015172d9c54 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionRedistributeThroughput.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "redistributeThroughputParameters": { + "properties": { + "resource": { + "throughputPolicy": "custom", + "targetPhysicalPartitionThroughputInfo": [ + { + "id": "0", + "throughput": 5000 + }, + { + "id": "1", + "throughput": 5000 + } + ], + "sourcePhysicalPartitionThroughputInfo": [ + { + "id": "2", + "throughput": 5000 + }, + { + "id": "3" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "physicalPartitionThroughputInfo": [ + { + "id": "0", + "throughput": 5000 + }, + { + "id": "1", + "throughput": 5000 + }, + { + "id": "2", + "throughput": 5000 + }, + { + "id": "3", + "throughput": 3000 + } + ] + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionRestore.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionRestore.json new file mode 100644 index 000000000000..5d7a7abec35b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionRestore.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "createUpdateMongoDBCollectionParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "collectionName", + "createMode": "Restore", + "restoreParameters": { + "restoreTimestampInUtc": "2022-07-20T18:28:00Z", + "restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/WestUS/restorableDatabaseAccounts/restorableDatabaseAccountId" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "collectionName", + "indexes": [ + { + "key": { + "keys": [ + "_ts" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + }, + { + "key": { + "keys": [ + "_id" + ] + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500 + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionRetrieveThroughputDistribution.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionRetrieveThroughputDistribution.json new file mode 100644 index 000000000000..0ebbb84db30f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionRetrieveThroughputDistribution.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "retrieveThroughputParameters": { + "properties": { + "resource": { + "physicalPartitionIds": [ + { + "id": "0" + }, + { + "id": "1" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "physicalPartitionThroughputInfo": [ + { + "id": "0", + "throughput": 5000 + }, + { + "id": "1", + "throughput": 5000 + } + ] + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json new file mode 100644 index 000000000000..a1a81a079aa5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "instantMaximumThroughput": "10000", + "softAllowedMaximumThroughput": "1000000", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json new file mode 100644 index 000000000000..eb1727c26235 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json new file mode 100644 index 000000000000..0f40d1bd5ae2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateMongoDBDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "updatedDatabaseName" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseDelete.json new file mode 100644 index 000000000000..b44a5cf94460 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseGet.json new file mode 100644 index 000000000000..7b6b2c5c80da --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseList.json new file mode 100644 index 000000000000..f7490e748db8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..f6488ed7793c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..fbf5be1f54e7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabasePartitionMerge.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabasePartitionMerge.json new file mode 100644 index 000000000000..f2f2eeb41dea --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabasePartitionMerge.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "mergeParameters": { + "isDryRun": false + } + }, + "responses": { + "200": { + "body": { + "physicalPartitionStorageInfoCollection": [ + { + "storageInKB": 333.0, + "id": "0" + }, + { + "storageInKB": 305.0, + "id": "1" + }, + { + "storageInKB": 368.0, + "id": "177" + }, + { + "storageInKB": 96313.0, + "id": "178" + }, + { + "storageInKB": 194.0, + "id": "5" + }, + { + "storageInKB": 331.0, + "id": "6" + }, + { + "storageInKB": 384.0, + "id": "7" + }, + { + "storageInKB": 246.0, + "id": "8" + } + ] + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseRedistributeThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseRedistributeThroughput.json new file mode 100644 index 000000000000..47a34844a633 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseRedistributeThroughput.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "redistributeThroughputParameters": { + "properties": { + "resource": { + "throughputPolicy": "custom", + "targetPhysicalPartitionThroughputInfo": [ + { + "id": "0", + "throughput": 5000 + }, + { + "id": "1", + "throughput": 5000 + } + ], + "sourcePhysicalPartitionThroughputInfo": [ + { + "id": "2", + "throughput": 5000 + }, + { + "id": "3" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "physicalPartitionThroughputInfo": [ + { + "id": "0", + "throughput": 5000 + }, + { + "id": "1", + "throughput": 5000 + }, + { + "id": "2", + "throughput": 5000 + }, + { + "id": "3", + "throughput": 3000 + } + ] + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseRestore.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseRestore.json new file mode 100644 index 000000000000..5503958e3e7a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseRestore.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateMongoDBDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "createMode": "Restore", + "restoreParameters": { + "restoreTimestampInUtc": "2022-07-20T18:28:00Z", + "restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/WestUS/restorableDatabaseAccounts/restorableDatabaseAccountId" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "updatedDatabaseName" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseRetrieveThroughputDistribution.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseRetrieveThroughputDistribution.json new file mode 100644 index 000000000000..0e4f00dc609f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseRetrieveThroughputDistribution.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "retrieveThroughputParameters": { + "properties": { + "resource": { + "physicalPartitionIds": [ + { + "id": "0" + }, + { + "id": "1" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "physicalPartitionThroughputInfo": [ + { + "id": "0", + "throughput": 5000 + }, + { + "id": "1", + "throughput": 5000 + } + ] + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json new file mode 100644 index 000000000000..31946056e3dc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "instantMaximumThroughput": "10000", + "softAllowedMaximumThroughput": "1000000", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..6bb0f39b6040 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json new file mode 100644 index 000000000000..7f79081b5d15 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "mongoRoleDefinitionId": "myMongoRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview", + "createUpdateMongoRoleDefinitionParameters": { + "properties": { + "roleName": "myRoleName", + "databaseName": "sales", + "privileges": [ + { + "resource": { + "db": "sales", + "collection": "sales" + }, + "actions": [ + "insert", + "find" + ] + } + ], + "roles": [ + { + "role": "myInheritedRole", + "db": "sales" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbRoleDefinitions/myMongoDbRoleDefinitionId", + "name": "myMongoDbRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongoDbRoleDefinitionId", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "databaseName": "sales", + "privileges": [ + { + "resource": { + "db": "sales", + "collection": "coll" + }, + "actions": [ + "find", + "insert" + ] + } + ], + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ] + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionDelete.json new file mode 100644 index 000000000000..4acac5593ca5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "mongoRoleDefinitionId": "myMongoRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionGet.json new file mode 100644 index 000000000000..cee8861efa46 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "mongoRoleDefinitionId": "myMongoRoleDefinitionId", + "databaseName": "sales", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbRoleDefinitions/myMongoDbRoleDefinitionId", + "name": "myMongoRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "databaseName": "sales", + "privileges": [ + { + "resource": { + "db": "sales", + "collection": "coll" + }, + "actions": [ + "find", + "insert" + ] + } + ], + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionList.json new file mode 100644 index 000000000000..b12b42e7e987 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "databaseName": "sales", + "privileges": [ + { + "resource": { + "db": "sales", + "collection": "coll" + }, + "actions": [ + "find", + "insert" + ] + } + ], + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json new file mode 100644 index 000000000000..861dc7fc6fcf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "mongoUserDefinitionId": "myMongoUserDefinitionId", + "databaseName": "sales", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview", + "createUpdateMongoUserDefinitionParameters": { + "properties": { + "userName": "myUserName", + "password": "myPassword", + "databaseName": "sales", + "customData": "My custom data", + "roles": [ + { + "role": "myReadRole", + "db": "sales" + } + ], + "mechanisms": "SCRAM-SHA-256" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbUserDefinitions/myUserId", + "name": "myUserName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions", + "properties": { + "userName": "myUserName", + "databaseName": "sales", + "customData": "My custom data", + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ], + "mechanisms": "SCRAM-SHA-256" + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBUserDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBUserDefinitionDelete.json new file mode 100644 index 000000000000..5b6f66290207 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBUserDefinitionDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "mongoUserDefinitionId": "myMongoUserDefinitionId", + "databaseName": "sales", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBUserDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBUserDefinitionGet.json new file mode 100644 index 000000000000..62080e86796a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBUserDefinitionGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "mongoUserDefinitionId": "myMongoUserDefinitionId", + "databaseName": "sales", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbUserDefinitions/myUserId", + "name": "myUserId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions", + "properties": { + "userName": "myUserName", + "databaseName": "sales", + "customData": "My custom data", + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ], + "mechanisms": "SCRAM-SHA-256" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBUserDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBUserDefinitionList.json new file mode 100644 index 000000000000..c09082d71220 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBMongoDBUserDefinitionList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbUserDefinitions/myUserId", + "name": "myUserId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions", + "properties": { + "userName": "myUserName", + "databaseName": "sales", + "customData": "My custom data", + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ], + "mechanisms": "SCRAM-SHA-256" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceCreate.json new file mode 100644 index 000000000000..6725f1e3caaa --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceCreate.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default", + "notebookCreateUpdateParameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceDelete.json new file mode 100644 index 000000000000..781646516674 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "notebookWorkspaceName": "default" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceGet.json new file mode 100644 index 000000000000..82cbfe412a7f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceList.json new file mode 100644 index 000000000000..348be9b10b64 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json new file mode 100644 index 000000000000..78226d395644 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": { + "body": { + "authToken": "auth-token", + "notebookServerEndpoint": "notebook endpoint" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json new file mode 100644 index 000000000000..2d7ccb9ecdbc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceStart.json new file mode 100644 index 000000000000..2d7ccb9ecdbc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBNotebookWorkspaceStart.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBOperationsList.json new file mode 100644 index 000000000000..6e8613985236 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBOperationsList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "operationName", + "display": { + "Provider": "providerName", + "Resource": "resourceName", + "Operation": "operationName", + "Description": "description" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json new file mode 100644 index 000000000000..cf423f815e95 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "partitionKeyRangeId": "0", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json new file mode 100644 index 000000000000..4713d1bcd46c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "partitionKeyRangeId": "0", + "region": "West US", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPercentileGetMetrics.json new file mode 100644 index 000000000000..ced93135a714 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPercentileGetMetrics.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US" + } + }, + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-West US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json new file mode 100644 index 000000000000..f9931ffef25e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "sourceRegion": "West Central US", + "targetRegion": "East US", + "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPercentileTargetGetMetrics.json new file mode 100644 index 000000000000..047aaff97042 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPercentileTargetGetMetrics.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "targetRegion": "East US", + "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US" + } + }, + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..912446cfdde2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2023-11-15-preview", + "privateEndpointConnectionName": "privateEndpointConnectionName" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateEndpointConnectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..f8843df73116 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateEndpointConnectionGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2023-11-15-preview", + "privateEndpointConnectionName": "privateEndpointConnectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json new file mode 100644 index 000000000000..0b6aa328995e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName2", + "name": "privateEndpointConnectionName", + "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..61cae71a2257 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2023-11-15-preview", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateLinkResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateLinkResourceGet.json new file mode 100644 index 000000000000..a1b60c2de8c4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateLinkResourceGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2023-11-15-preview", + "groupName": "sql" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql", + "name": "sql", + "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources", + "properties": { + "groupId": "sql", + "requiredMembers": [ + "ddb1", + "ddb1-westus" + ], + "requiredZoneNames": [ + "privatelink.documents.azure.net" + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateLinkResourceListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateLinkResourceListGet.json new file mode 100644 index 000000000000..5374009cc8bf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBPrivateLinkResourceListGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql", + "name": "sql", + "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources", + "properties": { + "groupId": "sql", + "requiredMembers": [ + "ddb1", + "ddb1-westus" + ], + "requiredZoneNames": [ + "privatelink.documents.azure.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRegionCollectionGetMetrics.json new file mode 100644 index 000000000000..bd0233bf21e7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRegionCollectionGetMetrics.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "region": "North Europe", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableDatabaseAccountGet.json new file mode 100644 index 000000000000..3d77eb6fe5fa --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableDatabaseAccountGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "location": "West US", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2021-03-12T22:05:09Z", + "oldestRestorableTime": "2021-03-01T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableDatabaseAccountList.json new file mode 100644 index 000000000000..cc623f6f9835 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableDatabaseAccountList.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "location": "West US" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2021-03-12T22:05:09Z", + "oldestRestorableTime": "2021-03-01T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "name": "4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb2", + "creationTime": "2020-05-01T08:05:18Z", + "oldestRestorableTime": "2021-03-01T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json new file mode 100644 index 000000000000..e4924f0d1372 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2021-03-12T22:05:09Z", + "oldestRestorableTime": "2021-03-01T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "name": "4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "location": "East US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb2", + "creationTime": "2020-05-01T08:05:18Z", + "oldestRestorableTime": "2021-03-01T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableGremlinDatabaseList.json new file mode 100644 index 000000000000..c6d537e8d937 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableGremlinDatabaseList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableGremlinDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGremlinDatabases", + "name": "59c21367-b98b-4a8e-abb7-b6f46600decc", + "properties": { + "resource": { + "_rid": "DLB14gAAAA==", + "eventTimestamp": "2020-09-02T19:45:03Z", + "ownerId": "Database1", + "ownerResourceId": "PD5DALigDgw=", + "operationType": "Create", + "canUndelete": "invalid" + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableGremlinDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGremlinDatabases", + "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "properties": { + "resource": { + "_rid": "ESXNLAAAAA==", + "eventTimestamp": "2020-09-02T19:53:42Z", + "ownerId": "Database1", + "ownerResourceId": "PD5DALigDgw=", + "operationType": "Delete", + "canUndelete": "notRestorable", + "canUndeleteReason": "Database already exists. Only deleted resources can be restored within same account." + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableGremlinGraphList.json new file mode 100644 index 000000000000..1a0a3b966420 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableGremlinGraphList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "location": "WestUS", + "instanceId": "98a570f2-63db-4117-91f0-366327b7b353", + "restorableGremlinDatabaseRid": "PD5DALigDgw=" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableGraphs/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGraphs", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Graph1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Create", + "canUndelete": "invalid" + } + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableGraphs/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGraphs", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Graph1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Delete", + "canUndelete": "notRestorable", + "canUndeleteReason": "Individual shared database collections restore is not supported. Please restore shared database to restore its collections that share the throughput." + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableGremlinResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableGremlinResourceList.json new file mode 100644 index 000000000000..09313b2aff6c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableGremlinResourceList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "restoreLocation": "WestUS", + "restoreTimestampInUtc": "06/01/2022 4:56" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableGremlinResources/Database1", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGremlinResources", + "name": "Database1", + "databaseName": "Database1", + "graphNames": [ + "Graph1" + ] + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableGremlinResources/Database2", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGremlinResources", + "name": "Database2", + "databaseName": "Database2", + "graphNames": [ + "Graph1", + "Graph2" + ] + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableGremlinResources/Database3", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGremlinResources", + "name": "Database3", + "databaseName": "Database3", + "graphNames": [] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableMongodbCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableMongodbCollectionList.json new file mode 100644 index 000000000000..2d5b5a83fff9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableMongodbCollectionList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "location": "WestUS", + "instanceId": "98a570f2-63db-4117-91f0-366327b7b353", + "restorableMongodbDatabaseRid": "PD5DALigDgw=" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableMongodbCollections/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbCollections", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Collection1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Create", + "canUndelete": "invalid" + } + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableMongodbCollections/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbCollections", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Collection1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Delete", + "canUndelete": "notRestorable", + "canUndeleteReason": "Individual shared database collections restore is not supported. Please restore shared database to restore its collections that share the throughput." + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableMongodbDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableMongodbDatabaseList.json new file mode 100644 index 000000000000..60bec1b10455 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableMongodbDatabaseList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableMongodbDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases", + "name": "59c21367-b98b-4a8e-abb7-b6f46600decc", + "properties": { + "resource": { + "_rid": "DLB14gAAAA==", + "eventTimestamp": "2020-09-02T19:45:03Z", + "ownerId": "Database1", + "ownerResourceId": "PD5DALigDgw=", + "operationType": "Create", + "canUndelete": "invalid" + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableMongodbDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases", + "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "properties": { + "resource": { + "_rid": "ESXNLAAAAA==", + "eventTimestamp": "2020-09-02T19:53:42Z", + "ownerId": "Database1", + "ownerResourceId": "PD5DALigDgw=", + "operationType": "Delete", + "canUndelete": "notRestorable", + "canUndeleteReason": "Database already exists. Only deleted resources can be restored within same account." + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableMongodbResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableMongodbResourceList.json new file mode 100644 index 000000000000..287a4fadeb38 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableMongodbResourceList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "restoreLocation": "WestUS", + "restoreTimestampInUtc": "06/01/2022 4:56" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorablemongodbresources/Database1", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorablemongodbresources", + "name": "Database1", + "databaseName": "Database1", + "collectionNames": [ + "Collection1" + ] + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorablemongodbresources/Database2", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorablemongodbresources", + "name": "Database2", + "databaseName": "Database2", + "collectionNames": [ + "Collection1", + "Collection2" + ] + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorablemongodbresources/Database3", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorablemongodbresources", + "name": "Database3", + "databaseName": "Database3", + "collectionNames": [] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableSqlContainerList.json new file mode 100644 index 000000000000..47319f2a1d04 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableSqlContainerList.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "location": "WestUS", + "instanceId": "98a570f2-63db-4117-91f0-366327b7b353", + "restorableSqlDatabaseRid": "3fu-hg==" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableSqlContainers/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Container1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Create", + "canUndelete": "invalid", + "container": { + "id": "Container1", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*" + }, + { + "path": "/\"_ts\"/?" + } + ], + "excludedPaths": [ + { + "path": "/\"_etag\"/?" + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/_ts", + "conflictResolutionProcedure": "" + }, + "_rid": "V18LoLrv-qA=", + "_self": "dbs/V18LoA==/colls/V18LoLrv-qA=/", + "_etag": "\"00003e00-0000-0700-0000-5f85338a0000\"" + } + } + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableSqlContainers/e85298a1-c631-4726-825e-a7ca092e9098", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers", + "name": "e85298a1-c631-4726-825e-a7ca092e9098", + "properties": { + "resource": { + "_rid": "PrArcgAAAA==", + "eventTimestamp": "2020-10-13T05:03:27Z", + "ownerId": "Container1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Replace", + "canUndelete": "invalid", + "container": { + "id": "Container1", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*" + }, + { + "path": "/\"_ts\"/?" + } + ], + "excludedPaths": [ + { + "path": "/\"_etag\"/?" + } + ] + }, + "defaultTtl": 12345, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/_ts", + "conflictResolutionProcedure": "" + }, + "_rid": "V18LoLrv-qA=", + "_self": "dbs/V18LoA==/colls/V18LoLrv-qA=/", + "_etag": "\"00004400-0000-0700-0000-5f85351f0000\"" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableSqlDatabaseList.json new file mode 100644 index 000000000000..d5c9973aaf32 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableSqlDatabaseList.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableSqlDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases", + "name": "59c21367-b98b-4a8e-abb7-b6f46600decc", + "properties": { + "resource": { + "_rid": "DLB14gAAAA==", + "eventTimestamp": "2020-09-02T19:45:03Z", + "ownerId": "Database1", + "ownerResourceId": "3fu-hg==", + "operationType": "Create", + "canUndelete": "invalid", + "database": { + "id": "Database1", + "_rid": "3fu-hg==", + "_self": "dbs/3fu-hg==/", + "_etag": "\"0000c20a-0000-0700-0000-5f4ff63f0000\"", + "_colls": "colls/", + "_users": "users/" + } + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableSqlDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases", + "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "properties": { + "resource": { + "_rid": "ESXNLAAAAA==", + "eventTimestamp": "2020-09-02T19:53:42Z", + "ownerId": "Database1", + "ownerResourceId": "3fu-hg==", + "database": { + "id": "Database1", + "_rid": "3fu-hg==", + "_self": "dbs/3fu-hg==/", + "_etag": "\"0000c20a-0000-0700-0000-5f4ff63f0000\"", + "_colls": "colls/", + "_users": "users/", + "_ts": 1599075903 + }, + "operationType": "Delete", + "canUndelete": "notRestorable", + "canUndeleteReason": "Database already exists. Only deleted resources can be restored within same account." + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableSqlDatabases/2c07991b-9c7c-4e85-be68-b18c1f2ff326", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases", + "name": "2c07991b-9c7c-4e85-be68-b18c1f2ff326", + "properties": { + "resource": { + "_rid": "aXFqUQAAAA==", + "eventTimestamp": "2020-09-02T19:53:15Z", + "ownerId": "Database2", + "ownerResourceId": "0SziSg==", + "database": { + "id": "Database2", + "_rid": "0SziSg==", + "_self": "dbs/0SziSg==/", + "_etag": "\"0000ca0a-0000-0700-0000-5f4ff82b0000\"", + "_colls": "colls/", + "_users": "users/" + }, + "operationType": "Create", + "canUndelete": "invalid" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableSqlResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableSqlResourceList.json new file mode 100644 index 000000000000..122395824bcf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableSqlResourceList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "restoreLocation": "WestUS", + "restoreTimestampInUtc": "06/01/2022 4:56" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorablesqlresources/Database1", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorablesqlresources", + "name": "Database1", + "databaseName": "Database1", + "collectionNames": [ + "Container1" + ] + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorablesqlresources/Database2", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorablesqlresources", + "name": "Database2", + "databaseName": "Database2", + "collectionNames": [ + "Container1", + "Container2" + ] + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorablesqlresources/Database3", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorablesqlresources", + "name": "Database3", + "databaseName": "Database3", + "collectionNames": [] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableTableList.json new file mode 100644 index 000000000000..ac5eb4a4f943 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableTableList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "location": "WestUS", + "instanceId": "98a570f2-63db-4117-91f0-366327b7b353" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableTables/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableTables", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Table1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Create", + "canUndelete": "invalid" + } + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableTables/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableTables", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Table1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Delete", + "canUndelete": "notRestorable", + "canUndeleteReason": "Collection with same name already exist as live collection." + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableTableResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableTableResourceList.json new file mode 100644 index 000000000000..0b246410296c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestorableTableResourceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "restoreLocation": "WestUS", + "restoreTimestampInUtc": "06/01/2022 4:56" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorabletableresources/table1", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorablesqlresources", + "name": "table1" + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorabletableresources/table2", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorablesqlresources", + "name": "table2" + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json new file mode 100644 index 000000000000..49e9582ea91e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "tags": {}, + "kind": "GlobalDocumentDB", + "properties": { + "databaseAccountOfferType": "Standard", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + } + ], + "createMode": "Restore", + "restoreParameters": { + "restoreMode": "PointInTime", + "restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1a97b4bb-f6a0-430e-ade1-638d781830cc", + "restoreTimestampInUtc": "2021-03-11T22:05:09Z", + "databasesToRestore": [ + { + "databaseName": "db1", + "collectionNames": [ + "collection1", + "collection2" + ] + }, + { + "databaseName": "db2", + "collectionNames": [ + "collection3", + "collection4" + ] + } + ], + "sourceBackupLocation": "westus" + }, + "backupPolicy": { + "type": "Continuous", + "continuousModeProperties": { + "tier": "Continuous30Days" + } + }, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "enableFreeTier": false, + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "enableMaterializedViews": false, + "minimalTlsVersion": "Tls" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Initializing", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Restore", + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "readLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "locations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "failoverPolicies": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "failoverPriority": 0 + } + ], + "backupPolicy": { + "type": "Continuous", + "continuousModeProperties": { + "tier": "Continuous30Days" + } + }, + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": false, + "minimalTlsVersion": "Tls", + "analyticalStorageConfiguration": null, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [], + "enableMaterializedViews": false, + "keysMetadata": { + "primaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "primaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + }, + "secondaryReadonlyMasterKey": { + "generationTime": "2022-02-25T20:30:11Z" + } + } + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBServicesList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBServicesList.json new file mode 100644 index 000000000000..3af8a8664120 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBServicesList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/sqlDedicatedGateway", + "name": "sqlDedicatedGateway", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "SqlDedicatedGateway", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway.sqlx.cosmos.windows-int.net/", + "locations": [ + { + "name": "sqlDedicatedGateway-westus2", + "location": "West US 2", + "status": "Running", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway-westus.sqlx.cosmos.windows-int.net/" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json new file mode 100644 index 000000000000..3fc3da19fa9c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "accountName": "accountName", + "databaseName": "databaseName", + "clientEncryptionKeyName": "cekName", + "createUpdateClientEncryptionKeyParameters": { + "properties": { + "resource": { + "id": "cekName", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "VGhpcyBpcyBhY3R1YWxseSBhbiBhcnJheSBvZiBieXRlcy4gVGhpcyByZXF1ZXN0L3Jlc3BvbnNlIGlzIGJlaW5nIHByZXNlbnRlZCBhcyBhIHN0cmluZyBmb3IgcmVhZGFiaWxpdHkgaW4gdGhlIGV4YW1wbGU=", + "keyWrapMetadata": { + "name": "customerManagedKey", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL", + "algorithm": "RSA-OAEP" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName", + "name": "cekName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey", + "properties": { + "resource": { + "id": "cekName", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "VGhpcyBpcyBhY3R1YWxseSBhbiBhcnJheSBvZiBieXRlcy4gVGhpcyByZXF1ZXN0L3Jlc3BvbnNlIGlzIGJlaW5nIHByZXNlbnRlZCBhcyBhIHN0cmluZyBmb3IgcmVhZGFiaWxpdHkgaW4gdGhlIGV4YW1wbGU=", + "keyWrapMetadata": { + "name": "customerManagedKey", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL", + "algorithm": "RSA-OAEP" + }, + "_rid": "tNc4AAAAAAAQkjzWAgAAAA==", + "_ts": 1626425552, + "_etag": "00000000-0000-0000-7a1f-bc0828e801d7" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlClientEncryptionKeyGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlClientEncryptionKeyGet.json new file mode 100644 index 000000000000..534ca729e628 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlClientEncryptionKeyGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "accountName": "accountName", + "databaseName": "databaseName", + "clientEncryptionKeyName": "cekName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName", + "name": "cekName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey", + "properties": { + "resource": { + "id": "cekName", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "VGhpcyBpcyBhY3R1YWxseSBhbiBhcnJheSBvZiBieXRlcy4gVGhpcyByZXF1ZXN0L3Jlc3BvbnNlIGlzIGJlaW5nIHByZXNlbnRlZCBhcyBhIHN0cmluZyBmb3IgcmVhZGFiaWxpdHkgaW4gdGhlIGV4YW1wbGU=", + "keyWrapMetadata": { + "name": "customerManagedKey", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL", + "algorithm": "RSA-OAEP" + }, + "_rid": "tNc4AAAAAAAQkjzWAgAAAA==", + "_ts": 1626425552, + "_etag": "00000000-0000-0000-7a1f-bc0828e801d7" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlClientEncryptionKeysList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlClientEncryptionKeysList.json new file mode 100644 index 000000000000..cfb71222df46 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlClientEncryptionKeysList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "accountName": "accountName", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName1", + "name": "cekName1", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey", + "properties": { + "resource": { + "id": "cekName1", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "VGhpcyBpcyBhY3R1YWxseSBhbiBhcnJheSBvZiBieXRlcy4gVGhpcyByZXF1ZXN0L3Jlc3BvbnNlIGlzIGJlaW5nIHByZXNlbnRlZCBhcyBhIHN0cmluZyBmb3IgcmVhZGFiaWxpdHkgaW4gdGhlIGV4YW1wbGU=", + "keyWrapMetadata": { + "name": "customerManagedKey1", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL for customerManagedKey1", + "algorithm": "RSA-OAEP" + }, + "_rid": "nAMyAAAAAADPw1kKAgAAAA==", + "_ts": 1626425552, + "_etag": "00000000-0000-0000-7a1f-bc0828e801d7" + } + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName2", + "name": "cekName2", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey", + "properties": { + "resource": { + "id": "cekName2", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "VGhpcyBpcyBhY3R1YWxseSBhbiBhcnJheSBvZiBieXRlcy4gVGhpcyByZXF1ZXN0L3Jlc3BvbnNlIGlzIGJlaW5nIHByZXNlbnRlZCBhcyBhIHN0cmluZyBmb3IgcmVhZGFiaWxpdHkgaW4gdGhlIGV4YW1wbGU=", + "keyWrapMetadata": { + "name": "customerManagedKey2", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL for customerManagedKey2", + "algorithm": "RSA-OAEP" + }, + "_rid": "nAMyAAAAAAAWWfxHAgAAAA==", + "_ts": 1626425631, + "_etag": "00000000-0000-0000-7a21-7788a38c01d7" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerBackupInformation.json new file mode 100644 index 000000000000..f748016985d7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerBackupInformation.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "location": { + "location": "North Europe" + } + }, + "responses": { + "200": { + "body": { + "continuousBackupInformation": { + "latestRestorableTimestamp": "2021-02-05T02:40:50Z" + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerCreateUpdate.json new file mode 100644 index 000000000000..ad60319f8052 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerCreateUpdate.json @@ -0,0 +1,163 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "createUpdateSqlContainerParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "clientEncryptionPolicy": { + "includedPaths": [ + { + "path": "/path", + "clientEncryptionKeyId": "keyId", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "encryptionType": "Deterministic" + } + ], + "policyFormatVersion": 2 + }, + "computedProperties": [ + { + "name": "cp_lowerName", + "query": "SELECT VALUE LOWER(c.name) FROM c" + } + ] + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/containers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "clientEncryptionPolicy": { + "includedPaths": [ + { + "path": "/path", + "clientEncryptionKeyId": "keyId", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "encryptionType": "Deterministic" + } + ], + "policyFormatVersion": 1 + }, + "computedProperties": [ + { + "name": "cp_lowerName", + "query": "SELECT VALUE LOWER(c.name) FROM c" + } + ], + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerDelete.json new file mode 100644 index 000000000000..1f9280e7d585 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerGet.json new file mode 100644 index 000000000000..cb018d5857f0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerGet.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/containers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "clientEncryptionPolicy": { + "includedPaths": [ + { + "path": "/path", + "clientEncryptionKeyId": "keyId", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "encryptionType": "Deterministic" + } + ], + "policyFormatVersion": 1 + }, + "computedProperties": [ + { + "name": "cp_lowerName", + "query": "SELECT VALUE LOWER(c.name) FROM c" + } + ], + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + }, + "options": { + "throughput": 400 + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerList.json new file mode 100644 index 000000000000..2d134c5ca89a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerList.json @@ -0,0 +1,232 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/containers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testctn", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "clientEncryptionPolicy": { + "includedPaths": [ + { + "path": "/path", + "clientEncryptionKeyId": "keyId", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "encryptionType": "Deterministic" + } + ], + "policyFormatVersion": 1 + }, + "computedProperties": [ + { + "name": "cp_lowerName", + "query": "SELECT VALUE LOWER(c.name) FROM c" + } + ], + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName1", + "name": "containerName1", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testctn1", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber", + "/AccountLocation" + ], + "kind": "MultiHash", + "version": 2 + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "clientEncryptionPolicy": { + "includedPaths": [ + { + "path": "/path", + "clientEncryptionKeyId": "keyId", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "encryptionType": "Deterministic" + } + ], + "policyFormatVersion": 1 + }, + "computedProperties": [], + "_rid": "PD5DALigDiw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName2", + "name": "containerName2", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testctn2", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/_partitionKey" + ], + "kind": "Hash", + "version": 2, + "systemKey": true + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "clientEncryptionPolicy": { + "includedPaths": [ + { + "path": "/path", + "clientEncryptionKeyId": "keyId", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "encryptionType": "Deterministic" + } + ], + "policyFormatVersion": 1 + }, + "_rid": "PD5DALigDhw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json new file mode 100644 index 000000000000..2578ee236a07 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json new file mode 100644 index 000000000000..e958e523def7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerPartitionMerge.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerPartitionMerge.json new file mode 100644 index 000000000000..d1f13a6b892b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerPartitionMerge.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "mergeParameters": { + "isDryRun": false + } + }, + "responses": { + "200": { + "body": { + "physicalPartitionStorageInfoCollection": [ + { + "storageInKB": 333.0, + "id": "0" + }, + { + "storageInKB": 305.0, + "id": "1" + }, + { + "storageInKB": 368.0, + "id": "177" + }, + { + "storageInKB": 96313.0, + "id": "178" + }, + { + "storageInKB": 194.0, + "id": "5" + }, + { + "storageInKB": 331.0, + "id": "6" + } + ] + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerRedistributeThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerRedistributeThroughput.json new file mode 100644 index 000000000000..9e27488a1df3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerRedistributeThroughput.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "redistributeThroughputParameters": { + "properties": { + "resource": { + "throughputPolicy": "custom", + "targetPhysicalPartitionThroughputInfo": [ + { + "id": "0", + "throughput": 5000 + }, + { + "id": "1", + "throughput": 5000 + } + ], + "sourcePhysicalPartitionThroughputInfo": [ + { + "id": "2", + "throughput": 5000 + }, + { + "id": "3" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "physicalPartitionThroughputInfo": [ + { + "id": "0", + "throughput": 5000 + }, + { + "id": "1", + "throughput": 5000 + }, + { + "id": "2", + "throughput": 5000 + }, + { + "id": "3", + "throughput": 3000 + } + ] + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerRestore.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerRestore.json new file mode 100644 index 000000000000..2f30bde435fd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerRestore.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "createUpdateSqlContainerParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "createMode": "Restore", + "restoreParameters": { + "restoreTimestampInUtc": "2022-07-20T18:28:00Z", + "restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/WestUS/restorableDatabaseAccounts/restorableDatabaseAccountId" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/containers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "clientEncryptionPolicy": { + "includedPaths": [ + { + "path": "/path", + "clientEncryptionKeyId": "keyId", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "encryptionType": "Deterministic" + } + ], + "policyFormatVersion": 1 + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerRetrieveThroughputDistribution.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerRetrieveThroughputDistribution.json new file mode 100644 index 000000000000..256e2a7fe11c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerRetrieveThroughputDistribution.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "retrieveThroughputParameters": { + "properties": { + "resource": { + "physicalPartitionIds": [ + { + "id": "0" + }, + { + "id": "1" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "physicalPartitionThroughputInfo": [ + { + "id": "0", + "throughput": 5000 + }, + { + "id": "1", + "throughput": 5000 + } + ] + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerThroughputGet.json new file mode 100644 index 000000000000..d8501d79fa1b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerThroughputGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "instantMaximumThroughput": "10000", + "softAllowedMaximumThroughput": "1000000", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerThroughputUpdate.json new file mode 100644 index 000000000000..edb741f2f83f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlContainerThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json new file mode 100644 index 000000000000..69d89733845e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateSqlDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseDelete.json new file mode 100644 index 000000000000..b44a5cf94460 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseGet.json new file mode 100644 index 000000000000..3b4f910a2a17 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"", + "_colls": "colls/", + "_users": "users/" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseList.json new file mode 100644 index 000000000000..7c08195bf53f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"", + "_colls": "colls/", + "_users": "users/" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..f6488ed7793c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..fbf5be1f54e7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabasePartitionMerge.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabasePartitionMerge.json new file mode 100644 index 000000000000..8f22c61d2505 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabasePartitionMerge.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "mergeParameters": { + "isDryRun": false + } + }, + "responses": { + "200": { + "body": { + "physicalPartitionStorageInfoCollection": [ + { + "storageInKB": 333.0, + "id": "0" + }, + { + "storageInKB": 305.0, + "id": "1" + }, + { + "storageInKB": 368.0, + "id": "177" + }, + { + "storageInKB": 96313.0, + "id": "178" + }, + { + "storageInKB": 194.0, + "id": "5" + }, + { + "storageInKB": 331.0, + "id": "6" + } + ] + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2022-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2022-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseRedistributeThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseRedistributeThroughput.json new file mode 100644 index 000000000000..47a34844a633 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseRedistributeThroughput.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "redistributeThroughputParameters": { + "properties": { + "resource": { + "throughputPolicy": "custom", + "targetPhysicalPartitionThroughputInfo": [ + { + "id": "0", + "throughput": 5000 + }, + { + "id": "1", + "throughput": 5000 + } + ], + "sourcePhysicalPartitionThroughputInfo": [ + { + "id": "2", + "throughput": 5000 + }, + { + "id": "3" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "physicalPartitionThroughputInfo": [ + { + "id": "0", + "throughput": 5000 + }, + { + "id": "1", + "throughput": 5000 + }, + { + "id": "2", + "throughput": 5000 + }, + { + "id": "3", + "throughput": 3000 + } + ] + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseRestore.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseRestore.json new file mode 100644 index 000000000000..a968587e4265 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseRestore.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateSqlDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "createMode": "Restore", + "restoreParameters": { + "restoreTimestampInUtc": "2022-07-20T18:28:00Z", + "restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/WestUS/restorableDatabaseAccounts/restorableDatabaseAccountId" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseRetrieveThroughputDistribution.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseRetrieveThroughputDistribution.json new file mode 100644 index 000000000000..0e4f00dc609f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseRetrieveThroughputDistribution.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "retrieveThroughputParameters": { + "properties": { + "resource": { + "physicalPartitionIds": [ + { + "id": "0" + }, + { + "id": "1" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "physicalPartitionThroughputInfo": [ + { + "id": "0", + "throughput": 5000 + }, + { + "id": "1", + "throughput": 5000 + } + ] + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseThroughputGet.json new file mode 100644 index 000000000000..22a73ee56947 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseThroughputGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "instantMaximumThroughput": "10000", + "softAllowedMaximumThroughput": "1000000", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..b80202a23f91 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json new file mode 100644 index 000000000000..40321b55ea58 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "serviceName": "SqlDedicatedGateway", + "createUpdateParameters": { + "properties": { + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "SqlDedicatedGateway" + } + } + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/SqlDedicatedGateway", + "name": "SqlDedicatedGateway", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "SqlDedicatedGateway", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway.sqlx.cosmos.windows-int.net/", + "locations": [ + { + "name": "SqlDedicatedGateway-westus2", + "location": "West US 2", + "status": "Running", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway-westus.sqlx.cosmos.windows-int.net/" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json new file mode 100644 index 000000000000..f7b126cfbd11 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "serviceName": "SqlDedicatedGateway" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json new file mode 100644 index 000000000000..55838849451d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "serviceName": "SqlDedicatedGateway" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/SqlDedicatedGateway", + "name": "SqlDedicatedGateway", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "SqlDedicatedGateway", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway.sqlx.cosmos.windows-int.net/", + "locations": [ + { + "name": "SqlDedicatedGateway-westus2", + "location": "West US 2", + "status": "Running", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway-westus.sqlx.cosmos.windows-int.net/" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlMaterializedViewCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlMaterializedViewCreateUpdate.json new file mode 100644 index 000000000000..d01a7c990fa0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlMaterializedViewCreateUpdate.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "mvContainerName", + "createUpdateSqlContainerParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "mvContainerName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/mvpk" + ], + "kind": "Hash" + }, + "materializedViewDefinition": { + "sourceCollectionId": "sourceContainerName", + "definition": "select * from ROOT" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/containers/mvContainerName", + "name": "mvContainerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "mvContainerName", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*" + } + ], + "excludedPaths": [ + { + "path": "/\"_etag\"/?" + } + ] + }, + "partitionKey": { + "paths": [ + "/mvpk" + ], + "kind": "Hash" + }, + "defaultTtl": -1, + "uniqueKeyPolicy": { + "uniqueKeys": [] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/_ts", + "conflictResolutionProcedure": "" + }, + "materializedViewDefinition": { + "sourceCollectionRid": "vb0sn6nEu9A=", + "sourceCollectionId": "sourceContainerName", + "definition": "select * from ROOT" + }, + "_rid": "vb0sn8MDxLw=", + "_ts": 1671427656, + "_etag": "\"00000800-0000-0200-0000-639ff6480000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json new file mode 100644 index 000000000000..ae1a6984fa09 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview", + "createUpdateSqlRoleAssignmentParameters": { + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId", + "name": "myRoleAssignmentId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments", + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleAssignmentDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleAssignmentDelete.json new file mode 100644 index 000000000000..5da6b670d860 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleAssignmentDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleAssignmentGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleAssignmentGet.json new file mode 100644 index 000000000000..4fb6e10abeb4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleAssignmentGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId", + "name": "myRoleAssignmentId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments", + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleAssignmentList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleAssignmentList.json new file mode 100644 index 000000000000..a4a4cce80ed8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleAssignmentList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId", + "name": "myRoleAssignmentId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments", + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json new file mode 100644 index 000000000000..f2afb59012bd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview", + "createUpdateSqlRoleDefinitionParameters": { + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ], + "notDataActions": [] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ] + } + ] + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleDefinitionDelete.json new file mode 100644 index 000000000000..413230fdfaf6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleDefinitionDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleDefinitionGet.json new file mode 100644 index 000000000000..2f5d64bf086f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleDefinitionGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ], + "notDataActions": [] + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleDefinitionList.json new file mode 100644 index 000000000000..7def748e52c7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlRoleDefinitionList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ], + "notDataActions": [] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json new file mode 100644 index 000000000000..bc8c8918cb1f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName", + "createUpdateSqlStoredProcedureParameters": { + "properties": { + "resource": { + "id": "storedProcedureName", + "body": "body" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName", + "name": "storedProcedureName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures", + "properties": { + "resource": { + "id": "storedProcedureName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlStoredProcedureDelete.json new file mode 100644 index 000000000000..d04fbe64b607 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlStoredProcedureDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlStoredProcedureGet.json new file mode 100644 index 000000000000..61de028d5401 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlStoredProcedureGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName", + "name": "storedProcedureName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures", + "properties": { + "resource": { + "id": "storedProcedureName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlStoredProcedureList.json new file mode 100644 index 000000000000..43e4910d9dd7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlStoredProcedureList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName", + "name": "testctn", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures", + "properties": { + "resource": { + "id": "testctn", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlTriggerCreateUpdate.json new file mode 100644 index 000000000000..6893b4a7cbc5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlTriggerCreateUpdate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName", + "createUpdateSqlTriggerParameters": { + "properties": { + "resource": { + "id": "triggerName", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName", + "name": "triggerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers", + "properties": { + "resource": { + "id": "triggerName", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlTriggerDelete.json new file mode 100644 index 000000000000..46c138e06c2e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlTriggerDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlTriggerGet.json new file mode 100644 index 000000000000..722123929964 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlTriggerGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName", + "name": "triggerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers", + "properties": { + "resource": { + "id": "triggerName", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlTriggerList.json new file mode 100644 index 000000000000..2570975d8217 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlTriggerList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName", + "name": "testctn", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers", + "properties": { + "resource": { + "id": "testctn", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json new file mode 100644 index 000000000000..119984884f52 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName", + "createUpdateSqlUserDefinedFunctionParameters": { + "properties": { + "resource": { + "id": "userDefinedFunctionName", + "body": "body" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName", + "name": "userDefinedFunctionName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions", + "properties": { + "resource": { + "id": "userDefinedFunctionName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json new file mode 100644 index 000000000000..98bb960e225b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json new file mode 100644 index 000000000000..a2b2288a9c3f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName", + "name": "userDefinedFunctionName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions", + "properties": { + "resource": { + "id": "userDefinedFunctionName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionList.json new file mode 100644 index 000000000000..ce7892a41461 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName", + "name": "testctn", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions", + "properties": { + "resource": { + "id": "testctn", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableBackupInformation.json new file mode 100644 index 000000000000..f10dab9494da --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableBackupInformation.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "tableName": "tableName1", + "location": { + "location": "North Europe" + } + }, + "responses": { + "200": { + "body": { + "continuousBackupInformation": { + "latestRestorableTimestamp": "2021-02-05T02:40:50Z" + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableCreateUpdate.json new file mode 100644 index 000000000000..5625dfdc8c53 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableCreateUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "tableName": "tableName", + "createUpdateTableParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/tables", + "location": "West US", + "properties": { + "resource": { + "id": "tableName" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableDelete.json new file mode 100644 index 000000000000..c55b934e6e72 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableGet.json new file mode 100644 index 000000000000..e35e945ea3ec --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/tables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableList.json new file mode 100644 index 000000000000..b0f8194abebf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/tables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableMigrateToAutoscale.json new file mode 100644 index 000000000000..e44eacbc8607 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableMigrateToAutoscale.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..844953b23fa4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableMigrateToManualThroughput.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableThroughputGet.json new file mode 100644 index 000000000000..c13bae638d5d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableThroughputGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "instantMaximumThroughput": "10000", + "softAllowedMaximumThroughput": "1000000", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableThroughputUpdate.json new file mode 100644 index 000000000000..9f3e8dafcddb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/CosmosDBTableThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "tableName": "tableName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCancel.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCancel.json new file mode 100644 index 000000000000..78513b1cb17e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCancel.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "jobName": "j1" + }, + "responses": { + "200": { + "body": { + "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16", + "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs", + "properties": { + "jobName": "j1", + "source": { + "tableName": "table", + "keyspaceName": "keyspace", + "component": "CosmosDBCassandra" + }, + "destination": { + "component": "AzureBlobStorage", + "containerName": "blob_container", + "endpointUrl": "https://blob.windows.net" + }, + "status": "Cancelled", + "processedCount": 20, + "totalCount": 100, + "lastUpdatedUtcTime": "2021-06-12T11:10:55.2780000Z", + "duration": "00:34:10" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCreate.json new file mode 100644 index 000000000000..76a9636eeb89 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCreate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "jobName": "j1", + "jobCreateParameters": { + "properties": { + "source": { + "component": "CosmosDBCassandra", + "keyspaceName": "keyspace", + "tableName": "table" + }, + "destination": { + "component": "AzureBlobStorage", + "containerName": "blob_container", + "endpointUrl": "https://blob.windows.net" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16", + "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs", + "properties": { + "jobName": "j1", + "source": { + "tableName": "table", + "keyspaceName": "keyspace", + "component": "CosmosDBCassandra" + }, + "destination": { + "component": "AzureBlobStorage", + "containerName": "blob_container", + "endpointUrl": "https://blob.windows.net" + }, + "status": "Running", + "processedCount": 0, + "totalCount": 0, + "lastUpdatedUtcTime": "2021-06-12T11:10:55.2780000Z", + "duration": "00:00:00" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobFeed.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobFeed.json new file mode 100644 index 000000000000..472921e22fd7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobFeed.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16", + "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs", + "properties": { + "jobName": "j1", + "source": { + "tableName": "table", + "keyspaceName": "keyspace", + "component": "CosmosDBCassandra" + }, + "destination": { + "component": "AzureBlobStorage", + "endpointUrl": "https://blob.windows.net", + "containerName": "blob_container" + }, + "status": "Completed", + "processedCount": 100, + "totalCount": 100, + "lastUpdatedUtcTime": "2021-06-12T12:04:23.1530000Z", + "duration": "00:00:00" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobGet.json new file mode 100644 index 000000000000..1d9f1bb0960e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "jobName": "j1" + }, + "responses": { + "200": { + "body": { + "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16", + "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs", + "properties": { + "jobName": "j1", + "source": { + "tableName": "table", + "keyspaceName": "keyspace", + "component": "CosmosDBCassandra" + }, + "destination": { + "component": "AzureBlobStorage", + "endpointUrl": "https://blob.windows.net", + "containerName": "blob_container" + }, + "status": "Completed", + "processedCount": 50, + "totalCount": 50, + "lastUpdatedUtcTime": "2021-06-12T12:04:23.1530000Z", + "duration": "01:23:56" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobPause.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobPause.json new file mode 100644 index 000000000000..c1c32cc533b2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobPause.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "jobName": "j1" + }, + "responses": { + "200": { + "body": { + "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16", + "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs", + "properties": { + "jobName": "j1", + "source": { + "tableName": "table", + "keyspaceName": "keyspace", + "component": "CosmosDBCassandra" + }, + "destination": { + "component": "AzureBlobStorage", + "containerName": "blob_container", + "endpointUrl": "https://blob.windows.net" + }, + "status": "Paused", + "processedCount": 20, + "totalCount": 100, + "lastUpdatedUtcTime": "2021-06-12T11:10:55.2780000Z", + "duration": "00:11:25" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobResume.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobResume.json new file mode 100644 index 000000000000..ca1f72585ad5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobResume.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2023-11-15-preview", + "subscriptionId": "subid", + "jobName": "j1" + }, + "responses": { + "200": { + "body": { + "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16", + "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs", + "properties": { + "jobName": "j1", + "source": { + "tableName": "table", + "keyspaceName": "keyspace", + "component": "CosmosDBCassandra" + }, + "destination": { + "component": "AzureBlobStorage", + "containerName": "blob_container", + "endpointUrl": "https://blob.windows.net" + }, + "status": "Pending", + "processedCount": 20, + "totalCount": 100, + "lastUpdatedUtcTime": "2021-06-12T11:10:55.2780000Z", + "duration": "00:21:50" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterAddNode.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterAddNode.json new file mode 100644 index 000000000000..4e6b48a4b05a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterAddNode.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2023-11-15-preview", + "parameters": { + "properties": { + "nodeGroupSpecs": [ + { + "kind": "Shard", + "nodeCount": 4 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 4 + } + ], + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/operationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterCreate.json new file mode 100644 index 000000000000..142bf7ee8055 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterCreate.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2023-11-15-preview", + "parameters": { + "location": "westus2", + "properties": { + "administratorLogin": "mongoAdmin", + "administratorLoginPassword": "password", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ], + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "InProgress", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ], + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterCreatePITR.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterCreatePITR.json new file mode 100644 index 000000000000..73cf726a6c51 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterCreatePITR.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2023-11-15-preview", + "parameters": { + "location": "westus2", + "properties": { + "createMode": "PointInTimeRestore", + "restoreParameters": { + "pointInTimeUTC": "2023-01-13T20:07:35Z", + "sourceResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myOtherMongoCluster" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ], + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 3 + } + ], + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterDelete.json new file mode 100644 index 000000000000..9f088fa92c2a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2023-11-15-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/operationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleCreate.json new file mode 100644 index 000000000000..5e1ce4378a63 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "firewallRuleName": "rule1", + "api-version": "2023-11-15-preview", + "parameters": { + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule1", + "name": "rule1", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule1", + "name": "rule1", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "InProgress", + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleDelete.json new file mode 100644 index 000000000000..797cf160c17e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "firewallRuleName": "rule1", + "api-version": "2023-11-15-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/operationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleGet.json new file mode 100644 index 000000000000..bb60cf9fb7c4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "firewallRuleName": "rule1", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule1", + "name": "rule1", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleList.json new file mode 100644 index 000000000000..511d397688b2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules?api-version=2023-11-15-preview&$top=3&$skiptoken=skiptoken", + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule1", + "name": "rule1", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster/firewallRules/rule2", + "name": "rule2", + "type": "/Microsoft.DocumentDB/mongoClusters/firewallRules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startIpAddress": "1.0.0.0", + "endIpAddress": "255.0.0.0" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterGet.json new file mode 100644 index 000000000000..cab2ab01e447 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 4 + } + ], + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterList.json new file mode 100644 index 000000000000..cb20adfc060b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterList.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//providers/Microsoft.DocumentDB/mongoClusters?api-version=2023-11-15-preview&$top=3&$skiptoken=skiptoken", + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 4 + } + ], + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster2", + "name": "myMongoCluster2", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string" + }, + "systemData": { + "createdBy": "user2", + "createdByType": "User", + "createdAt": "2020-02-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M40", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 2 + } + ], + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-10T20:07:35Z" + }, + "location": "eastus" + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterListByResourceGroup.json new file mode 100644 index 000000000000..1b146a8d0e2f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterListByResourceGroup.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//providers/Microsoft.DocumentDB/mongoClusters?api-version=2023-11-15-preview&$top=3&$skiptoken=skiptoken", + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M30", + "diskSizeGB": 128, + "enableHa": true, + "nodeCount": 4 + } + ], + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster2", + "name": "myMongoCluster2", + "type": "/Microsoft.DocumentDB/mongoClusters", + "tags": { + "additionalProp1": "string" + }, + "systemData": { + "createdBy": "user2", + "createdByType": "User", + "createdAt": "2020-02-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M40", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 2 + } + ], + "connectionString": "mongodb+srv://:@myMongoCluster2.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-10T20:07:35Z" + }, + "location": "eastus" + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterListConnectionStrings.json new file mode 100644 index 000000000000..f06349152796 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterListConnectionStrings.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2023-11-15-preview" + }, + "responses": { + "200": { + "body": { + "connectionStrings": [ + { + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "description": "default connection string" + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterNameAvailability.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterNameAvailability.json new file mode 100644 index 000000000000..18b6a43bf993 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "location": "westus2", + "api-version": "2023-11-15-preview", + "parameters": { + "name": "newmongocluster", + "type": "Microsoft.DocumentDB/mongoClusters" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterNameAvailability_AlreadyExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterNameAvailability_AlreadyExists.json new file mode 100644 index 000000000000..07cc39068f2a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterNameAvailability_AlreadyExists.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "location": "westus2", + "api-version": "2023-11-15-preview", + "parameters": { + "name": "existingmongocluster", + "type": "Microsoft.DocumentDB/mongoClusters" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Cluster name 'existingmongocluster' is already in use." + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterUpdate.json new file mode 100644 index 000000000000..af82a383a5c9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/mongo-cluster/CosmosDBMongoClusterUpdate.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestResourceGroup", + "mongoClusterName": "myMongoCluster", + "api-version": "2023-11-15-preview", + "parameters": { + "properties": { + "administratorLogin": "mongoAdmin", + "administratorLoginPassword": "password", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M50", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 4 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myMongoCluster", + "name": "myMongoCluster", + "type": "/Microsoft.DocumentDB/mongoClusters", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "administratorLogin": "mongoAdmin", + "serverVersion": "5.0", + "nodeGroupSpecs": [ + { + "kind": "Shard", + "sku": "M50", + "diskSizeGB": 256, + "enableHa": true, + "nodeCount": 4 + } + ], + "connectionString": "mongodb+srv://:@myMongoCluster.mongocluster.cosmos.azure.com", + "earliestRestoreTime": "2023-01-13T20:07:35Z" + }, + "location": "westus2" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/locations/westus2/operationResults/f6a27306-3ee3-4e6b-997d-3ba2024b85e6?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolAccountCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolAccountCreate.json new file mode 100644 index 000000000000..86884e3a2e40 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolAccountCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "rg1", + "throughputPoolName": "tp1", + "throughputPoolAccountName": "db1", + "body": { + "properties": { + "accountLocation": "West US", + "accountResourceIdentifier": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DocumentDB/resourceGroup/rg1/databaseAccounts/db1/" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/throughputPools/tp1/throughputPoolAccounts/db1", + "properties": { + "provisioningState": "Succeeded", + "accountResourceIdentifier": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/db1", + "accountLocation": "west us", + "accountInstanceId": "{instance-id1}" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/throughputPools/tp1/throughputPoolAccounts/db1", + "properties": { + "provisioningState": "Succeeded", + "accountResourceIdentifier": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/db1", + "accountLocation": "west us", + "accountInstanceId": "{instance-id1}" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolAccountDelete.json new file mode 100644 index 000000000000..aacd6348b1ac --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolAccountDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "rgName", + "throughputPoolName": "tp1", + "throughputPoolAccountName": "db1" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolAccountGet.json new file mode 100644 index 000000000000..577be0abde0e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolAccountGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "rgName", + "throughputPoolName": "tp1", + "throughputPoolAccountName": "db1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/throughputPools/tp1/throughputPoolAccounts/db1", + "properties": { + "provisioningState": "Succeeded", + "accountResourceIdentifier": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/db1", + "accountLocation": "west us", + "accountInstanceId": "{instance-id}" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolAccountsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolAccountsList.json new file mode 100644 index 000000000000..0e3ca73619ce --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolAccountsList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "rgName", + "throughputPoolName": "tp1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/throughputPools/tp1/throughputPoolAccounts/db1", + "properties": { + "accountResourceIdentifier": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/db1", + "accountLocation": "west us", + "accountInstanceId": "{instance-id1}" + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/throughputPools/tp1/throughputPoolAccounts/db2", + "properties": { + "accountResourceIdentifier": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/db2", + "accountLocation": "west us", + "accountInstanceId": "{instance-id2}" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolCreate.json new file mode 100644 index 000000000000..1d0cd741145d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolCreate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "rg1", + "throughputPoolName": "tp1", + "body": { + "location": "westus2", + "tags": {}, + "properties": { + "maxThroughput": 10000 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/throughputPools/tp1", + "name": "tp1", + "type": "/Microsoft.DocumentDB/throughputPools", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "location": "westus2", + "properties": { + "provisioningState": "Succeeded", + "maxThroughput": 10000 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/throughputPools/tp1", + "name": "tp1", + "type": "/Microsoft.DocumentDB/throughputPools", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "location": "westus2", + "properties": { + "provisioningState": "Succeeded", + "maxThroughput": 10000 + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolDelete.json new file mode 100644 index 000000000000..7dcc4043f002 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "rgName", + "throughputPoolName": "tp1" + }, + "responses": { + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolGet.json new file mode 100644 index 000000000000..3324cbbaa1c8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "rgName", + "throughputPoolName": "tp1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/throughputPools/tp1", + "name": "tp1", + "type": "/Microsoft.DocumentDB/throughputPools", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "location": "west us", + "properties": { + "maxThroughput": 10000 + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolList.json new file mode 100644 index 000000000000..0ad706ad3e1b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "rgName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/throughputPools/tp1", + "name": "tp1", + "type": "/Microsoft.DocumentDB/throughputPools", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "location": "west us", + "properties": { + "maxThroughput": 10000 + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/throughputPools/tp2", + "name": "tp2", + "type": "/Microsoft.DocumentDB/throughputPools", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "location": "west us", + "properties": { + "maxThroughput": 10000 + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolUpdate.json new file mode 100644 index 000000000000..67b609d062ce --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/examples/throughputPool/CosmosDBThroughputPoolUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-11-15-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "rg1", + "throughputPoolName": "tp1", + "body": { + "properties": { + "maxThroughput": 10000 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/rg1/providers/Microsoft.DocumentDB/throughputPools/tp1", + "name": "tp1", + "type": "/Microsoft.DocumentDB/throughputPools", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "location": "westus2", + "properties": { + "provisioningState": "Succeeded", + "maxThroughput": 10000 + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview", + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/operationsStatus/{operationId}?api-version=2023-11-15-preview" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/managedCassandra.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/managedCassandra.json new file mode 100644 index 000000000000..ee72d9979f0e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/managedCassandra.json @@ -0,0 +1,1873 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB - Managed Cassandra", + "description": "Azure Cosmos DB Database Service Managed Cassandra REST API", + "version": "2023-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/cassandraClusters": { + "get": { + "operationId": "CassandraClusters_ListBySubscription", + "description": "List all managed Cassandra clusters in this subscription.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterListBySubscription": { + "$ref": "./examples/CosmosDBManagedCassandraClusterListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed Cassandra clusters.", + "schema": { + "$ref": "#/definitions/ListClusters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters": { + "get": { + "operationId": "CassandraClusters_ListByResourceGroup", + "description": "List all managed Cassandra clusters in this resource group.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterListByResourceGroup": { + "$ref": "./examples/CosmosDBManagedCassandraClusterListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed Cassandra clusters.", + "schema": { + "$ref": "#/definitions/ListClusters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}": { + "get": { + "operationId": "CassandraClusters_Get", + "description": "Get the properties of a managed Cassandra cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterGet": { + "$ref": "./examples/CosmosDBManagedCassandraClusterGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the managed Cassandra cluster were retrieved successfully.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "CassandraClusters_Delete", + "description": "Deletes a managed Cassandra cluster.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterDelete": { + "$ref": "./examples/CosmosDBManagedCassandraClusterDelete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The managed Cassandra cluster will be deleted asynchronously." + }, + "204": { + "description": "No such cluster to delete." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "CassandraClusters_CreateUpdate", + "description": "Create or update a managed Cassandra cluster. When updating, you must specify all writable properties. To update only some properties, use PATCH.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterCreate": { + "$ref": "./examples/CosmosDBManagedCassandraClusterCreate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterResource" + }, + "description": "The properties specifying the desired state of the managed Cassandra cluster." + } + ], + "responses": { + "200": { + "description": "The managed Cassandra cluster is being updated. Poll for provisioningState=Succeeded to find when creation completes.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "201": { + "description": "The managed Cassandra cluster is being created. Poll for provisioningState=Succeeded to find when creation completes.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "operationId": "CassandraClusters_Update", + "description": "Updates some of the properties of a managed Cassandra cluster.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterPatch": { + "$ref": "./examples/CosmosDBManagedCassandraClusterPatch.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterResource" + }, + "description": "Parameters to provide for specifying the managed Cassandra cluster." + } + ], + "responses": { + "202": { + "description": "The managed Cassandra cluster is being updated. Poll the provided operation for completion.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "200": { + "description": "Completed synchronously. This will only happen if the fields changed by patch require no changes to the actual Cassandra data center.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/invokeCommand": { + "post": { + "operationId": "CassandraClusters_InvokeCommand", + "description": "Invoke a command like nodetool for cassandra maintenance ", + "x-ms-examples": { + "CosmosDBManagedCassandraCommand": { + "$ref": "./examples/CosmosDBManagedCassandraCommand.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CommandPostBody" + }, + "description": "Specification which command to run where" + } + ], + "responses": { + "202": { + "description": "Success. The command operation will begin as soon as possible.", + "schema": { + "$ref": "#/definitions/CommandOutput" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/invokeCommandAsync": { + "post": { + "operationId": "CassandraClusters_InvokeCommandAsync", + "description": "Invoke a command like nodetool for cassandra maintenance asynchronously", + "x-ms-examples": { + "CosmosDBManagedCassandraCommandAsync": { + "$ref": "./examples/CosmosDBManagedCassandraCommandAsync.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CommandPostBody" + }, + "description": "Specification which command to run where" + } + ], + "responses": { + "200": { + "description": "The command operation was completed successfully.", + "schema": { + "$ref": "#/definitions/CommandPublicResource" + } + }, + "202": { + "description": "Success. The command operation will begin as soon as possible.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/commands": { + "get": { + "operationId": "CassandraClusters_ListCommand", + "description": "List all commands currently running on ring info", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraListCommand": { + "$ref": "./examples/CosmosDBManagedCassandraListCommand.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of shell commands.", + "schema": { + "$ref": "#/definitions/ListCommands" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/commands/{commandId}": { + "get": { + "operationId": "CassandraClusters_GetCommandAsync", + "description": "Get details about a specified command that was run asynchronously.", + "x-ms-examples": { + "CosmosDBManagedCassandraCommandResult": { + "$ref": "./examples/CosmosDBManagedCassandraCommandResult.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/commandId" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. Return a command resource.", + "schema": { + "$ref": "#/definitions/ListCommands" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups": { + "get": { + "operationId": "CassandraClusters_ListBackups", + "description": "List the backups of this cluster that are available to restore.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraBackupsList": { + "$ref": "./examples/CosmosDBManagedCassandraBackupsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of restorable backups for this Cassandra cluster.", + "schema": { + "$ref": "#/definitions/ListBackups" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups/{backupId}": { + "get": { + "operationId": "CassandraClusters_GetBackup", + "description": "Get the properties of an individual backup of this cluster that is available to restore.", + "x-ms-examples": { + "CosmosDBManagedCassandraBackup": { + "$ref": "./examples/CosmosDBManagedCassandraBackup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/backupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the properties of the backup.", + "schema": { + "$ref": "#/definitions/BackupResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters": { + "get": { + "operationId": "CassandraDataCenters_List", + "description": "List all data centers in a particular managed Cassandra cluster.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterList": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed Cassandra data centers.", + "schema": { + "$ref": "#/definitions/ListDataCenters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}": { + "get": { + "operationId": "CassandraDataCenters_Get", + "description": "Get the properties of a managed Cassandra data center.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterGet": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the managed Cassandra data center were retrieved successfully.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "CassandraDataCenters_Delete", + "description": "Delete a managed Cassandra data center.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterDelete": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterDelete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. Deletion will complete asynchronously." + }, + "204": { + "description": "Cassandra cluster with the specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "CassandraDataCenters_CreateUpdate", + "description": "Create or update a managed Cassandra data center. When updating, overwrite all properties. To update only some properties, use PATCH.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterCreate": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterCreate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataCenterResource" + }, + "description": "Parameters specifying the managed Cassandra data center." + } + ], + "responses": { + "201": { + "description": "Accepted. The data center will be created asynchronously.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "200": { + "description": "Accepted. The data center will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "operationId": "CassandraDataCenters_Update", + "description": "Update some of the properties of a managed Cassandra data center.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterUpdate": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterPatch.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataCenterResource" + }, + "description": "Parameters to provide for specifying the managed Cassandra data center." + } + ], + "responses": { + "202": { + "description": "Accepted. Update will proceed asynchronously.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "200": { + "description": "Completed synchronously. This will only happen if the fields changed by patch require no changes to the actual Cassandra cluster, such as editing the tags.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/deallocate": { + "post": { + "operationId": "CassandraClusters_Deallocate", + "description": "Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will deallocate the host virtual machine of this cluster, and reserved the data disk. This won't do anything on an already deallocated cluster. Use Start to restart the cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterDeallocate": { + "$ref": "./examples/CosmosDBManagedCassandraClusterDeallocate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/forceDeallocate" + } + ], + "responses": { + "202": { + "description": "Cluster deallocated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/start": { + "post": { + "operationId": "CassandraClusters_Start", + "description": "Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host virtual machine of this cluster with reserved data disk. This won't do anything on an already running cluster. Use Deallocate to deallocate the cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterStart": { + "$ref": "./examples/CosmosDBManagedCassandraClusterStart.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Enqueued Operation to start the cluster." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/status": { + "get": { + "operationId": "CassandraClusters_Status", + "description": "Gets the CPU, memory, and disk usage statistics for each Cassandra node in a cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraStatus": { + "$ref": "./examples/CosmosDBManagedCassandraStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully fetched the usage statistics of all nodes in the cluster.", + "schema": { + "$ref": "#/definitions/CassandraClusterPublicStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "clusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Managed Cassandra cluster name.", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$" + }, + "commandId": { + "name": "commandId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Managed Cassandra cluster command id.", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$" + }, + "forceDeallocate": { + "name": "x-ms-force-deallocate", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Force to deallocate a cluster of Cluster Type Production. Force to deallocate a cluster of Cluster Type Production might cause data loss" + }, + "dataCenterNameParameter": { + "name": "dataCenterName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Data center name in a managed Cassandra cluster.", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$" + }, + "backupNameParameter": { + "name": "backupId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Id of a restorable backup of a Cassandra cluster.", + "minLength": 1, + "maxLength": 15, + "pattern": "^[0-9]+$" + } + }, + "definitions": { + "ListClusters": { + "description": "List of managed Cassandra clusters.", + "readOnly": true, + "type": "object", + "properties": { + "value": { + "description": "Container for the array of clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterResource" + } + } + } + }, + "ManagedCassandraARMResourceProperties": { + "type": "object", + "description": "The core properties of ARM resources.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "tags": { + "$ref": "cosmos-db.json#/definitions/Tags" + }, + "identity": { + "$ref": "#/definitions/ManagedCassandraManagedServiceIdentity" + } + }, + "x-ms-azure-resource": true + }, + "ManagedCassandraManagedServiceIdentity": { + "description": "Identity for the resource.", + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The object id of the identity resource." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the resource." + }, + "type": { + "type": "string", + "description": "The type of the resource.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ManagedCassandraResourceIdentityType", + "modelAsString": true + } + } + } + }, + "ManagedCassandraProvisioningState": { + "description": "The status of the resource at the time the operation was called.", + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ManagedCassandraProvisioningState", + "modelAsString": true + } + }, + "ClusterResource": { + "description": "Representation of a managed Cassandra cluster.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ManagedCassandraARMResourceProperties" + } + ], + "properties": { + "properties": { + "type": "object", + "description": "Properties of a managed Cassandra cluster.", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ManagedCassandraProvisioningState" + }, + "restoreFromBackupId": { + "type": "string", + "x-ms-mutability": [ + "create" + ], + "description": "To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup." + }, + "delegatedManagementSubnetId": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'" + }, + "cassandraVersion": { + "type": "string", + "description": "Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version." + }, + "clusterNameOverride": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property." + }, + "authenticationMethod": { + "type": "string", + "description": "Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'.", + "enum": [ + "None", + "Cassandra", + "Ldap" + ], + "x-ms-enum": { + "name": "AuthenticationMethod", + "modelAsString": true + } + }, + "initialCassandraAdminPassword": { + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true, + "description": "Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'.", + "type": "string" + }, + "prometheusEndpoint": { + "$ref": "#/definitions/SeedNode", + "description": "Hostname or IP address where the Prometheus endpoint containing data about the managed Cassandra nodes can be reached." + }, + "repairEnabled": { + "type": "boolean", + "description": "Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs." + }, + "autoReplicate": { + "type": "string", + "description": "The form of AutoReplicate that is being used by this cluster.", + "enum": [ + "None", + "SystemKeyspaces", + "AllKeyspaces" + ], + "x-ms-enum": { + "name": "AutoReplicate", + "modelAsString": true + } + }, + "clientCertificates": { + "description": "List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "externalGossipCertificates": { + "description": "List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "gossipCertificates": { + "readOnly": true, + "x-ms-mutability": [ + "read" + ], + "description": "List of TLS certificates that unmanaged nodes must trust for gossip with managed nodes. All managed nodes will present TLS client certificates that are verifiable using one of the certificates provided in this property.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "externalSeedNodes": { + "type": "array", + "description": "List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes.", + "items": { + "$ref": "#/definitions/SeedNode" + } + }, + "seedNodes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SeedNode" + }, + "description": "List of IP addresses of seed nodes in the managed data centers. These should be added to the seed node lists of all unmanaged nodes." + }, + "externalDataCenters": { + "type": "array", + "description": "List of the data center names for unmanaged data centers in this cluster to be included in auto-replication.", + "items": { + "type": "string" + } + }, + "hoursBetweenBackups": { + "type": "integer", + "format": "int32", + "description": "(Deprecated) Number of hours to wait between taking a backup of the cluster." + }, + "deallocated": { + "type": "boolean", + "description": "Whether the cluster and associated data centers has been deallocated." + }, + "cassandraAuditLoggingEnabled": { + "type": "boolean", + "description": "Whether Cassandra audit logging is enabled" + }, + "clusterType": { + "type": "string", + "description": "Type of the cluster. If set to Production, some operations might not be permitted on cluster.", + "enum": [ + "Production", + "NonProduction" + ], + "x-ms-enum": { + "name": "ClusterType", + "modelAsString": true + } + }, + "provisionError": { + "$ref": "#/definitions/CassandraError", + "description": "Error related to resource provisioning." + }, + "extensions": { + "type": "array", + "description": "Extensions to be added or updated on cluster.", + "items": { + "type": "string" + } + }, + "backupSchedules": { + "type": "array", + "items": { + "$ref": "#/definitions/BackupSchedule" + }, + "description": "List of backup schedules that define when you want to back up your data." + }, + "scheduledEventStrategy": { + "type": "string", + "description": "How the nodes in the cluster react to scheduled events", + "enum": [ + "Ignore", + "StopAny", + "StopByRack" + ], + "x-ms-enum": { + "name": "ScheduledEventStrategy", + "modelAsString": true + } + }, + "azureConnectionMethod": { + "type": "string", + "description": "How to connect to the azure services needed for running the cluster", + "enum": [ + "None", + "VPN" + ], + "x-ms-enum": { + "name": "AzureConnectionType", + "modelAsString": true + } + }, + "privateLinkResourceId": { + "type": "string", + "readOnly": true, + "description": "If the Connection Method is Vpn, this is the Id of the private link resource that the datacenters need to connect to." + } + } + } + } + }, + "ManagedCassandraNodeStatus": { + "type": "string", + "description": "Indicates whether the node is functioning or not.", + "enum": [ + "Up", + "Down" + ], + "x-ms-enum": { + "name": "NodeStatus", + "modelAsString": true + } + }, + "ManagedCassandraNodeState": { + "type": "string", + "description": "The state of the node in Cassandra ring.", + "enum": [ + "Normal", + "Leaving", + "Joining", + "Moving", + "Stopped" + ], + "x-ms-enum": { + "name": "NodeState", + "modelAsString": true + } + }, + "CassandraClusterPublicStatus": { + "type": "object", + "description": "Properties of a managed Cassandra cluster public status.", + "properties": { + "eTag": { + "type": "string" + }, + "reaperStatus": { + "$ref": "#/definitions/ManagedCassandraReaperStatus" + }, + "connectionErrors": { + "type": "array", + "description": "List relevant information about any connection errors to the Datacenters.", + "items": { + "$ref": "#/definitions/ConnectionError" + } + }, + "errors": { + "type": "array", + "description": "List relevant information about any errors about cluster, data center and connection error.", + "items": { + "$ref": "#/definitions/CassandraError" + } + }, + "dataCenters": { + "type": "array", + "description": "List of the status of each datacenter in this cluster.", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of this Datacenter." + }, + "seedNodes": { + "type": "array", + "description": "A list of all seed nodes in the cluster, managed and unmanaged.", + "items": { + "type": "string" + } + }, + "nodes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The node's IP address." + }, + "state": { + "$ref": "#/definitions/ManagedCassandraNodeState" + }, + "status": { + "type": "string" + }, + "cassandraProcessStatus": { + "type": "string", + "description": "Cassandra service status on this node" + }, + "load": { + "type": "string", + "description": "The amount of file system data in the data directory (e.g., 47.66 kB), excluding all content in the snapshots subdirectories. Because all SSTable data files are included, any data that is not cleaned up (such as TTL-expired cells or tombstones) is counted." + }, + "tokens": { + "type": "array", + "description": "List of tokens this node covers.", + "items": { + "type": "string" + } + }, + "size": { + "type": "integer", + "format": "int32" + }, + "hostID": { + "description": "The network ID of the node.", + "type": "string" + }, + "rack": { + "description": "The rack this node is part of.", + "type": "string" + }, + "timestamp": { + "description": "The timestamp when these statistics were captured.", + "type": "string" + }, + "diskUsedKB": { + "description": "The amount of disk used, in kB, of the directory /var/lib/cassandra.", + "type": "integer", + "format": "int64" + }, + "diskFreeKB": { + "description": "The amount of disk free, in kB, of the directory /var/lib/cassandra.", + "type": "integer", + "format": "int64" + }, + "memoryUsedKB": { + "description": "Used memory (calculated as total - free - buffers - cache), in kB.", + "type": "integer", + "format": "int64" + }, + "memoryBuffersAndCachedKB": { + "description": "Memory used by kernel buffers (Buffers in /proc/meminfo) and page cache and slabs (Cached and SReclaimable in /proc/meminfo), in kB.", + "type": "integer", + "format": "int64" + }, + "memoryFreeKB": { + "description": "Unused memory (MemFree and SwapFree in /proc/meminfo), in kB.", + "type": "integer", + "format": "int64" + }, + "memoryTotalKB": { + "description": "Total installed memory (MemTotal and SwapTotal in /proc/meminfo), in kB.", + "type": "integer", + "format": "int64" + }, + "cpuUsage": { + "description": "A float representing the current system-wide CPU utilization as a percentage.", + "type": "number", + "format": "double" + }, + "isLatestModel": { + "type": "boolean", + "description": "If node has been updated to latest model" + } + } + } + } + } + } + } + } + }, + "ManagedCassandraReaperStatus": { + "type": "object", + "properties": { + "healthy": { + "type": "boolean" + }, + "repairRunIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "repairSchedules": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ConnectionError": { + "type": "object", + "properties": { + "connectionState": { + "description": "The kind of connection error that occurred.", + "type": "string", + "enum": [ + "Unknown", + "OK", + "OperatorToDataCenterNetworkError", + "DatacenterToDatacenterNetworkError", + "InternalOperatorToDataCenterCertificateError", + "InternalError" + ], + "x-ms-enum": { + "name": "ConnectionState", + "modelAsString": true + } + }, + "iPFrom": { + "description": "The IP of host that originated the failed connection.", + "type": "string" + }, + "iPTo": { + "description": "The IP that the connection attempted to reach.", + "type": "string" + }, + "port": { + "description": "The TCP port the connection was attempted on.", + "type": "integer", + "format": "int32" + }, + "exception": { + "description": "Detailed error message about the failed connection.", + "type": "string" + } + } + }, + "CassandraError": { + "type": "object", + "properties": { + "code": { + "description": "The code of error that occurred.", + "type": "string" + }, + "message": { + "description": "The message of the error.", + "type": "string" + }, + "target": { + "description": "The target resource of the error.", + "type": "string" + }, + "additionalErrorInfo": { + "description": "Additional information about the error.", + "type": "string" + } + } + }, + "CommandPostBody": { + "description": "Specification of which command to run where", + "type": "object", + "required": [ + "command", + "host" + ], + "properties": { + "command": { + "type": "string", + "description": "The command which should be run" + }, + "arguments": { + "type": "object", + "description": "The arguments for the command to be run" + }, + "host": { + "type": "string", + "description": "IP address of the cassandra host to run the command on" + }, + "cassandra-stop-start": { + "type": "boolean", + "description": "If true, stops cassandra before executing the command and then start it again" + }, + "readWrite": { + "type": "boolean", + "description": "If true, allows the command to *write* to the cassandra directory, otherwise read-only." + } + } + }, + "CommandPublicResource": { + "description": "resource representing a command", + "type": "object", + "properties": { + "command": { + "type": "string", + "description": "The command which should be run" + }, + "commandId": { + "type": "string", + "description": "The unique id of command" + }, + "arguments": { + "type": "object", + "description": "The arguments for the command to be run" + }, + "host": { + "type": "string", + "description": "IP address of the cassandra host to run the command on" + }, + "isAdmin": { + "type": "boolean", + "description": "Whether command has admin privileges" + }, + "cassandraStopStart": { + "type": "boolean", + "description": "If true, stops cassandra before executing the command and then start it again" + }, + "readWrite": { + "type": "boolean", + "description": "If true, allows the command to *write* to the cassandra directory, otherwise read-only." + }, + "result": { + "type": "string", + "description": "Result output of the command." + }, + "status": { + "type": "string", + "description": "Status of the command.", + "enum": [ + "Done", + "Running", + "Enqueue", + "Processing", + "Finished", + "Failed" + ], + "x-ms-enum": { + "name": "CommandStatus", + "modelAsString": true + } + }, + "outputFile": { + "type": "string", + "description": "The name of the file where the result is written." + } + } + }, + "ListCommands": { + "description": "List of commands for cluster.", + "type": "object", + "properties": { + "value": { + "description": "Container for array of commands.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CommandPublicResource" + } + } + } + }, + "CommandOutput": { + "description": "Response of /command api", + "type": "object", + "properties": { + "commandOutput": { + "type": "string", + "description": "Output of the command." + } + } + }, + "ListDataCenters": { + "description": "List of managed Cassandra data centers and their properties.", + "type": "object", + "properties": { + "value": { + "description": "Container for array of data centers.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/DataCenterResource" + } + } + } + }, + "BackupResource": { + "description": "A restorable backup of a Cassandra cluster.", + "type": "object", + "properties": { + "backupId": { + "description": "The unique identifier of backup.", + "type": "string" + }, + "backupState": { + "description": "The current state of the backup.", + "type": "string", + "enum": [ + "Initiated", + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "BackupState", + "modelAsString": true + } + }, + "backupStartTimestamp": { + "description": "The time at which the backup process begins.", + "type": "string", + "format": "date-time" + }, + "backupStopTimestamp": { + "description": "The time at which the backup process ends.", + "type": "string", + "format": "date-time" + }, + "backupExpiryTimestamp": { + "description": "The time at which the backup will expire.", + "type": "string", + "format": "date-time" + } + } + }, + "ListBackups": { + "description": "List of restorable backups for a Cassandra cluster.", + "type": "object", + "properties": { + "value": { + "description": "Container for array of backups.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BackupResource" + } + } + } + }, + "SeedNode": { + "type": "object", + "properties": { + "ipAddress": { + "description": "IP address of this seed node.", + "type": "string" + } + } + }, + "Certificate": { + "type": "object", + "properties": { + "pem": { + "description": "PEM formatted public key.", + "type": "string" + } + } + }, + "BackupSchedule": { + "type": "object", + "properties": { + "scheduleName": { + "description": "The unique identifier of backup schedule.", + "type": "string" + }, + "cronExpression": { + "description": "The cron expression that defines when you want to back up your data.", + "type": "string" + }, + "retentionInHours": { + "description": "The retention period (hours) of the backups. If you want to retain data forever, set retention to 0.", + "type": "integer", + "format": "int32" + } + } + }, + "DataCenterResource": { + "description": "A managed Cassandra data center.", + "type": "object", + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "properties": { + "properties": { + "description": "Properties of a managed Cassandra data center.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ManagedCassandraProvisioningState" + }, + "dataCenterLocation": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "The region this data center should be created in." + }, + "delegatedSubnetId": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "Resource id of a subnet the nodes in this data center should have their network interfaces connected to. The subnet must be in the same region specified in 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's 'delegatedManagementSubnetId' property. This resource id will be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'." + }, + "nodeCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes the data center should have. This is the desired number. After it is set, it may take some time for the data center to be scaled to match. To monitor the number of nodes and their status, use the fetchNodeStatus method on the cluster." + }, + "seedNodes": { + "readOnly": true, + "type": "array", + "description": "IP addresses for seed nodes in this data center. This is for reference. Generally you will want to use the seedNodes property on the cluster, which aggregates the seed nodes from all data centers in the cluster.", + "items": { + "$ref": "#/definitions/SeedNode" + } + }, + "base64EncodedCassandraYamlFragment": { + "type": "string", + "description": "A fragment of a cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this data center. The fragment should be Base64 encoded, and only a subset of keys are allowed." + }, + "managedDiskCustomerKeyUri": { + "type": "string", + "description": "Key uri to use for encryption of managed disks. Ensure the system assigned identity of the cluster has been assigned appropriate permissions(key get/wrap/unwrap permissions) on the key." + }, + "backupStorageCustomerKeyUri": { + "type": "string", + "description": "Indicates the Key Uri of the customer key to use for encryption of the backup storage account." + }, + "sku": { + "type": "string", + "description": "Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2" + }, + "diskSku": { + "type": "string", + "description": "Disk SKU used for data centers. Default value is P30." + }, + "diskCapacity": { + "type": "integer", + "format": "int32", + "description": "Number of disks attached to each node. Default is 4." + }, + "availabilityZone": { + "type": "boolean", + "description": "If the data center has Availability Zone support, apply it to the Virtual Machine ScaleSet that host the cassandra data center virtual machines." + }, + "authenticationMethodLdapProperties": { + "$ref": "#/definitions/AuthenticationMethodLdapProperties" + }, + "deallocated": { + "type": "boolean", + "description": "Whether the data center has been deallocated." + }, + "provisionError": { + "$ref": "#/definitions/CassandraError", + "description": "Error related to resource provisioning." + }, + "privateEndpointIpAddress": { + "type": "string", + "description": "Ip of the VPN Endpoint for this data center." + } + } + } + } + }, + "AuthenticationMethodLdapProperties": { + "type": "object", + "description": "Ldap authentication method properties. This feature is in preview.", + "properties": { + "serverHostname": { + "description": "Hostname of the LDAP server.", + "type": "string" + }, + "serverPort": { + "description": "Port of the LDAP server.", + "type": "integer", + "format": "int32" + }, + "serviceUserDistinguishedName": { + "description": "Distinguished name of the look up user account, who can look up user details on authentication.", + "type": "string" + }, + "serviceUserPassword": { + "description": "Password of the look up user.", + "type": "string" + }, + "searchBaseDistinguishedName": { + "description": "Distinguished name of the object to start the recursive search of users from.", + "type": "string" + }, + "searchFilterTemplate": { + "description": "Template to use for searching. Defaults to (cn=%s) where %s will be replaced by the username used to login.", + "type": "string" + }, + "serverCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "connectionTimeoutInMs": { + "description": "Timeout for connecting to the LDAP server in miliseconds. The default is 5000 ms.", + "type": "integer", + "format": "int32" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/mongoCluster.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/mongoCluster.json new file mode 100644 index 000000000000..818a210a0548 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/mongoCluster.json @@ -0,0 +1,988 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Cosmos DB for MongoDB vCore", + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure Cosmos DB for MongoDB vCore resources including clusters and firewall rules.", + "version": "2023-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/mongoClusters": { + "get": { + "tags": [ + "MongoClusters" + ], + "operationId": "MongoClusters_List", + "x-ms-examples": { + "List all the mongo clusters": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterList.json" + } + }, + "description": "List all the mongo clusters in a given subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The mongo clusters were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters": { + "get": { + "tags": [ + "MongoClusters" + ], + "operationId": "MongoClusters_ListByResourceGroup", + "x-ms-examples": { + "List the mongo clusters by resource group": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterListByResourceGroup.json" + } + }, + "description": "List all the mongo clusters in a given resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The mongo clusters were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}": { + "put": { + "description": "Create or update a mongo cluster. Update overwrites all properties for the resource. To only modify some of the properties, use PATCH.", + "tags": [ + "MongoClusters" + ], + "operationId": "MongoClusters_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create a new mongo cluster": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterCreate.json" + }, + "Create a new mongo cluster with point in time restore": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterCreatePITR.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MongoClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MongoCluster" + }, + "description": "The required parameters for creating or updating a mongo cluster." + } + ], + "responses": { + "200": { + "description": "OK. The mongo cluster request has no updates for the resource.", + "schema": { + "$ref": "#/definitions/MongoCluster" + } + }, + "201": { + "description": "The mongo cluster is being created or updated asynchronously. Poll for provisioningState=Succeeded to find when the operation completes.", + "schema": { + "$ref": "#/definitions/MongoCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "description": "Gets information about a mongo cluster.", + "tags": [ + "MongoClusters" + ], + "operationId": "MongoClusters_Get", + "x-ms-examples": { + "Get the mongo cluster": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MongoClusterNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The mongo cluster properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "description": "Deletes a mongo cluster.", + "tags": [ + "MongoClusters" + ], + "operationId": "MongoClusters_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete the mongo cluster": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterDelete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MongoClusterNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The mongo cluster is being deleted asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The mongo cluster does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "description": "Updates an existing mongo cluster. The request body can contain one to many of the properties present in the normal mongo cluster definition.", + "tags": [ + "MongoClusters" + ], + "operationId": "MongoClusters_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Update the mongo cluster": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterUpdate.json" + }, + "Add new shard nodes": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterAddNode.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MongoClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MongoClusterUpdate" + }, + "description": "The parameters for updating a mongo cluster." + } + ], + "responses": { + "200": { + "description": "OK. The request has no changes for the mongo cluster.", + "schema": { + "$ref": "#/definitions/MongoCluster" + } + }, + "202": { + "description": "Accepted. The mongo cluster update will be completed asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName}": { + "put": { + "description": "Creates a new firewall rule or updates an existing firewall rule on a mongo cluster.", + "tags": [ + "FirewallRules" + ], + "operationId": "MongoClusters_CreateOrUpdateFirewallRule", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create a firewall rule of the mongo cluster": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleCreate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MongoClusterNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallRule" + }, + "description": "The required parameters for creating or updating a firewall rule." + } + ], + "responses": { + "200": { + "description": "OK. The firewall request has no updates for the resource.", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "201": { + "description": "The firewall rule is being created or updated asynchronously. Poll for provisioningState=Succeeded to find when the operation completes.", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "description": "Deletes a mongo cluster firewall rule.", + "tags": [ + "FirewallRules" + ], + "operationId": "MongoClusters_DeleteFirewallRule", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete the firewall rule of the mongo cluster": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleDelete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MongoClusterNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + } + ], + "responses": { + "204": { + "description": "No Content. The firewall rule does not exist." + }, + "202": { + "description": "Accepted. The firewall rule is being deleted asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "description": "Gets information about a mongo cluster firewall rule.", + "tags": [ + "FirewallRules" + ], + "operationId": "MongoClusters_GetFirewallRule", + "x-ms-examples": { + "Get the firewall rule of the mongo cluster": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MongoClusterNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The firewall rule was retrieved successfully", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules": { + "get": { + "description": "List all the firewall rules in a given mongo cluster.", + "tags": [ + "FirewallRules" + ], + "operationId": "MongoClusters_ListFirewallRules", + "x-ms-examples": { + "List firewall rules of the mongo cluster": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterFirewallRuleList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MongoClusterNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The firewall rules were retrieved successfully", + "schema": { + "$ref": "#/definitions/FirewallRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/checkMongoClusterNameAvailability": { + "post": { + "description": "Check the availability of name for resource", + "tags": [ + "MongoClusters" + ], + "operationId": "MongoClusters_CheckNameAvailability", + "x-ms-examples": { + "Check name availability": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterNameAvailability.json" + }, + "Check name availability already exists result": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterNameAvailability_AlreadyExists.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/CheckNameAvailabilityRequest" + }, + "description": "The required parameters for checking if resource name is available." + } + ], + "responses": { + "200": { + "description": "OK. Check availability returned successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/listConnectionStrings": { + "post": { + "description": "List mongo cluster connection strings. This includes the default connection string using SCRAM-SHA-256, as well as other connection strings supported by the cluster.", + "tags": [ + "MongoClusterOperations" + ], + "operationId": "MongoClusters_ListConnectionStrings", + "x-ms-examples": { + "Get connection string": { + "$ref": "./examples/mongo-cluster/CosmosDBMongoClusterListConnectionStrings.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MongoClusterNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ListConnectionStringsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ProvisioningState": { + "description": "The provisioning state of the resource.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Updating", + "Dropping" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "MongoClusterStatus": { + "description": "The status of the resource at the time the operation was called.", + "type": "string", + "enum": [ + "Ready", + "Provisioning", + "Updating", + "Starting", + "Stopping", + "Stopped", + "Dropping" + ], + "x-ms-enum": { + "name": "MongoClusterStatus", + "modelAsString": true + }, + "readOnly": true + }, + "MongoClusterListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MongoCluster" + }, + "description": "The list of mongo clusters" + }, + "nextLink": { + "description": "The link used to get the next page of results.", + "type": "string", + "readOnly": true + } + }, + "description": "A list of mongo clusters." + }, + "MongoCluster": { + "type": "object", + "description": "Represents a mongo cluster resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MongoClusterProperties", + "x-ms-client-flatten": true, + "description": "Properties of the mongo cluster." + } + } + }, + "MongoClusterUpdate": { + "type": "object", + "description": "Represents a mongo cluster resource for updates.", + "properties": { + "properties": { + "$ref": "#/definitions/MongoClusterProperties", + "x-ms-client-flatten": true, + "description": "Properties of the mongo cluster." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + } + }, + "MongoClusterProperties": { + "type": "object", + "description": "The properties of a mongo cluster.", + "properties": { + "createMode": { + "type": "string", + "description": "The mode to create a mongo cluster.", + "enum": [ + "Default", + "PointInTimeRestore" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ], + "default": "Default" + }, + "restoreParameters": { + "$ref": "#/definitions/MongoClusterRestoreParameters", + "description": "Parameters used for restore operations", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLogin": { + "type": "string", + "description": "The administrator's login for the mongo cluster.", + "x-ms-mutability": [ + "create", + "update", + "read" + ] + }, + "administratorLoginPassword": { + "type": "string", + "x-ms-secret": true, + "format": "password", + "x-ms-mutability": [ + "create", + "update" + ], + "description": "The password of the administrator login." + }, + "serverVersion": { + "type": "string", + "description": "The Mongo DB server version. Defaults to the latest available version if not specified." + }, + "connectionString": { + "type": "string", + "readOnly": true, + "description": "The default mongo connection string for the cluster." + }, + "earliestRestoreTime": { + "type": "string", + "readOnly": true, + "description": "Earliest restore timestamp in UTC ISO8601 format." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "A provisioning state of the mongo cluster.", + "readOnly": true + }, + "clusterStatus": { + "$ref": "#/definitions/MongoClusterStatus", + "description": "A status of the mongo cluster." + }, + "nodeGroupSpecs": { + "$ref": "#/definitions/NodeGroupSpecList", + "description": "The list of node group specs in the cluster." + } + } + }, + "NodeGroupSpecList": { + "type": "array", + "description": "The list of node group specifications for the cluster. Must include one node group spec with kind = 'Shard'.", + "items": { + "$ref": "#/definitions/NodeGroupSpec" + }, + "x-ms-identifiers": [], + "minItems": 1 + }, + "NodeGroupSpec": { + "type": "object", + "description": "Specification for a node group.", + "allOf": [ + { + "$ref": "#/definitions/NodeGroupProperties" + } + ], + "properties": { + "kind": { + "$ref": "#/definitions/NodeKind", + "description": "The node type deployed in the node group." + }, + "nodeCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes in the node group." + } + } + }, + "NodeKind": { + "type": "string", + "description": "The kind of a node in the mongo cluster.", + "enum": [ + "Shard" + ], + "x-ms-enum": { + "name": "NodeKind", + "modelAsString": true + } + }, + "NodeGroupProperties": { + "type": "object", + "description": "The properties of the node group on a cluster.", + "properties": { + "sku": { + "type": "string", + "description": "The resource sku for the node group. This defines the size of CPU and memory that is provisioned for each node. Example values: 'M30', 'M40'." + }, + "diskSizeGB": { + "type": "integer", + "format": "int64", + "description": "The disk storage size for the node group in GB. Example values: 128, 256, 512, 1024." + }, + "enableHa": { + "type": "boolean", + "description": "Whether high availability is enabled on the node group." + } + } + }, + "FirewallRuleProperties": { + "type": "object", + "description": "The properties of a mongo cluster firewall rule.", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioning state of the firewall rule.", + "readOnly": true + }, + "startIpAddress": { + "type": "string", + "description": "The start IP address of the mongo cluster firewall rule. Must be IPv4 format.", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + }, + "endIpAddress": { + "type": "string", + "description": "The end IP address of the mongo cluster firewall rule. Must be IPv4 format.", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + } + }, + "required": [ + "startIpAddress", + "endIpAddress" + ] + }, + "FirewallRule": { + "type": "object", + "description": "Represents a mongo cluster firewall rule.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FirewallRuleProperties", + "x-ms-client-flatten": true, + "description": "The properties of a firewall rule." + } + }, + "required": [ + "properties" + ] + }, + "FirewallRuleListResult": { + "type": "object", + "description": "A list of firewall rules.", + "properties": { + "value": { + "type": "array", + "description": "The list of firewall rules in a mongo cluster.", + "items": { + "$ref": "#/definitions/FirewallRule" + } + }, + "nextLink": { + "description": "The link used to get the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ConnectionString": { + "type": "object", + "description": "Connection string for the mongo cluster", + "properties": { + "connectionString": { + "readOnly": true, + "type": "string", + "description": "Value of the connection string" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the connection string" + } + } + }, + "ListConnectionStringsResult": { + "type": "object", + "description": "The connection strings for the given mongo cluster.", + "properties": { + "connectionStrings": { + "readOnly": true, + "type": "array", + "description": "An array that contains the connection strings for a mongo cluster.", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/ConnectionString" + } + } + } + }, + "MongoClusterRestoreParameters": { + "type": "object", + "description": "Parameters used for restore operations", + "properties": { + "pointInTimeUTC": { + "type": "string", + "format": "date-time", + "description": "UTC point in time to restore a mongo cluster" + }, + "sourceResourceId": { + "type": "string", + "description": "Resource ID to locate the source cluster to restore" + } + } + } + }, + "parameters": { + "MongoClusterNameParameter": { + "name": "mongoClusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the mongo cluster.", + "minLength": 3, + "maxLength": 40, + "x-ms-parameter-location": "method", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "FirewallRuleNameParameter": { + "name": "firewallRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 80, + "pattern": "^[a-zA-Z0-9][-_.a-zA-Z0-9]*", + "description": "The name of the mongo cluster firewall rule.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/mongorbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/mongorbac.json new file mode 100644 index 000000000000..2bf1fa89cc2b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/mongorbac.json @@ -0,0 +1,616 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB API for MongoDB Role Based Access Control Resource Provider REST API", + "version": "2023-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}": { + "get": { + "operationId": "MongoDBResources_GetMongoRoleDefinition", + "x-ms-examples": { + "CosmosDBMongoRoleDefinitionGet": { + "$ref": "./examples/CosmosDBMongoDBRoleDefinitionGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB Mongo Role Definition with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/mongoRoleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Mongo Role Definition was successfully retrieved.", + "schema": { + "$ref": "#/definitions/MongoRoleDefinitionGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoRoleDefinition", + "x-ms-examples": { + "CosmosDBMongoDBRoleDefinitionCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB Mongo Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/mongoRoleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoRoleDefinitionParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a Role Definition.", + "schema": { + "$ref": "#/definitions/MongoRoleDefinitionCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Mongo Role Definition create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoRoleDefinitionGetResults" + } + }, + "202": { + "description": "The Mongo Role Definition create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoRoleDefinition", + "x-ms-examples": { + "CosmosDBMongoDBRoleDefinitionDelete": { + "$ref": "./examples/CosmosDBMongoDBRoleDefinitionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB Mongo Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/mongoRoleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Mongo Role Definition delete operation was completed successfully." + }, + "202": { + "description": "The Mongo Role Definition delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested Mongo Role Definition does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions": { + "get": { + "operationId": "MongoDBResources_ListMongoRoleDefinitions", + "x-ms-examples": { + "CosmosDBMongoDBRoleDefinitionList": { + "$ref": "./examples/CosmosDBMongoDBRoleDefinitionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB Mongo Role Definitions.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/MongoRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}": { + "get": { + "operationId": "MongoDBResources_GetMongoUserDefinition", + "x-ms-examples": { + "CosmosDBMongoDBUserDefinitionGet": { + "$ref": "./examples/CosmosDBMongoDBUserDefinitionGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB Mongo User Definition with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/mongoUserDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The User Definition was successfully retrieved.", + "schema": { + "$ref": "#/definitions/MongoUserDefinitionGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoUserDefinition", + "x-ms-examples": { + "CosmosDBMongoDBUserDefinitionCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB Mongo User Definition.", + "parameters": [ + { + "$ref": "#/parameters/mongoUserDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoUserDefinitionParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a User Definition.", + "schema": { + "$ref": "#/definitions/MongoUserDefinitionCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The User Definition create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoUserDefinitionGetResults" + } + }, + "202": { + "description": "The User Definition create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoUserDefinition", + "x-ms-examples": { + "CosmosDBMongoDBUserDefinitionDelete": { + "$ref": "./examples/CosmosDBMongoDBUserDefinitionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB Mongo User Definition.", + "parameters": [ + { + "$ref": "#/parameters/mongoUserDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The User Definition delete operation was completed successfully." + }, + "202": { + "description": "The User Definition delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested User Definition does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions": { + "get": { + "operationId": "MongoDBResources_ListMongoUserDefinitions", + "x-ms-examples": { + "CosmosDBMongoDBUserDefinitionList": { + "$ref": "./examples/CosmosDBMongoDBUserDefinitionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB Mongo User Definition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/MongoUserDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "MongoRoleDefinitionResource": { + "type": "object", + "properties": { + "roleName": { + "type": "string", + "description": "A user-friendly name for the Role Definition. Must be unique for the database account." + }, + "type": { + "type": "string", + "enum": [ + "BuiltInRole", + "CustomRole" + ], + "description": "Indicates whether the Role Definition was built-in or user created.", + "x-ms-enum": { + "name": "MongoRoleDefinitionType", + "modelAsString": false + } + }, + "databaseName": { + "type": "string", + "description": "The database name for which access is being granted for this Role Definition." + }, + "privileges": { + "type": "array", + "items": { + "$ref": "#/definitions/Privilege" + }, + "description": "A set of privileges contained by the Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Scopes higher than Database are not enforceable as privilege." + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + }, + "description": "The set of roles inherited by this Role Definition." + } + }, + "description": "Azure Cosmos DB Mongo Role Definition resource object." + }, + "MongoRoleDefinitionCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB Mongo Role Definition.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB Mongo Role Definition.", + "$ref": "#/definitions/MongoRoleDefinitionResource" + } + } + }, + "MongoRoleDefinitionGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MongoRoleDefinitionResource", + "description": "Properties related to the Mongo Role Definition." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB Mongo Role Definition." + }, + "Privilege": { + "type": "object", + "properties": { + "resource": { + "type": "object", + "properties": { + "db": { + "type": "string", + "description": "The database name the role is applied." + }, + "collection": { + "type": "string", + "description": "The collection name the role is applied." + } + }, + "description": "An Azure Cosmos DB Mongo DB Resource." + }, + "actions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of actions that are allowed." + } + }, + "description": "The set of data plane operations permitted through this Role Definition." + }, + "Role": { + "type": "object", + "properties": { + "db": { + "type": "string", + "description": "The database name the role is applied." + }, + "role": { + "type": "string", + "description": "The role name." + } + }, + "description": "The set of roles permitted through this Role Definition." + }, + "MongoRoleDefinitionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MongoRoleDefinitionGetResults" + }, + "description": "List of Mongo Role Definitions and their properties." + } + }, + "description": "The relevant Mongo Role Definitions." + }, + "MongoUserDefinitionResource": { + "type": "object", + "properties": { + "userName": { + "type": "string", + "description": "The user name for User Definition." + }, + "password": { + "type": "string", + "description": "The password for User Definition. Response does not contain user password." + }, + "databaseName": { + "type": "string", + "description": "The database name for which access is being granted for this User Definition." + }, + "customData": { + "type": "string", + "description": "A custom definition for the USer Definition." + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + }, + "description": "The set of roles inherited by the User Definition." + }, + "mechanisms": { + "type": "string", + "description": "The Mongo Auth mechanism. For now, we only support auth mechanism SCRAM-SHA-256." + } + }, + "description": "Azure Cosmos DB Mongo User Definition resource object." + }, + "MongoUserDefinitionCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB Mongo User Definition.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB Mongo User Definition.", + "$ref": "#/definitions/MongoUserDefinitionResource" + } + } + }, + "MongoUserDefinitionGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MongoUserDefinitionResource", + "description": "Properties related to the User Definition." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB User Definition" + }, + "MongoUserDefinitionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MongoUserDefinitionGetResults" + }, + "description": "List of User Definition and their properties" + } + }, + "description": "The relevant User Definition." + } + }, + "parameters": { + "mongoRoleDefinitionIdParameter": { + "name": "mongoRoleDefinitionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The ID for the Role Definition {dbName.roleName}." + }, + "mongoUserDefinitionIdParameter": { + "name": "mongoUserDefinitionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The ID for the User Definition {dbName.userName}." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/notebook.json new file mode 100644 index 000000000000..12c900912108 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/notebook.json @@ -0,0 +1,461 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2023-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces": { + "get": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Gets the notebook workspace resources of an existing Cosmos DB account.", + "operationId": "NotebookWorkspaces_ListByDatabaseAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved notebook workspace resources.", + "schema": { + "$ref": "#/definitions/NotebookWorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceList": { + "$ref": "./examples/CosmosDBNotebookWorkspaceList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}": { + "get": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Gets the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified notebook workspace resource.", + "schema": { + "$ref": "#/definitions/NotebookWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceGet": { + "$ref": "./examples/CosmosDBNotebookWorkspaceGet.json" + } + } + }, + "put": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Creates the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_CreateOrUpdate", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + }, + { + "name": "notebookCreateUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NotebookWorkspaceCreateUpdateParameters" + }, + "description": "The notebook workspace to create for the current database account." + } + ], + "responses": { + "200": { + "description": "Creation of notebook workspace will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NotebookWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceCreate": { + "$ref": "./examples/CosmosDBNotebookWorkspaceCreate.json" + } + } + }, + "delete": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Deletes the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_Delete", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "202": { + "description": "The notebook workspace delete operation will complete asynchronously." + }, + "204": { + "description": "The specified notebook workspace does not exist in the database account." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceDelete": { + "$ref": "./examples/CosmosDBNotebookWorkspaceDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_ListConnectionInfo", + "x-ms-examples": { + "CosmosDBNotebookWorkspaceListConnectionInfo": { + "$ref": "./examples/CosmosDBNotebookWorkspaceListConnectionInfo.json" + } + }, + "description": "Retrieves the connection info for the notebook workspace", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NotebookWorkspaceConnectionInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_RegenerateAuthToken", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceRegenerateAuthToken": { + "$ref": "./examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json" + } + }, + "description": "Regenerates the auth token for the notebook workspace", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The regenerate auth token operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_Start", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceStart": { + "$ref": "./examples/CosmosDBNotebookWorkspaceStart.json" + } + }, + "description": "Starts the notebook workspace", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The start operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "NotebookWorkspaceCreateUpdateParameters": { + "description": "Parameters to create a notebook workspace resource", + "type": "object", + "allOf": [ + { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "NotebookWorkspaceListResult": { + "description": "A list of notebook workspace resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of notebook workspace resources", + "items": { + "$ref": "#/definitions/NotebookWorkspace" + } + } + } + }, + "NotebookWorkspace": { + "description": "A notebook workspace resource", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/NotebookWorkspaceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "NotebookWorkspaceProperties": { + "description": "Properties of a notebook workspace resource.", + "type": "object", + "properties": { + "notebookServerEndpoint": { + "description": "Specifies the endpoint of Notebook server.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the notebook workspace. Possible values are: Creating, Online, Deleting, Failed, Updating.", + "type": "string", + "readOnly": true + } + } + }, + "NotebookWorkspaceConnectionInfoResult": { + "description": "The connection info for the given notebook workspace", + "properties": { + "authToken": { + "type": "string", + "description": "Specifies auth token used for connecting to Notebook server (uses token-based auth).", + "readOnly": true + }, + "notebookServerEndpoint": { + "type": "string", + "description": "Specifies the endpoint of Notebook server.", + "readOnly": true + } + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "NotebookWorkspaceNameParameter": { + "name": "notebookWorkspaceName", + "in": "path", + "description": "The name of the notebook workspace resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "NotebookWorkspaceName", + "modelAsString": true + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/privateEndpointConnection.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/privateEndpointConnection.json new file mode 100644 index 000000000000..172b189fce2f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/privateEndpointConnection.json @@ -0,0 +1,318 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2023-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List all private endpoint connections on a Cosmos DB account.", + "operationId": "PrivateEndpointConnections_ListByDatabaseAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateEndpointConnectionListGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateEndpointConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Approve or reject a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Successfully approved or rejected private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "Accepted. The private endpoint connection update will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Approve or reject a private endpoint connection with a given name.": { + "$ref": "./examples/CosmosDBPrivateEndpointConnectionUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The private endpoint connection delete will complete asynchronously." + }, + "204": { + "description": "Private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a private endpoint connection with a given name.": { + "$ref": "./examples/CosmosDBPrivateEndpointConnectionDelete.json" + } + } + } + } + }, + "definitions": { + "PrivateEndpointConnectionListResult": { + "description": "A list of private endpoint connections", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpointProperty", + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty", + "description": "Connection State of the Private Endpoint Connection." + }, + "groupId": { + "type": "string", + "description": "Group id of the private endpoint." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint." + } + } + }, + "PrivateEndpointProperty": { + "type": "object", + "description": "Private endpoint which the connection belongs to.", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + } + }, + "PrivateLinkServiceConnectionStateProperty": { + "type": "object", + "description": "Connection State of the Private Endpoint Connection.", + "properties": { + "status": { + "type": "string", + "description": "The private link service connection status." + }, + "description": { + "type": "string", + "description": "The private link service connection description." + }, + "actionsRequired": { + "type": "string", + "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)", + "readOnly": true + } + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the private endpoint connection." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/privateLinkResources.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/privateLinkResources.json new file mode 100644 index 000000000000..728bfb0522a5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/privateLinkResources.json @@ -0,0 +1,195 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2023-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Cosmos DB account.", + "operationId": "PrivateLinkResources_ListByDatabaseAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateLinkResourceListGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Cosmos DB account.", + "operationId": "PrivateLinkResources_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/GroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private link resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateLinkResourceGet.json" + } + } + } + } + }, + "definitions": { + "PrivateLinkResourceListResult": { + "description": "A list of private link resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "PrivateLinkResourceProperties": { + "description": "Properties of a private link resource.", + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "description": "The private link resource required zone names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "GroupNameParameter": { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/rbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/rbac.json new file mode 100644 index 000000000000..496fc4d41eeb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/rbac.json @@ -0,0 +1,573 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Role Based Access Control Resource Provider REST API", + "version": "2023-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}": { + "get": { + "operationId": "SqlResources_GetSqlRoleDefinition", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionGet": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Definition with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/roleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Definition was successfully retrieved.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlRoleDefinition", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionCreateUpdate": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB SQL Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/roleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlRoleDefinitionParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a Role Definition.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Role Definition create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionGetResults" + } + }, + "202": { + "description": "The Role Definition create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlRoleDefinition", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionDelete": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB SQL Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/roleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Definition delete operation was completed successfully." + }, + "202": { + "description": "The Role Definition delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested Role Definition does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions": { + "get": { + "operationId": "SqlResources_ListSqlRoleDefinitions", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionList": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB SQL Role Definitions.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}": { + "get": { + "operationId": "SqlResources_GetSqlRoleAssignment", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentGet": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Assignment with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/roleAssignmentIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Assignment was successfully retrieved.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlRoleAssignment", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentCreateUpdate": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB SQL Role Assignment.", + "parameters": [ + { + "$ref": "#/parameters/roleAssignmentIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlRoleAssignmentParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a Role Assignment.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Role Assignment create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentGetResults" + } + }, + "202": { + "description": "The Role Assignment create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlRoleAssignment", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentDelete": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB SQL Role Assignment.", + "parameters": [ + { + "$ref": "#/parameters/roleAssignmentIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Assignment delete operation was completed successfully." + }, + "202": { + "description": "The Role Assignment delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested Role Assignment does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments": { + "get": { + "operationId": "SqlResources_ListSqlRoleAssignments", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentList": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB SQL Role Assignments.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SqlRoleDefinitionResource": { + "properties": { + "roleName": { + "type": "string", + "description": "A user-friendly name for the Role Definition. Must be unique for the database account." + }, + "type": { + "type": "string", + "enum": [ + "BuiltInRole", + "CustomRole" + ], + "description": "Indicates whether the Role Definition was built-in or user created.", + "x-ms-enum": { + "name": "RoleDefinitionType", + "modelAsString": false + } + }, + "assignableScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A set of fully qualified Scopes at or below which Role Assignments may be created using this Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist." + }, + "permissions": { + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + }, + "description": "The set of operations allowed through this Role Definition." + } + }, + "description": "Azure Cosmos DB SQL Role Definition resource object." + }, + "SqlRoleDefinitionCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB SQL Role Definition.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB SQL Role Definition.", + "$ref": "#/definitions/SqlRoleDefinitionResource" + } + } + }, + "SqlRoleDefinitionGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SqlRoleDefinitionResource", + "description": "Properties related to the Role Definition." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB SQL Role Definition." + }, + "Permission": { + "type": "object", + "properties": { + "dataActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of data actions that are allowed." + }, + "notDataActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of data actions that are denied." + } + }, + "description": "The set of data plane operations permitted through this Role Definition." + }, + "SqlRoleDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SqlRoleDefinitionGetResults" + }, + "description": "List of Role Definitions and their properties." + } + }, + "description": "The relevant Role Definitions." + }, + "SqlRoleAssignmentResource": { + "type": "object", + "properties": { + "roleDefinitionId": { + "type": "string", + "description": "The unique identifier for the associated Role Definition." + }, + "scope": { + "type": "string", + "description": "The data plane resource path for which access is being granted through this Role Assignment." + }, + "principalId": { + "type": "string", + "description": "The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription." + } + }, + "description": "Azure Cosmos DB SQL Role Assignment resource object." + }, + "SqlRoleAssignmentCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB SQL Role Assignment.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB SQL Role Assignment.", + "$ref": "#/definitions/SqlRoleAssignmentResource" + } + } + }, + "SqlRoleAssignmentGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SqlRoleAssignmentResource", + "description": "Properties related to the Role Assignment." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB Role Assignment" + }, + "SqlRoleAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SqlRoleAssignmentGetResults" + }, + "description": "List of Role Assignments and their properties" + } + }, + "description": "The relevant Role Assignments." + } + }, + "parameters": { + "roleDefinitionIdParameter": { + "name": "roleDefinitionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The GUID for the Role Definition." + }, + "roleAssignmentIdParameter": { + "name": "roleAssignmentId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The GUID for the Role Assignment." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/restorable.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/restorable.json new file mode 100644 index 000000000000..3466ebcc30c9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/restorable.json @@ -0,0 +1,2073 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2023-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts": { + "get": { + "operationId": "RestorableDatabaseAccounts_ListByLocation", + "x-ms-examples": { + "CosmosDBRestorableDatabaseAccountList": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountList.json" + } + }, + "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription and in a region. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts": { + "get": { + "operationId": "RestorableDatabaseAccounts_List", + "x-ms-examples": { + "CosmosDBRestorableDatabaseAccountNoLocationList": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountNoLocationList.json" + } + }, + "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}": { + "get": { + "operationId": "RestorableDatabaseAccounts_GetByLocation", + "x-ms-examples": { + "CosmosDBRestorableDatabaseAccountGet": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB restorable database account. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read/*' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The restorable database account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountGetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation": { + "post": { + "operationId": "SqlResources_RetrieveContinuousBackupInformation", + "x-ms-examples": { + "CosmosDBSqlContainerBackupInformation": { + "$ref": "./examples/CosmosDBSqlContainerBackupInformation.json" + } + }, + "description": "Retrieves continuous backup information for a container resource.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/databaseNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "location", + "required": true, + "description": "The name of the continuous backup restore location.", + "schema": { + "$ref": "#/definitions/ContinuousBackupRestoreLocation" + } + } + ], + "responses": { + "200": { + "description": "The Sql container retrieve backup information operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupInformation" + } + }, + "202": { + "description": "The sql container retrieve backup information operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlDatabases": { + "get": { + "operationId": "RestorableSqlDatabases_List", + "x-ms-examples": { + "CosmosDBRestorableSqlDatabaseList": { + "$ref": "./examples/CosmosDBRestorableSqlDatabaseList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB SQL databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableSqlDatabasesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlContainers": { + "get": { + "operationId": "RestorableSqlContainers_List", + "x-ms-examples": { + "CosmosDBRestorableSqlContainerList": { + "$ref": "./examples/CosmosDBRestorableSqlContainerList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB SQL containers under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restorableSqlDatabaseRidParameter" + }, + { + "$ref": "#/parameters/restorableSqlContainersEventFeedStartTime" + }, + { + "$ref": "#/parameters/restorableSqlContainersEventFeedEndTime" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableSqlContainersListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlResources": { + "get": { + "operationId": "RestorableSqlResources_List", + "x-ms-examples": { + "CosmosDBRestorableSqlResourceList": { + "$ref": "./examples/CosmosDBRestorableSqlResourceList.json" + } + }, + "description": "Return a list of database and container combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restoreLocationParameter" + }, + { + "$ref": "#/parameters/restoreTimestampInUtcParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableSqlResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/retrieveContinuousBackupInformation": { + "post": { + "operationId": "MongoDBResources_RetrieveContinuousBackupInformation", + "x-ms-examples": { + "CosmosDBMongoDBCollectionBackupInformation": { + "$ref": "./examples/CosmosDBMongoDBCollectionBackupInformation.json" + } + }, + "description": "Retrieves continuous backup information for a Mongodb collection.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/databaseNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "location", + "required": true, + "description": "The name of the continuous backup restore location.", + "schema": { + "$ref": "#/definitions/ContinuousBackupRestoreLocation" + } + } + ], + "responses": { + "200": { + "description": "The Mongodb collection retrieve backup information operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupInformation" + } + }, + "202": { + "description": "The Mongodb collection retrieve backup information operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbDatabases": { + "get": { + "operationId": "RestorableMongodbDatabases_List", + "x-ms-examples": { + "CosmosDBRestorableMongodbDatabaseList": { + "$ref": "./examples/CosmosDBRestorableMongodbDatabaseList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableMongodbDatabasesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbCollections": { + "get": { + "operationId": "RestorableMongodbCollections_List", + "x-ms-examples": { + "CosmosDBRestorableMongodbCollectionList": { + "$ref": "./examples/CosmosDBRestorableMongodbCollectionList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB collections under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restorableMongodbDatabaseRidParameter" + }, + { + "$ref": "#/parameters/restorableMongoDBCollectionsEventFeedStartTime" + }, + { + "$ref": "#/parameters/restorableMongoDBCollectionsEventFeedEndTime" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableMongodbCollectionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbResources": { + "get": { + "operationId": "RestorableMongodbResources_List", + "x-ms-examples": { + "CosmosDBRestorableMongodbResourceList": { + "$ref": "./examples/CosmosDBRestorableMongodbResourceList.json" + } + }, + "description": "Return a list of database and collection combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restoreLocationParameter" + }, + { + "$ref": "#/parameters/restoreTimestampInUtcParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableMongodbResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/retrieveContinuousBackupInformation": { + "post": { + "operationId": "GremlinResources_RetrieveContinuousBackupInformation", + "x-ms-examples": { + "CosmosDBGremlinGraphBackupInformation": { + "$ref": "./examples/CosmosDBGremlinGraphBackupInformation.json" + } + }, + "description": "Retrieves continuous backup information for a gremlin graph.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/databaseNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "location", + "required": true, + "description": "The name of the continuous backup restore location.", + "schema": { + "$ref": "#/definitions/ContinuousBackupRestoreLocation" + } + } + ], + "responses": { + "200": { + "description": "The Gremlin graph retrieve backup information operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupInformation" + } + }, + "202": { + "description": "The Gremlin graph retrieve backup information operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGremlinDatabases": { + "get": { + "operationId": "RestorableGremlinDatabases_List", + "x-ms-examples": { + "CosmosDBRestorableGremlinDatabaseList": { + "$ref": "./examples/CosmosDBRestorableGremlinDatabaseList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB Gremlin databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableGremlinDatabasesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGraphs": { + "get": { + "operationId": "RestorableGremlinGraphs_List", + "x-ms-examples": { + "CosmosDBRestorableGremlinGraphList": { + "$ref": "./examples/CosmosDBRestorableGremlinGraphList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB Gremlin graphs under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restorableGremlinDatabaseRidParameter" + }, + { + "$ref": "#/parameters/restorableGremlinGraphsEventFeedStartTime" + }, + { + "$ref": "#/parameters/restorableGremlinGraphsEventFeedEndTime" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableGremlinGraphsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGremlinResources": { + "get": { + "operationId": "RestorableGremlinResources_List", + "x-ms-examples": { + "CosmosDBRestorableGremlinResourceList": { + "$ref": "./examples/CosmosDBRestorableGremlinResourceList.json" + } + }, + "description": "Return a list of gremlin database and graphs combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restoreLocationParameter" + }, + { + "$ref": "#/parameters/restoreTimestampInUtcParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableGremlinResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/retrieveContinuousBackupInformation": { + "post": { + "operationId": "TableResources_RetrieveContinuousBackupInformation", + "x-ms-examples": { + "CosmosDBTableCollectionBackupInformation": { + "$ref": "./examples/CosmosDBTableBackupInformation.json" + } + }, + "description": "Retrieves continuous backup information for a table.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "location", + "required": true, + "description": "The name of the continuous backup restore location.", + "schema": { + "$ref": "#/definitions/ContinuousBackupRestoreLocation" + } + } + ], + "responses": { + "200": { + "description": "The Table retrieve backup information operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupInformation" + } + }, + "202": { + "description": "The Table retrieve backup information operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableTables": { + "get": { + "operationId": "RestorableTables_List", + "x-ms-examples": { + "CosmosDBRestorableTableList": { + "$ref": "./examples/CosmosDBRestorableTableList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB Tables. This helps in scenario where table was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restorableTablesEventFeedStartTime" + }, + { + "$ref": "#/parameters/restorableTablesEventFeedEndTime" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableTablesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableTableResources": { + "get": { + "operationId": "RestorableTableResources_List", + "x-ms-examples": { + "CosmosDBRestorableTableResourceList": { + "$ref": "./examples/CosmosDBRestorableTableResourceList.json" + } + }, + "description": "Return a list of tables that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restoreLocationParameter" + }, + { + "$ref": "#/parameters/restoreTimestampInUtcParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableTableResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "RestorableDatabaseAccountsListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableDatabaseAccountGetResult" + }, + "description": "List of restorable database accounts and their properties." + } + }, + "description": "The List operation response, that contains the restorable database accounts and their properties." + }, + "RestorableDatabaseAccountGetResult": { + "description": "A Azure Cosmos DB restorable database account.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a restorable database account.", + "$ref": "#/definitions/RestorableDatabaseAccountProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + } + } + }, + "RestorableDatabaseAccountProperties": { + "type": "object", + "description": "The properties of a restorable database account.", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the global database account" + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "The creation time of the restorable database account (ISO-8601 format)." + }, + "oldestRestorableTime": { + "type": "string", + "format": "date-time", + "description": "The least recent time at which the database account can be restored to (ISO-8601 format)." + }, + "deletionTime": { + "type": "string", + "format": "date-time", + "description": "The time at which the restorable database account has been deleted (ISO-8601 format)." + }, + "apiType": { + "type": "string", + "readOnly": true, + "description": "The API type of the restorable database account.", + "$ref": "#/definitions/ApiType" + }, + "restorableLocations": { + "type": "array", + "readOnly": true, + "description": "List of regions where the of the database account can be restored from.", + "items": { + "$ref": "#/definitions/RestorableLocationResource" + } + } + } + }, + "ApiType": { + "description": "Enum to indicate the API type of the restorable database account.", + "type": "string", + "readOnly": true, + "enum": [ + "MongoDB", + "Gremlin", + "Cassandra", + "Table", + "Sql", + "GremlinV2" + ], + "x-ms-enum": { + "name": "ApiType", + "modelAsString": true + } + }, + "RestorableLocationResource": { + "type": "object", + "description": "Properties of the regional restorable account.", + "properties": { + "locationName": { + "type": "string", + "readOnly": true, + "description": "The location of the regional restorable account." + }, + "regionalDatabaseAccountInstanceId": { + "type": "string", + "readOnly": true, + "description": "The instance id of the regional restorable account." + }, + "creationTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The creation time of the regional restorable database account (ISO-8601 format)." + }, + "deletionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The time at which the regional restorable database account has been deleted (ISO-8601 format)." + } + } + }, + "RestorableSqlDatabasesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableSqlDatabaseGetResult" + }, + "description": "List of SQL database events and their properties." + } + }, + "description": "The List operation response, that contains the SQL database events and their properties." + }, + "RestorableSqlDatabaseGetResult": { + "description": "An Azure Cosmos DB SQL database event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a SQL database event.", + "$ref": "#/definitions/RestorableSqlDatabaseProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableSqlDatabaseProperties": { + "description": "The properties of an Azure Cosmos DB SQL database event", + "type": "object", + "properties": { + "resource": { + "type": "object", + "description": "The resource of an Azure Cosmos DB SQL database event", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this database event.", + "$ref": "#/definitions/OperationType" + }, + "canUndelete": { + "type": "string", + "readOnly": true, + "description": "A state of this database to identify if this database is restorable in same account." + }, + "canUndeleteReason": { + "type": "string", + "readOnly": true, + "description": "The reason why this database can not be restored in same account." + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this database event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of the SQL database." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of the SQL database." + }, + "database": { + "type": "object", + "description": "Cosmos DB SQL database resource object", + "properties": { + "_colls": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specified the addressable path of the collections resource." + }, + "_users": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specifies the addressable path of the users resource." + }, + "_self": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specifies the addressable path of the database resource." + } + }, + "allOf": [ + { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/SqlDatabaseResource" + }, + { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ExtendedResourceProperties" + } + ] + } + } + } + } + }, + "RestorableSqlContainersListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableSqlContainerGetResult" + }, + "description": "List of SQL container events and their properties." + } + }, + "description": "The List operation response, that contains the SQL container events and their properties." + }, + "RestorableSqlContainerGetResult": { + "description": "An Azure Cosmos DB SQL container event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a SQL container event.", + "$ref": "#/definitions/RestorableSqlContainerProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableSqlContainerProperties": { + "description": "The properties of an Azure Cosmos DB SQL container event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB SQL container event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this container event.", + "$ref": "#/definitions/OperationType" + }, + "canUndelete": { + "type": "string", + "readOnly": true, + "description": "A state of this container to identify if this container is restorable in same account." + }, + "canUndeleteReason": { + "type": "string", + "readOnly": true, + "description": "The reason why this container can not be restored in same account." + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The when this container event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this SQL container." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this SQL container." + }, + "container": { + "type": "object", + "description": "Cosmos DB SQL container resource object", + "properties": { + "_self": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specifies the addressable path of the container resource." + } + }, + "allOf": [ + { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/SqlContainerResource" + }, + { + "$ref": "../../preview/2023-11-15-preview/cosmos-db.json#/definitions/ExtendedResourceProperties" + } + ] + } + } + } + } + }, + "RestorableSqlResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableSqlResourcesGetResult" + }, + "description": "List of restorable SQL resources, including the database and collection names." + } + }, + "description": "The List operation response, that contains the restorable SQL resources." + }, + "RestorableSqlResourcesGetResult": { + "type": "object", + "description": "Specific Databases to restore.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "databaseName": { + "type": "string", + "description": "The name of the database available for restore." + }, + "collectionNames": { + "type": "array", + "description": "The names of the collections available for restore.", + "items": { + "$ref": "cosmos-db.json#/definitions/CollectionName" + } + } + } + }, + "RestorableMongodbDatabasesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableMongodbDatabaseGetResult" + }, + "description": "List of MongoDB database events and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB database events and their properties." + }, + "RestorableMongodbDatabaseGetResult": { + "description": "An Azure Cosmos DB MongoDB database event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a MongoDB database event.", + "$ref": "#/definitions/RestorableMongodbDatabaseProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableMongodbDatabaseProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB database event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB MongoDB database event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this database event.", + "$ref": "#/definitions/OperationType" + }, + "canUndelete": { + "type": "string", + "readOnly": true, + "description": "A state of this database to identify if this database is restorable in same account." + }, + "canUndeleteReason": { + "type": "string", + "readOnly": true, + "description": "The reason why this database can not be restored in same account." + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this database event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this MongoDB database." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this MongoDB database." + } + } + } + } + }, + "RestorableMongodbCollectionsListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableMongodbCollectionGetResult" + }, + "description": "List of MongoDB collection events and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB collection events and their properties." + }, + "RestorableMongodbCollectionGetResult": { + "description": "An Azure Cosmos DB MongoDB collection event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a MongoDB collection event.", + "$ref": "#/definitions/RestorableMongodbCollectionProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableMongodbCollectionProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB collection event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB MongoDB collection event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this collection event.", + "$ref": "#/definitions/OperationType" + }, + "canUndelete": { + "type": "string", + "readOnly": true, + "description": "A state of this collection to identify if this container is restorable in same account." + }, + "canUndeleteReason": { + "type": "string", + "readOnly": true, + "description": "The reason why this collection can not be restored in same account." + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this collection event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this MongoDB collection." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this MongoDB collection." + } + } + } + } + }, + "RestorableMongodbResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableMongodbResourcesGetResult" + }, + "description": "List of restorable MongoDB resources, including the database and collection names." + } + }, + "description": "The List operation response, that contains the restorable MongoDB resources." + }, + "RestorableMongodbResourcesGetResult": { + "type": "object", + "description": "Specific Databases to restore.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "databaseName": { + "type": "string", + "description": "The name of the database available for restore." + }, + "collectionNames": { + "type": "array", + "description": "The names of the collections available for restore.", + "items": { + "$ref": "cosmos-db.json#/definitions/CollectionName" + } + } + } + }, + "RestorableGremlinDatabasesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableGremlinDatabaseGetResult" + }, + "description": "List of Gremlin database events and their properties." + } + }, + "description": "The List operation response, that contains the Gremlin database events and their properties." + }, + "RestorableGremlinDatabaseGetResult": { + "description": "An Azure Cosmos DB Gremlin database event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a Gremlin database event.", + "$ref": "#/definitions/RestorableGremlinDatabaseProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableGremlinDatabaseProperties": { + "description": "The properties of an Azure Cosmos DB Gremlin database event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB Gremlin database event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this database event.", + "$ref": "#/definitions/OperationType" + }, + "canUndelete": { + "type": "string", + "readOnly": true, + "description": "A state of this database to identify if this database is restorable in same account." + }, + "canUndeleteReason": { + "type": "string", + "readOnly": true, + "description": "The reason why this database can not be restored in same account." + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this database event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this Gremlin database." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this Gremlin database." + } + } + } + } + }, + "RestorableGremlinGraphsListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableGremlinGraphGetResult" + }, + "description": "List of Gremlin graph events and their properties." + } + }, + "description": "The List operation response, that contains the Gremlin graph events and their properties." + }, + "RestorableGremlinGraphGetResult": { + "description": "An Azure Cosmos DB Gremlin graph event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a Gremlin graph event.", + "$ref": "#/definitions/RestorableGremlinGraphProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableGremlinGraphProperties": { + "description": "The properties of an Azure Cosmos DB Gremlin graph event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB Gremlin graph event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this graph event.", + "$ref": "#/definitions/OperationType" + }, + "canUndelete": { + "type": "string", + "readOnly": true, + "description": "A state of this graph to identify if this graph is restorable in same account." + }, + "canUndeleteReason": { + "type": "string", + "readOnly": true, + "description": "The reason why this graph can not be restored in same account." + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this graph event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this Gremlin graph." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this Gremlin graph." + } + } + } + } + }, + "RestorableGremlinResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableGremlinResourcesGetResult" + }, + "description": "List of restorable Gremlin resources, including the gremlin database and graph names." + } + }, + "description": "The List operation response, that contains the restorable Gremlin resources." + }, + "RestorableGremlinResourcesGetResult": { + "type": "object", + "description": "Specific Databases to restore.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "databaseName": { + "type": "string", + "description": "The name of the gremlin database available for restore." + }, + "graphNames": { + "type": "array", + "description": "The names of the graphs available for restore.", + "items": { + "$ref": "cosmos-db.json#/definitions/GraphName" + } + } + } + }, + "RestorableTablesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableTableGetResult" + }, + "description": "List of Table events and their properties." + } + }, + "description": "The List operation response, that contains the Table events and their properties." + }, + "RestorableTableGetResult": { + "description": "An Azure Cosmos DB Table event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a Table event.", + "$ref": "#/definitions/RestorableTableProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource Identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "RestorableTableProperties": { + "description": "The properties of an Azure Cosmos DB Table event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB Table event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this table event.", + "$ref": "#/definitions/OperationType" + }, + "canUndelete": { + "type": "string", + "readOnly": true, + "description": "A state of this table to identify if this table is restorable in same account." + }, + "canUndeleteReason": { + "type": "string", + "readOnly": true, + "description": "The reason why this table can not be restored in same account." + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this table event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this Table." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this Table." + } + } + } + } + }, + "RestorableTableResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableTableResourcesGetResult" + }, + "description": "List of restorable table names." + } + }, + "description": "List of restorable table names." + }, + "RestorableTableResourcesGetResult": { + "type": "object", + "description": "Specific Databases to restore.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the Table." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + } + }, + "OperationType": { + "description": "Enum to indicate the operation type of the event.", + "type": "string", + "readOnly": true, + "enum": [ + "Create", + "Replace", + "Delete", + "Recreate", + "SystemOperation" + ], + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true + } + }, + "ContinuousBackupRestoreLocation": { + "type": "object", + "description": "Properties of the regional restorable account.", + "properties": { + "location": { + "type": "string", + "description": "The name of the continuous backup restore location." + } + } + }, + "BackupInformation": { + "description": "Backup information of a resource.", + "type": "object", + "properties": { + "continuousBackupInformation": { + "description": "Information about the status of continuous backups.", + "type": "object", + "$ref": "#/definitions/ContinuousBackupInformation" + } + } + }, + "ContinuousBackupInformation": { + "description": "Information about the status of continuous backups.", + "type": "object", + "readOnly": true, + "properties": { + "latestRestorableTimestamp": { + "type": "string", + "description": "The latest restorable timestamp for a resource." + } + } + } + }, + "parameters": { + "restorableSqlDatabaseRidParameter": { + "name": "restorableSqlDatabaseRid", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The resource ID of the SQL database." + }, + "restorableMongodbDatabaseRidParameter": { + "name": "restorableMongodbDatabaseRid", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The resource ID of the MongoDB database." + }, + "restoreLocationParameter": { + "name": "restoreLocation", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The location where the restorable resources are located." + }, + "restoreTimestampInUtcParameter": { + "name": "restoreTimestampInUtc", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The timestamp when the restorable resources existed." + }, + "restorableSqlContainersEventFeedStartTime": { + "name": "startTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable Sql containers event feed start time." + }, + "restorableSqlContainersEventFeedEndTime": { + "name": "endTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable Sql containers event feed end time." + }, + "restorableMongoDBCollectionsEventFeedStartTime": { + "name": "startTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable MongoDB collections event feed start time." + }, + "restorableMongoDBCollectionsEventFeedEndTime": { + "name": "endTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable MongoDB collections event feed end time." + }, + "restorableGremlinGraphsEventFeedStartTime": { + "name": "startTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable Gremlin graphs event feed start time." + }, + "restorableGremlinGraphsEventFeedEndTime": { + "name": "endTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable Gremlin graphs event feed end time." + }, + "restorableTablesEventFeedStartTime": { + "name": "startTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable Tables event feed start time." + }, + "restorableTablesEventFeedEndTime": { + "name": "endTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable Tables event feed end time." + }, + "restoreStartTime": { + "name": "startTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The snapshot create timestamp after which snapshots need to be listed." + }, + "restoreEndTime": { + "name": "endTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The snapshot create timestamp before which snapshots need to be listed." + }, + "locationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + }, + "instanceIdParameter": { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The instanceId GUID of a restorable database account." + }, + "restorableGremlinDatabaseRidParameter": { + "name": "restorableGremlinDatabaseRid", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The resource ID of the Gremlin database." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/services.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/services.json new file mode 100644 index 000000000000..d017998ef42a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/services.json @@ -0,0 +1,632 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2023-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services": { + "get": { + "x-ms-examples": { + "CosmosDBServicesList": { + "$ref": "./examples/CosmosDBServicesList.json" + } + }, + "operationId": "Service_List", + "description": "Gets the status of service.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ServiceResource.", + "schema": { + "$ref": "#/definitions/ServiceResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": ".../../cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}": { + "put": { + "tags": [ + "DataTransfer", + "SqlDedicatedGateway", + "GraphAPICompute", + "MaterializedViewsBuilder" + ], + "x-ms-examples": { + "DataTransferServiceCreate": { + "$ref": "./examples/CosmosDBDataTransferServiceCreate.json" + }, + "SqlDedicatedGatewayServiceCreate": { + "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceCreate.json" + }, + "GraphAPIComputeServiceCreate": { + "$ref": "./examples/CosmosDBGraphAPIComputeServiceCreate.json" + }, + "MaterializedViewsBuilderServiceCreate": { + "$ref": "./examples/CosmosDBMaterializedViewsBuilderServiceCreate.json" + } + }, + "operationId": "Service_Create", + "description": "Creates a service.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/serviceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceResourceCreateUpdateParameters" + }, + "description": "The Service resource parameters." + } + ], + "responses": { + "200": { + "description": "The service status.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "202": { + "description": "The job will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": ".../../cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "DataTransfer", + "SqlDedicatedGateway", + "GraphAPICompute", + "MaterializedViewsBuilder" + ], + "x-ms-examples": { + "DataTransferServiceGet": { + "$ref": "./examples/CosmosDBDataTransferServiceGet.json" + }, + "GraphAPIComputeServiceGet": { + "$ref": "./examples/CosmosDBGraphAPIComputeServiceGet.json" + }, + "SqlDedicatedGatewayServiceGet": { + "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceGet.json" + }, + "MaterializedViewsBuilderServiceGet": { + "$ref": "./examples/CosmosDBMaterializedViewsBuilderServiceGet.json" + } + }, + "operationId": "Service_Get", + "description": "Gets the status of service.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/serviceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ServiceResource.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": ".../../cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "DataTransfer", + "SqlDedicatedGateway", + "GraphAPICompute", + "MaterializedViewsBuilder" + ], + "x-ms-examples": { + "DataTransferServiceDelete": { + "$ref": "./examples/CosmosDBDataTransferServiceDelete.json" + }, + "SqlDedicatedGatewayServiceDelete": { + "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceDelete.json" + }, + "GraphAPIComputeServiceDelete": { + "$ref": "./examples/CosmosDBGraphAPIComputeServiceDelete.json" + }, + "MaterializedViewsBuilderServiceDelete": { + "$ref": "./examples/CosmosDBMaterializedViewsBuilderServiceDelete.json" + } + }, + "operationId": "Service_Delete", + "description": "Deletes service with the given serviceName.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/serviceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The job will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The response for service deletion." + }, + "200": { + "description": "The response for service deletion." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": ".../../cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ServiceResourceProperties": { + "description": "Services response resource.", + "type": "object", + "discriminator": "serviceType", + "properties": { + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Time of the last state change (ISO-8601 format)." + }, + "instanceSize": { + "$ref": "#/definitions/ServiceResourceInstanceSize" + }, + "instanceCount": { + "description": "Instance count for the service.", + "type": "integer", + "minimum": 0, + "format": "int32" + }, + "serviceType": { + "$ref": "#/definitions/ServiceType" + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ServiceResourceStatus" + } + }, + "additionalProperties": true, + "required": [ + "serviceType" + ] + }, + "ServiceResourceCreateUpdateParameters": { + "description": "Parameters for Create or Update Request for ServiceResource", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceResourceCreateUpdateProperties" + } + } + }, + "ServiceResourceCreateUpdateProperties": { + "description": "Properties in ServiceResourceCreateUpdateParameters.", + "type": "object", + "properties": { + "instanceSize": { + "$ref": "#/definitions/ServiceResourceInstanceSize" + }, + "instanceCount": { + "description": "Instance count for the service.", + "type": "integer", + "minimum": 0, + "format": "int32" + }, + "serviceType": { + "$ref": "#/definitions/ServiceType" + } + } + }, + "ServiceResource": { + "description": "Properties for the database account.", + "type": "object", + "allOf": [ + { + "$ref": ".../../cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/ServiceResourceProperties" + } + } + }, + "ServiceResourceListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceResource" + }, + "description": "List of Service Resource and their properties." + } + }, + "description": "The List operation response, that contains the Service Resource and their properties." + }, + "DataTransferServiceResource": { + "description": "Describes the service response property.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/DataTransferServiceResourceProperties" + } + } + }, + "DataTransferServiceResourceProperties": { + "description": "Properties for DataTransferServiceResource.", + "type": "object", + "x-ms-discriminator-value": "DataTransfer", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "properties": { + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations for the service.", + "items": { + "$ref": "#/definitions/DataTransferRegionalServiceResource" + } + } + } + }, + "SqlDedicatedGatewayServiceResource": { + "description": "Describes the service response property for SqlDedicatedGateway.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/SqlDedicatedGatewayServiceResourceProperties" + } + } + }, + "SqlDedicatedGatewayServiceResourceProperties": { + "description": "Properties for SqlDedicatedGatewayServiceResource.", + "type": "object", + "x-ms-discriminator-value": "SqlDedicatedGateway", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "properties": { + "sqlDedicatedGatewayEndpoint": { + "type": "string", + "description": "SqlDedicatedGateway endpoint for the service." + }, + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations for the service.", + "items": { + "$ref": "#/definitions/SqlDedicatedGatewayRegionalServiceResource" + } + } + } + }, + "GraphAPIComputeServiceResource": { + "description": "Describes the service response property for GraphAPICompute.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/GraphAPIComputeServiceResourceProperties" + } + } + }, + "GraphAPIComputeServiceResourceProperties": { + "description": "Properties for GraphAPIComputeServiceResource.", + "type": "object", + "x-ms-discriminator-value": "GraphAPICompute", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "properties": { + "graphApiComputeEndpoint": { + "type": "string", + "description": "GraphAPICompute endpoint for the service." + }, + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations for the service.", + "items": { + "$ref": "#/definitions/GraphAPIComputeRegionalServiceResource" + } + } + } + }, + "MaterializedViewsBuilderServiceResource": { + "description": "Describes the service response property for MaterializedViewsBuilder.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/MaterializedViewsBuilderServiceResourceProperties" + } + } + }, + "MaterializedViewsBuilderServiceResourceProperties": { + "description": "Properties for MaterializedViewsBuilderServiceResource.", + "type": "object", + "x-ms-discriminator-value": "MaterializedViewsBuilder", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "properties": { + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations for the service.", + "items": { + "$ref": "#/definitions/MaterializedViewsBuilderRegionalServiceResource" + } + } + } + }, + "RegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The regional service name." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The location name." + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ServiceResourceStatus" + } + } + }, + "SqlDedicatedGatewayRegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RegionalServiceResource" + } + ], + "properties": { + "sqlDedicatedGatewayEndpoint": { + "readOnly": true, + "type": "string", + "description": "The regional endpoint for SqlDedicatedGateway." + } + } + }, + "GraphAPIComputeRegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RegionalServiceResource" + } + ], + "properties": { + "graphApiComputeEndpoint": { + "readOnly": true, + "type": "string", + "description": "The regional endpoint for GraphAPICompute." + } + } + }, + "DataTransferRegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RegionalServiceResource" + } + ] + }, + "MaterializedViewsBuilderRegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RegionalServiceResource" + } + ] + }, + "ServiceResourceStatus": { + "type": "string", + "enum": [ + "Creating", + "Running", + "Updating", + "Deleting", + "Error", + "Stopped" + ], + "readOnly": true, + "description": "Describes the status of a service.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServiceStatus" + } + }, + "ServiceResourceInstanceSize": { + "type": "string", + "enum": [ + "Cosmos.D4s", + "Cosmos.D8s", + "Cosmos.D16s" + ], + "description": "Instance type for the service.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServiceSize" + } + }, + "ServiceType": { + "type": "string", + "enum": [ + "SqlDedicatedGateway", + "DataTransfer", + "GraphAPICompute", + "MaterializedViewsBuilder" + ], + "description": "ServiceType for the service.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServiceType" + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "serviceNameParameter": { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB service name.", + "minLength": 3, + "maxLength": 50 + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/throughputpool.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/throughputpool.json new file mode 100644 index 000000000000..8ff2e3975486 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2023-11-15-preview/throughputpool.json @@ -0,0 +1,717 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Throughput Pool REST API", + "version": "2023-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/throughputPools": { + "get": { + "operationId": "ThroughputPools_List", + "x-ms-examples": { + "CosmosDB ThroughputPool List": { + "$ref": "./examples/throughputPool/CosmosDBThroughputPoolList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "description": "Lists all the Azure Cosmos DB Throughput Pools available under the subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputPoolsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/throughputPools": { + "get": { + "tags": [ + "ThroughputPools" + ], + "operationId": "ThroughputPools_ListByResourceGroup", + "x-ms-examples": { + "CosmosDB ThroughputPool List by Resource Group": { + "$ref": "./examples/throughputPool/CosmosDBThroughputPoolList.json" + } + }, + "description": "List all the ThroughputPools in a given resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputPoolsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/throughputPools/{throughputPoolName}": { + "get": { + "operationId": "ThroughputPool_Get", + "x-ms-examples": { + "CosmosDB ThroughputPool Get": { + "$ref": "./examples/throughputPool/CosmosDBThroughputPoolGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB Throughput Pool", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ThroughputPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Throughput Pool properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputPoolResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "ThroughputPool_CreateOrUpdate", + "x-ms-examples": { + "CosmosDB ThroughputPool Create": { + "$ref": "./examples/throughputPool/CosmosDBThroughputPoolCreate.json" + } + }, + "description": "Creates or updates an Azure Cosmos DB ThroughputPool account. The \"Update\" method is preferred when performing updates on an account.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ThroughputPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputPoolResource" + }, + "description": "The parameters to provide for the current ThroughputPool." + } + ], + "responses": { + "200": { + "description": "Completed synchronously. This will only happen if the fields changed by patch require no changes to the actual ThroughputPool.", + "schema": { + "$ref": "#/definitions/ThroughputPoolResource" + } + }, + "201": { + "description": "The throughput pool is being created or updated asynchronously. Poll for status=Succeeded to find when the operation completes.", + "schema": { + "$ref": "#/definitions/ThroughputPoolResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "operationId": "ThroughputPool_Update", + "x-ms-examples": { + "CosmosDB ThroughputPool Update": { + "$ref": "./examples/throughputPool/CosmosDBThroughputPoolUpdate.json" + } + }, + "description": "Updates the properties of an existing Azure Cosmos DB Throughput Pool.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ThroughputPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ThroughputPoolUpdate" + }, + "description": "The parameters to provide for the current Throughput Pool." + } + ], + "responses": { + "200": { + "description": "Completed synchronously. This will only happen if the fields changed by patch require no changes to the actual ThroughputPool.", + "schema": { + "$ref": "#/definitions/ThroughputPoolResource" + } + }, + "202": { + "description": "The ThroughputPool update operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "operationId": "ThroughputPool_Delete", + "x-ms-examples": { + "CosmosDB ThroughputPool Delete": { + "$ref": "./examples/throughputPool/CosmosDBThroughputPoolDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Throughput Pool.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ThroughputPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Throughput Pool delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The specified Throughput Pool does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/throughputPools/{throughputPoolName}/throughputPoolAccounts": { + "get": { + "operationId": "ThroughputPoolAccounts_List", + "x-ms-examples": { + "CosmosDB ThroughputPool Account List": { + "$ref": "./examples/throughputPool/CosmosDBThroughputPoolAccountsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "description": "Lists all the Azure Cosmos DB accounts available under the subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ThroughputPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputPoolAccountsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/throughputPools/{throughputPoolName}/throughputPoolAccounts/{throughputPoolAccountName}": { + "get": { + "operationId": "ThroughputPoolAccount_Get", + "x-ms-examples": { + "CosmosDB ThroughputPool Account Get": { + "$ref": "./examples/throughputPool/CosmosDBThroughputPoolAccountGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB Throughput Pool", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ThroughputPoolNameParameter" + }, + { + "$ref": "#/parameters/ThroughputPoolAccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Throughput Pool properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputPoolAccountResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "ThroughputPoolAccount_Create", + "description": "Creates or updates an Azure Cosmos DB ThroughputPool account. The \"Update\" method is preferred when performing updates on an account.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "CosmosDB ThroughputPool Account Create": { + "$ref": "./examples/throughputPool/CosmosDBThroughputPoolAccountCreate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ThroughputPoolNameParameter" + }, + { + "$ref": "#/parameters/ThroughputPoolAccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputPoolAccountResource" + }, + "description": "The parameters to provide for the current ThroughputPoolAccount." + } + ], + "responses": { + "200": { + "description": "The Throughput Pool account resource was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputPoolAccountResource" + } + }, + "201": { + "description": "The throughput pool account is being created or updated asynchronously. Poll for status=Succeeded to find when the operation completes.", + "schema": { + "$ref": "#/definitions/ThroughputPoolAccountResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "operationId": "ThroughputPoolAccount_Delete", + "x-ms-examples": { + "CosmosDB ThroughputPool Account Delete": { + "$ref": "./examples/throughputPool/CosmosDBThroughputPoolAccountDelete.json" + } + }, + "description": "Removes an existing Azure Cosmos DB database account from a throughput pool.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ThroughputPoolNameParameter" + }, + { + "$ref": "#/parameters/ThroughputPoolAccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Throughput Pool delete operation will complete asynchronously.", + "headers": { + "azure-AsyncOperation": { + "type": "string", + "description": "URI to poll for completion status." + }, + "location": { + "type": "string", + "description": "URI to poll for completion status." + } + } + }, + "204": { + "description": "The specified Throughput Pool does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ProvisioningState": { + "description": "The provisioning state of the resource.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Updating" + ], + "x-ms-enum": { + "name": "status", + "modelAsString": true + }, + "readOnly": true + }, + "ThroughputPoolsListResult": { + "description": "The List operation response, that contains the throughput pools and their properties.", + "type": "object", + "properties": { + "value": { + "description": "List of throughput pools and their properties.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ThroughputPoolResource" + } + }, + "nextLink": { + "description": "The link used to get the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ThroughputPoolResource": { + "description": "An Azure Cosmos DB Throughputpool.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ThroughputPoolProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] + }, + "ThroughputPoolUpdate": { + "type": "object", + "description": "Represents a throughput pool resource for updates.", + "properties": { + "properties": { + "$ref": "#/definitions/ThroughputPoolProperties", + "x-ms-client-flatten": true, + "description": "Properties of the throughput pool." + } + } + }, + "ThroughputPoolProperties": { + "description": "Properties to update Azure Cosmos DB throughput pool.", + "type": "object", + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "A provisioning state of the ThroughputPool." + }, + "maxThroughput": { + "type": "integer", + "format": "int32", + "description": "Value for throughput to be shared among CosmosDB resources in the pool." + } + } + }, + "ThroughputPoolAccountsListResult": { + "description": "The List operation response, that contains the global database accounts and their properties.", + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ThroughputPoolAccountResource" + }, + "description": "List of global database accounts in a throughput pool and their properties." + }, + "nextLink": { + "description": "The link used to get the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ThroughputPoolAccountCreateParameters": { + "description": "Parameters for creating a Azure Cosmos DB throughput pool account.", + "type": "object", + "x-ms-mutability": [ + "create" + ], + "properties": { + "tags": { + "$ref": "cosmos-db.json#/definitions/Tags" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ThroughputPoolAccountCreateProperties" + } + } + }, + "ThroughputPoolAccountCreateProperties": { + "description": "Properties to update Azure Cosmos DB throughput pool.", + "type": "object", + "x-ms-mutability": [ + "create" + ], + "properties": { + "accountResourceIdentifier": { + "description": "The resource identifier of global database account in the throughputPool.", + "type": "string" + }, + "accountLocation": { + "description": "The location of global database account in the throughputPool.", + "type": "string" + } + } + }, + "ThroughputPoolAccountResource": { + "description": "An Azure Cosmos DB Throughputpool Account", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ThroughputPoolAccountProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "ThroughputPoolAccountProperties": { + "description": "An Azure Cosmos DB Global Database Account which is part of a Throughputpool.", + "type": "object", + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "A provisioning state of the ThroughputPool Account." + }, + "accountResourceIdentifier": { + "description": "The resource identifier of global database account in the throughputPool.", + "type": "string" + }, + "accountLocation": { + "description": "The location of global database account in the throughputPool.", + "type": "string" + }, + "accountInstanceId": { + "description": "The instance id of global database account in the throughputPool.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ThroughputPoolNameParameter": { + "name": "throughputPoolName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB Throughput Pool name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "ThroughputPoolAccountNameParameter": { + "name": "throughputPoolAccountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB global database account in a Throughput Pool", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + } + } +} diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md index 7420a4109c22..aa1fdf2a1d99 100644 --- a/specification/cosmos-db/resource-manager/readme.md +++ b/specification/cosmos-db/resource-manager/readme.md @@ -27,10 +27,30 @@ These are the global settings for the Cosmos-DB API. ``` yaml title: CosmosDBManagementClient openapi-type: arm -tag: package-2023-11 +tag: package-preview-2023-11 ``` +### Tag: package-preview-2023-11 + +These settings apply only when `--tag=package-preview-2023-11` is specified on the command line. + +```yaml $(tag) == 'package-preview-2023-11' +input-file: + - Microsoft.DocumentDB/preview/2023-11-15-preview/cosmos-db.json + - Microsoft.DocumentDB/preview/2023-11-15-preview/dataTransferService.json + - Microsoft.DocumentDB/preview/2023-11-15-preview/managedCassandra.json + - Microsoft.DocumentDB/preview/2023-11-15-preview/mongoCluster.json + - Microsoft.DocumentDB/preview/2023-11-15-preview/mongorbac.json + - Microsoft.DocumentDB/preview/2023-11-15-preview/notebook.json + - Microsoft.DocumentDB/preview/2023-11-15-preview/privateEndpointConnection.json + - Microsoft.DocumentDB/preview/2023-11-15-preview/privateLinkResources.json + - Microsoft.DocumentDB/preview/2023-11-15-preview/rbac.json + - Microsoft.DocumentDB/preview/2023-11-15-preview/restorable.json + - Microsoft.DocumentDB/preview/2023-11-15-preview/services.json + - Microsoft.DocumentDB/preview/2023-11-15-preview/throughputpool.json +``` + ### Tag: package-2023-11 These settings apply only when `--tag=package-2023-11` is specified on the command line. @@ -47,6 +67,7 @@ input-file: - Microsoft.DocumentDB/stable/2023-11-15/restorable.json - Microsoft.DocumentDB/stable/2023-11-15/services.json ``` + ### Tag: package-2023-09 These settings apply only when `--tag=package-2023-09` is specified on the command line. diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2023-11-01/settings.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2023-11-01/settings.json index db0ec0b6b979..140a969dd949 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2023-11-01/settings.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2023-11-01/settings.json @@ -275,7 +275,7 @@ ], "properties": { "preferContainerTags": { - "description": "When resource has the same tag as subscription or resource group and this property is set to true - the subscription or resource group tag will be applied. If subscription and resource group tags are also the same, subscription tag will be applied.", + "description": "This property defines the behavior when an inherited tag being applied matches a lower scope tag (Eg. Subscription tag matches the resource tag). If set to true - when tags match, the highest scope tags will be applied. Billing profile is the highest scope, followed by invoice sections, subscriptions and resource groups (allows overriding of lower scope tag values). If set to false - when tags match, the lowest scope tags will be applied. So, if a resource has the same tag as a subscription tag, the resource tag will be applied (does not allow overriding of lower scope tag values).", "type": "boolean" } } @@ -306,7 +306,7 @@ "values": [ { "value": "taginheritance", - "description": "This setting applies, all the resource group and subscription tags to usage data of child resources. Inherited tags will be seen within 24 hours for the current month's usage data.", + "description": "This setting applies billing profile, invoice section, subscription and resource group tags to current month's usage data of child resources.", "name": "taginheritance" } ] diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/databricks.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/databricks.json new file mode 100644 index 000000000000..fd3ede96fa67 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/databricks.json @@ -0,0 +1,1939 @@ +{ + "swagger": "2.0", + "info": { + "title": "AzureDatabricksManagementClient", + "version": "2023-09-15-preview", + "description": "These APIs allow end users to operate on Azure Databricks Workspace resources." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspaces" + ], + "operationId": "Workspaces_Get", + "description": "Gets the workspace.", + "x-ms-examples": { + "Get a workspace": { + "$ref": "./examples/WorkspaceGet.json" + }, + "Get a workspace with custom parameters": { + "$ref": "./examples/WorkspaceGetParameters.json" + }, + "Get a workspace with Customer-Managed Key (CMK) encryption for Managed Disks": { + "$ref": "./examples/WorkspaceManagedDiskEncryptionGet.json" + }, + "Get a workspace with Enhanced Security & Compliance Add-On": { + "$ref": "./examples/WorkspaceEnhancedSecurityComplianceGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Workspaces" + ], + "operationId": "Workspaces_Delete", + "description": "Deletes the workspace.", + "x-ms-examples": { + "Delete a workspace": { + "$ref": "./examples/WorkspaceDelete.json" + }, + "Delete a workspace with retainUcData parameter": { + "$ref": "./examples/WorkspaceDeleteRetainUcData.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "retainUcData", + "in": "query", + "required": false, + "type": "boolean", + "description": "Optional parameter to retain default unity catalog data. By default the data will retained if Uc is enabled on the workspace." + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "200": { + "description": "OK. The request has succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "put": { + "tags": [ + "Workspaces" + ], + "operationId": "Workspaces_CreateOrUpdate", + "description": "Creates a new workspace.", + "x-ms-examples": { + "Create or update workspace": { + "$ref": "./examples/WorkspaceCreate.json" + }, + "Create or update workspace with custom parameters": { + "$ref": "./examples/WorkspaceCreateWithParameters.json" + }, + "Create a workspace which is ready for Customer-Managed Key (CMK) encryption": { + "$ref": "./examples/PrepareEncryption.json" + }, + "Enable Customer-Managed Key (CMK) encryption on a workspace which is prepared for encryption": { + "$ref": "./examples/EnableEncryption.json" + }, + "Revert Customer-Managed Key (CMK) encryption to Microsoft Managed Keys encryption on a workspace": { + "$ref": "./examples/DisableEncryption.json" + }, + "Create a workspace with Customer-Managed Key (CMK) encryption for Managed Disks": { + "$ref": "./examples/WorkspaceManagedDiskEncryptionCreate.json" + }, + "Update a workspace with Customer-Managed Key (CMK) encryption for Managed Disks": { + "$ref": "./examples/WorkspaceManagedDiskEncryptionUpdate.json" + }, + "Create or update a workspace with Enhanced Security & Compliance Add-On": { + "$ref": "./examples/WorkspaceEnhancedSecurityComplianceCreateOrUpdate.json" + } + }, + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + }, + "description": "Parameters supplied to the create or update a workspace." + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Created - Returns information about the workspace, including provisioning status.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "Created - Returns information about the workspace, including provisioning status.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Workspaces" + ], + "operationId": "Workspaces_Update", + "description": "Updates a workspace.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceUpdate" + }, + "description": "The update to the workspace." + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a workspace's tags.": { + "$ref": "./examples/WorkspaceUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "operationId": "Workspaces_ListByResourceGroup", + "description": "Gets all the workspaces within a resource group.", + "x-ms-examples": { + "Lists workspaces": { + "$ref": "./examples/WorkspacesListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of workspaces.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Databricks/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "operationId": "Workspaces_ListBySubscription", + "description": "Gets all the workspaces within a subscription.", + "x-ms-examples": { + "Lists workspaces": { + "$ref": "./examples/WorkspacesListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of workspaces.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Databricks/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available RP operations.", + "x-ms-examples": { + "Operations": { + "$ref": "./examples/OperationsList.json" + } + }, + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "summary": "List private link resources", + "description": "List private link resources for a given workspace", + "operationId": "PrivateLinkResources_List", + "x-ms-examples": { + "List private link resources": { + "$ref": "./examples/ListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of private link resources", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesList" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateLinkResources/{groupId}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "summary": "Get the specified private link resource", + "description": "Get the specified private link resource for the given group id (sub-resource)", + "operationId": "PrivateLinkResources_Get", + "x-ms-examples": { + "Get a private link resource": { + "$ref": "./examples/PrivateLinkResourcesGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/GroupId" + } + ], + "responses": { + "200": { + "description": "OK - Returns the specified of private link resource", + "schema": { + "$ref": "#/definitions/GroupIdInformation" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "List private endpoint connections", + "description": "List private endpoint connections of the workspace", + "operationId": "PrivateEndpointConnections_List", + "x-ms-examples": { + "List private endpoint connections": { + "$ref": "./examples/ListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns list of private endpoint connections for a workspace", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionsList" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Get private endpoint connection", + "description": "Get a private endpoint connection properties for a workspace", + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "Get a private endpoint connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK - Returns the private endpoint connection properties of a workspace", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "PUT", + "PrivateEndpointConnections" + ], + "summary": "Update private endpoint connection status", + "description": "Update the status of a private endpoint connection with the specified name", + "operationId": "PrivateEndpointConnections_Create", + "x-ms-examples": { + "Update a private endpoint connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection with updated properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "Accepted - This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "DELETE", + "PrivateEndpointConnections" + ], + "summary": "Remove private endpoint connection", + "description": "Remove private endpoint connection with the specified name", + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "Remove a private endpoint connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "202": { + "description": "Accepted - This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation." + }, + "200": { + "description": "OK - Returns the status of polling request for the delete operation." + }, + "204": { + "description": "No Content - PrivateEndpoint does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "OutboundNetworkDependenciesEndpoints" + ], + "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified Workspace.", + "description": "Gets the list of endpoints that VNET Injected Workspace calls Azure Databricks Control Plane. You must configure outbound access with these endpoints. For more information, see https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/udr", + "operationId": "OutboundNetworkDependenciesEndpoints_List", + "x-ms-examples": { + "List OutboundNetworkDependenciesEndpoints by Workspace": { + "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response contains list of outbound network dependency endpoints", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Workspace": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspaceProperties", + "description": "The workspace properties." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the resource." + }, + "systemData": { + "description": "The system metadata relating to this resource", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "description": "Information about workspace." + }, + "WorkspaceProperties": { + "properties": { + "managedResourceGroupId": { + "type": "string", + "description": "The managed resource group Id." + }, + "parameters": { + "$ref": "#/definitions/WorkspaceCustomParameters", + "description": "The workspace's custom parameters." + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState", + "description": "The workspace provisioning state." + }, + "uiDefinitionUri": { + "type": "string", + "description": "The blob URI where the UI definition file is located." + }, + "authorizations": { + "description": "The workspace provider authorizations.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/WorkspaceProviderAuthorization" + } + }, + "createdBy": { + "description": "Indicates the Object ID, PUID and Application ID of entity that created the workspace.", + "$ref": "#/definitions/CreatedBy" + }, + "updatedBy": { + "description": "Indicates the Object ID, PUID and Application ID of entity that last updated the workspace.", + "$ref": "#/definitions/CreatedBy" + }, + "createdDateTime": { + "description": "Specifies the date and time when the workspace is created.", + "$ref": "#/definitions/CreatedDateTime" + }, + "workspaceId": { + "readOnly": true, + "description": "The unique identifier of the databricks workspace in databricks control plane.", + "type": "string" + }, + "workspaceUrl": { + "readOnly": true, + "description": "The workspace URL which is of the format 'adb-{workspaceId}.{random}.azuredatabricks.net'", + "type": "string" + }, + "storageAccountIdentity": { + "description": "The details of Managed Identity of Storage Account", + "$ref": "#/definitions/ManagedIdentityConfiguration" + }, + "managedDiskIdentity": { + "description": "The details of Managed Identity of Disk Encryption Set used for Managed Disk Encryption", + "$ref": "#/definitions/ManagedIdentityConfiguration" + }, + "diskEncryptionSetId": { + "readOnly": true, + "type": "string", + "description": "The resource Id of the managed disk encryption set." + }, + "encryption": { + "type": "object", + "description": "Encryption properties for databricks workspace", + "properties": { + "entities": { + "$ref": "#/definitions/EncryptionEntitiesDefinition", + "description": "Encryption entities definition for the workspace." + } + }, + "required": [ + "entities" + ] + }, + "enhancedSecurityCompliance": { + "description": "Contains settings related to the Enhanced Security and Compliance Add-On.", + "$ref": "#/definitions/EnhancedSecurityComplianceDefinition" + }, + "privateEndpointConnections": { + "readOnly": true, + "description": "Private endpoint connections created on the workspace", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "publicNetworkAccess": { + "type": "string", + "description": "The network access type for accessing workspace. Set value to disabled to access workspace only via private link.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PublicNetworkAccess" + } + }, + "requiredNsgRules": { + "type": "string", + "description": "Gets or sets a value indicating whether data plane (clusters) to control plane communication happen over private endpoint. Supported values are 'AllRules' and 'NoAzureDatabricksRules'. 'NoAzureServiceRules' value is for internal use only.", + "enum": [ + "AllRules", + "NoAzureDatabricksRules", + "NoAzureServiceRules" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "RequiredNsgRules" + } + }, + "defaultCatalog": { + "description": "Properties for Default Catalog configuration during workspace creation.", + "$ref": "#/definitions/DefaultCatalogProperties" + }, + "isUcEnabled": { + "readOnly": true, + "description": "Indicates whether unity catalog enabled for the workspace or not.", + "type": "boolean" + } + }, + "required": [ + "managedResourceGroupId" + ], + "description": "The workspace properties." + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "Resource": { + "description": "The core properties of ARM resources", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts." + } + }, + "x-ms-azure-resource": true + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The SKU name." + }, + "tier": { + "type": "string", + "description": "The SKU tier." + } + }, + "required": [ + "name" + ], + "description": "SKU for the resource." + }, + "ProvisioningState": { + "description": "Provisioning status of the workspace.", + "readOnly": true, + "enum": [ + "Accepted", + "Running", + "Ready", + "Creating", + "Created", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "Updating" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "PeeringProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PeeringProvisioningState", + "modelAsString": true + } + }, + "ManagedIdentityConfiguration": { + "description": "The Managed Identity details for storage account.", + "properties": { + "principalId": { + "type": "string", + "format": "uuid", + "description": "The objectId of the Managed Identity that is linked to the Managed Storage account.", + "readOnly": true + }, + "tenantId": { + "type": "string", + "format": "uuid", + "description": "The tenant Id where the Managed Identity is created.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of Identity created. It can be either SystemAssigned or UserAssigned.", + "readOnly": true + } + } + }, + "EnhancedSecurityComplianceDefinition": { + "type": "object", + "description": "Status of settings related to the Enhanced Security and Compliance Add-On.", + "properties": { + "automaticClusterUpdate": { + "type": "string", + "description": "Status of automated cluster updates feature.", + "$ref": "#/definitions/AutomaticClusterUpdateDefinition" + }, + "complianceSecurityProfile": { + "type": "object", + "description": "Status of Compliance Security Profile feature.", + "$ref": "#/definitions/ComplianceSecurityProfileDefinition" + }, + "enhancedSecurityMonitoring": { + "type": "object", + "description": "Status of Enhanced Security Monitoring feature.", + "$ref": "#/definitions/EnhancedSecurityMonitoringDefinition" + } + } + }, + "AutomaticClusterUpdateDefinition": { + "type": "object", + "description": "Status of automated cluster updates feature.", + "properties": { + "value": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AutomaticClusterUpdateValue" + } + } + } + }, + "EnhancedSecurityMonitoringDefinition": { + "type": "object", + "description": "Status of Enhanced Security Monitoring feature.", + "properties": { + "value": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "EnhancedSecurityMonitoringValue" + } + } + } + }, + "ComplianceSecurityProfileDefinition": { + "type": "object", + "description": "Status of Compliance Security Profile feature.", + "properties": { + "complianceStandards": { + "description": "Compliance standards associated with the workspace.", + "type": "array", + "items": { + "$ref": "#/definitions/ComplianceStandardDefinition" + } + }, + "value": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ComplianceSecurityProfileValue" + } + } + } + }, + "ComplianceStandardDefinition": { + "description": "Compliance standard that can be associated with a workspace.", + "type": "string", + "enum": [ + "NONE", + "HIPAA", + "PCI_DSS" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ComplianceStandard" + } + }, + "WorkspaceCustomParameterType": { + "description": "Provisioning status of the workspace.", + "readOnly": true, + "enum": [ + "Bool", + "Object", + "String" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomParameterType", + "modelAsString": true + } + }, + "WorkspaceCustomBooleanParameter": { + "properties": { + "type": { + "$ref": "#/definitions/WorkspaceCustomParameterType", + "description": "The type of variable that this is" + }, + "value": { + "type": "boolean", + "description": "The value which should be used for this field." + } + }, + "required": [ + "value" + ], + "description": "The value which should be used for this field." + }, + "WorkspaceCustomObjectParameter": { + "properties": { + "type": { + "$ref": "#/definitions/WorkspaceCustomParameterType", + "description": "The type of variable that this is" + }, + "value": { + "type": "object", + "description": "The value which should be used for this field." + } + }, + "required": [ + "value" + ], + "description": "The value which should be used for this field." + }, + "WorkspaceCustomStringParameter": { + "properties": { + "type": { + "$ref": "#/definitions/WorkspaceCustomParameterType", + "description": "The type of variable that this is" + }, + "value": { + "type": "string", + "description": "The value which should be used for this field." + } + }, + "required": [ + "value" + ], + "description": "The Value." + }, + "WorkspaceCustomParameters": { + "properties": { + "amlWorkspaceId": { + "$ref": "#/definitions/WorkspaceCustomStringParameter", + "description": "The ID of a Azure Machine Learning workspace to link with Databricks workspace" + }, + "customVirtualNetworkId": { + "$ref": "#/definitions/WorkspaceCustomStringParameter", + "description": "The ID of a Virtual Network where this Databricks Cluster should be created" + }, + "customPublicSubnetName": { + "$ref": "#/definitions/WorkspaceCustomStringParameter", + "description": "The name of a Public Subnet within the Virtual Network" + }, + "customPrivateSubnetName": { + "$ref": "#/definitions/WorkspaceCustomStringParameter", + "description": "The name of the Private Subnet within the Virtual Network" + }, + "enableNoPublicIp": { + "$ref": "#/definitions/WorkspaceCustomBooleanParameter", + "description": "Should the Public IP be Disabled?" + }, + "loadBalancerBackendPoolName": { + "$ref": "#/definitions/WorkspaceCustomStringParameter", + "description": "Name of the outbound Load Balancer Backend Pool for Secure Cluster Connectivity (No Public IP)." + }, + "loadBalancerId": { + "$ref": "#/definitions/WorkspaceCustomStringParameter", + "description": "Resource URI of Outbound Load balancer for Secure Cluster Connectivity (No Public IP) workspace." + }, + "natGatewayName": { + "$ref": "#/definitions/WorkspaceCustomStringParameter", + "description": "Name of the NAT gateway for Secure Cluster Connectivity (No Public IP) workspace subnets." + }, + "publicIpName": { + "$ref": "#/definitions/WorkspaceCustomStringParameter", + "description": "Name of the Public IP for No Public IP workspace with managed vNet." + }, + "prepareEncryption": { + "$ref": "#/definitions/WorkspaceCustomBooleanParameter", + "description": "Prepare the workspace for encryption. Enables the Managed Identity for managed storage account." + }, + "encryption": { + "$ref": "#/definitions/WorkspaceEncryptionParameter", + "description": "Contains the encryption details for Customer-Managed Key (CMK) enabled workspace." + }, + "requireInfrastructureEncryption": { + "$ref": "#/definitions/WorkspaceCustomBooleanParameter", + "description": "A boolean indicating whether or not the DBFS root file system will be enabled with secondary layer of encryption with platform managed keys for data at rest." + }, + "storageAccountName": { + "$ref": "#/definitions/WorkspaceCustomStringParameter", + "description": "Default DBFS storage account name." + }, + "storageAccountSkuName": { + "$ref": "#/definitions/WorkspaceCustomStringParameter", + "description": "Storage account SKU name, ex: Standard_GRS, Standard_LRS. Refer https://aka.ms/storageskus for valid inputs." + }, + "vnetAddressPrefix": { + "$ref": "#/definitions/WorkspaceCustomStringParameter", + "description": "Address prefix for Managed virtual network. Default value for this input is 10.139." + }, + "resourceTags": { + "$ref": "#/definitions/WorkspaceCustomObjectParameter", + "readOnly": true, + "description": "Tags applied to resources under Managed resource group. These can be updated by updating tags at workspace level." + } + }, + "description": "Custom Parameters used for Cluster Creation." + }, + "CreatedDateTime": { + "type": "string", + "format": "date-time", + "description": "The date and time stamp when the workspace was created.", + "readOnly": true + }, + "CreatedBy": { + "properties": { + "oid": { + "type": "string", + "format": "uuid", + "description": "The Object ID that created the workspace.", + "readOnly": true + }, + "puid": { + "type": "string", + "description": "The Personal Object ID corresponding to the object ID above", + "readOnly": true + }, + "applicationId": { + "type": "string", + "format": "uuid", + "description": "The application ID of the application that initiated the creation of the workspace. For example, Azure Portal.", + "readOnly": true + } + }, + "description": "Provides details of the entity that created/updated the workspace." + }, + "WorkspaceEncryptionParameter": { + "properties": { + "type": { + "$ref": "#/definitions/WorkspaceCustomParameterType", + "description": "The type of variable that this is" + }, + "value": { + "$ref": "#/definitions/Encryption", + "description": "The value which should be used for this field." + } + }, + "description": "The object that contains details of encryption used on the workspace." + }, + "Encryption": { + "properties": { + "keySource": { + "type": "string", + "description": "The encryption keySource (provider). Possible values (case-insensitive): Default, Microsoft.Keyvault", + "enum": [ + "Default", + "Microsoft.Keyvault" + ], + "x-ms-enum": { + "name": "KeySource", + "modelAsString": true + }, + "default": "Default" + }, + "KeyName": { + "type": "string", + "description": "The name of KeyVault key." + }, + "keyversion": { + "type": "string", + "description": "The version of KeyVault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyvaulturi": { + "type": "string", + "description": "The Uri of KeyVault.", + "x-ms-client-name": "KeyVaultUri" + } + }, + "description": "The object that contains details of encryption used on the workspace." + }, + "DefaultCatalogProperties": { + "type": "object", + "properties": { + "initialType": { + "type": "string", + "description": "Defines the initial type of the default catalog. Possible values (case-insensitive): HiveMetastore, UnityCatalog", + "enum": [ + "HiveMetastore", + "UnityCatalog" + ], + "x-ms-enum": { + "name": "initialType", + "modelAsString": true + }, + "default": "HiveMetastore" + }, + "initialName": { + "type": "string", + "description": "Specifies the initial Name of default catalog. If not specified, the name of the workspace will be used." + } + }, + "description": "These properties lets user specify default catalog properties during workspace creation." + }, + "EncryptionEntitiesDefinition": { + "properties": { + "managedServices": { + "type": "object", + "description": "Encryption properties for the databricks managed services.", + "$ref": "#/definitions/EncryptionV2" + }, + "managedDisk": { + "type": "object", + "description": "Encryption properties for the databricks managed disks.", + "$ref": "#/definitions/ManagedDiskEncryption" + } + }, + "description": "Encryption entities for databricks workspace resource." + }, + "EncryptionV2": { + "properties": { + "keySource": { + "type": "string", + "description": "The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Keyvault", + "enum": [ + "Microsoft.Keyvault" + ], + "x-ms-enum": { + "name": "EncryptionKeySource", + "modelAsString": true + } + }, + "keyVaultProperties": { + "properties": { + "keyVaultUri": { + "type": "string", + "description": "The Uri of KeyVault." + }, + "keyName": { + "type": "string", + "description": "The name of KeyVault key." + }, + "keyVersion": { + "type": "string", + "description": "The version of KeyVault key." + } + }, + "required": [ + "keyVaultUri", + "keyName", + "keyVersion" + ], + "description": "Key Vault input properties for encryption." + } + }, + "required": [ + "keySource" + ], + "description": "The object that contains details of encryption used on the workspace." + }, + "ManagedDiskEncryption": { + "type": "object", + "properties": { + "keySource": { + "type": "string", + "description": "The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Keyvault", + "enum": [ + "Microsoft.Keyvault" + ], + "x-ms-enum": { + "name": "EncryptionKeySource", + "modelAsString": true + } + }, + "keyVaultProperties": { + "type": "object", + "properties": { + "keyVaultUri": { + "type": "string", + "description": "The URI of KeyVault." + }, + "keyName": { + "type": "string", + "description": "The name of KeyVault key." + }, + "keyVersion": { + "type": "string", + "description": "The version of KeyVault key." + } + }, + "required": [ + "keyVaultUri", + "keyName", + "keyVersion" + ], + "description": "Key Vault input properties for encryption." + }, + "rotationToLatestKeyVersionEnabled": { + "type": "boolean", + "description": "Indicate whether the latest key version should be automatically used for Managed Disk Encryption." + } + }, + "required": [ + "keySource", + "keyVaultProperties" + ], + "description": "The object that contains details of encryption used on the workspace." + }, + "WorkspaceProviderAuthorization": { + "properties": { + "principalId": { + "type": "string", + "format": "uuid", + "description": "The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the workspace resources." + }, + "roleDefinitionId": { + "type": "string", + "format": "uuid", + "description": "The provider's role definition identifier. This role will define all the permissions that the provider must have on the workspace's container resource group. This role definition cannot have permission to delete the resource group." + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "description": "The workspace provider authorization." + }, + "WorkspaceUpdate": { + "description": "An update to a workspace.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ErrorDetail": { + "title": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error's code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + }, + "target": { + "description": "Indicates which property in the request is responsible for the error.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorInfo": { + "title": "The code and message for an error.", + "type": "object", + "properties": { + "code": { + "description": "A machine readable error code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + }, + "details": { + "description": "error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + }, + "innererror": { + "description": "Inner error details if they exist.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorResponse": { + "title": "Error response.", + "description": "Contains details when the response code indicates an error.", + "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "#/definitions/ErrorInfo" + } + }, + "required": [ + "error" + ] + }, + "WorkspaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Workspace" + }, + "description": "The array of workspaces." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of workspaces." + }, + "Operation": { + "description": "REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: ex Microsoft.Databricks", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description for the resource operation.", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Resource Provider operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Resource Provider operations supported by the Resource Provider resource provider." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "PrivateLinkResourcesList": { + "description": "The available private link resources for a workspace", + "type": "object", + "properties": { + "value": { + "description": "The list of available private link resources for a workspace", + "type": "array", + "items": { + "$ref": "#/definitions/GroupIdInformation" + } + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of private link resources." + } + } + }, + "GroupIdInformation": { + "description": "The group information for creating a private endpoint on a workspace", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "description": "The group id properties.", + "type": "object", + "x-ms-client-flatten": false, + "$ref": "#/definitions/GroupIdInformationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "properties" + ] + }, + "GroupIdInformationProperties": { + "description": "The properties for a group information object", + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The group id" + }, + "requiredMembers": { + "description": "The required members for a specific group id", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The required DNS zones for a specific group id", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PrivateEndpointConnectionsList": { + "description": "List of private link connections.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of returned private endpoint connection." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of endpoint connections." + } + } + }, + "PrivateEndpointConnection": { + "description": "The private endpoint connection of a workspace", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "type": "object", + "description": "The private endpoint connection properties.", + "x-ms-client-flatten": false, + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + } + }, + "required": [ + "properties" + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "The properties of a private endpoint connection", + "type": "object", + "properties": { + "privateEndpoint": { + "title": "Private endpoint", + "description": "Private endpoint", + "$ref": "#/definitions/PrivateEndpoint" + }, + "groupIds": { + "type": "array", + "description": "GroupIds from the private link service resource.", + "items": { + "type": "string" + } + }, + "privateLinkServiceConnectionState": { + "title": "Private link service service connection state", + "description": "Private endpoint connection state", + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "Provisioning state of the private endpoint connection." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "description": "The private endpoint property of a private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The current state of a private endpoint connection", + "type": "object", + "properties": { + "status": { + "description": "The status of a private endpoint connection", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The description for the current state of a private endpoint connection" + }, + "actionsRequired": { + "type": "string", + "description": "Actions required for a private endpoint connection" + } + }, + "required": [ + "status" + ] + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "EndpointDependency": { + "description": "A domain name or IP address the Workspace is reaching at.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The Ports used when connecting to domainName.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/EndpointDetail" + } + } + } + }, + "EndpointDetail": { + "description": "Connect information from the Workspace to a single endpoint.", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IP Address that Domain Name currently resolves to.", + "type": "string" + }, + "port": { + "format": "int32", + "description": "The port an endpoint is connected to.", + "type": "integer" + }, + "latency": { + "format": "double", + "description": "The time in milliseconds it takes for the connection to be created from the Workspace to this IpAddress at this Port.", + "type": "number" + }, + "isAccessible": { + "description": "Whether it is possible to create a connection from the Workspace to this IpAddress at this Port.", + "type": "boolean" + } + } + }, + "OutboundEnvironmentEndpoint": { + "description": "Egress endpoints which Workspace connects to for common purposes.", + "type": "object", + "properties": { + "category": { + "description": "The category of endpoints accessed by the Workspace, e.g. azure-storage, azure-mysql, etc.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that Workspace connect to", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/EndpointDependency" + } + } + } + }, + "OutboundEnvironmentEndpointCollection": { + "description": "Collection of outbound network dependency endpoints", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "WorkspaceName": { + "name": "workspaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the workspace.", + "minLength": 3, + "maxLength": 64, + "x-ms-parameter-location": "method" + }, + "PeeringNameParameter": { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the workspace vNet peering.", + "x-ms-parameter-location": "method" + }, + "GroupId": { + "name": "groupId", + "in": "path", + "description": "The name of the private link resource", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/DisableEncryption.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/DisableEncryption.json new file mode 100644 index 000000000000..cf5909137303 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/DisableEncryption.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview", + "parameters": { + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": { + "encryption": { + "value": { + "keySource": "Default" + } + } + } + }, + "location": "westus" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "sku": { + "name": "premium" + }, + "location": "East US 2", + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": { + "customPrivateSubnetName": { + "type": "String", + "value": "PrivateBob" + }, + "customPublicSubnetName": { + "type": "String", + "value": "PublicSarah" + }, + "customVirtualNetworkId": { + "type": "String", + "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork" + }, + "prepareEncryption": { + "type": "Bool", + "value": true + }, + "encryption": { + "type": "Object", + "value": { + "keySource": "Default" + } + } + }, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "storageAccountIdentity": { + "principalId": "55555555-5555-5555-5555-555555555555", + "tenantId": "66666666-6666-6666-6666-666666666666", + "type": "SystemAssigned" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net", + "isUcEnabled": true + } + } + }, + "201": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": { + "environment": "dev" + }, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "storageAccountIdentity": { + "principalId": "55555555-5555-5555-5555-555555555555", + "tenantId": "66666666-6666-6666-6666-666666666666", + "type": "SystemAssigned" + }, + "isUcEnabled": true + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/EnableEncryption.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/EnableEncryption.json new file mode 100644 index 000000000000..7c4e5aa37497 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/EnableEncryption.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview", + "parameters": { + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": { + "prepareEncryption": { + "value": true + }, + "encryption": { + "value": { + "keySource": "Microsoft.Keyvault", + "keyvaulturi": "https://myKeyVault.vault.azure.net/", + "KeyName": "myKeyName", + "keyversion": "00000000000000000000000000000000" + } + } + } + }, + "location": "westus" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "sku": { + "name": "premium" + }, + "location": "East US 2", + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": { + "customPrivateSubnetName": { + "type": "String", + "value": "PrivateBob" + }, + "customPublicSubnetName": { + "type": "String", + "value": "PublicSarah" + }, + "customVirtualNetworkId": { + "type": "String", + "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork" + }, + "prepareEncryption": { + "type": "Bool", + "value": true + }, + "encryption": { + "type": "Object", + "value": { + "keySource": "Microsoft.Keyvault", + "keyvaulturi": "https://myKeyVault.vault.azure.net/", + "KeyName": "myKeyName", + "keyversion": "00000000000000000000000000000000" + } + } + }, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "storageAccountIdentity": { + "principalId": "55555555-5555-5555-5555-555555555555", + "tenantId": "66666666-6666-6666-6666-666666666666", + "type": "SystemAssigned" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net", + "isUcEnabled": true + } + } + }, + "201": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": { + "environment": "dev" + }, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "storageAccountIdentity": { + "principalId": "55555555-5555-5555-5555-555555555555", + "tenantId": "66666666-6666-6666-6666-666666666666", + "type": "SystemAssigned" + }, + "isUcEnabled": true + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/ListPrivateEndpointConnections.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/ListPrivateEndpointConnections.json new file mode 100644 index 000000000000..ec7357d6ae3e --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/ListPrivateEndpointConnections.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "workspaceName": "myWorkspace", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-09-15-preview", + "subscriptionId": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Databricks/workspaces/myWorkspace/PrivateEndpointConnections/myWorkspace.23456789-1111-1111-1111-111111111111", + "name": "myWorkspace.23456789-1111-1111-1111-111111111111", + "type": "Microsoft.Databricks/workspaces/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/ListPrivateLinkResources.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/ListPrivateLinkResources.json new file mode 100644 index 000000000000..dc8e7fbbb470 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/ListPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "workspaceName": "myWorkspace", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-09-15-preview", + "subscriptionId": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Databricks/workspaces/myWorkspace/PrivateLinkResources/databricks_ui_api", + "name": "databricks_ui_api", + "type": "Microsoft.Databricks/workspaces/PrivateLinkResources", + "properties": { + "groupId": "databricks_ui_api", + "requiredMembers": [ + "databricks_ui_api" + ], + "requiredZoneNames": [ + "privatelink.azuredatabricks.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/OperationsList.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/OperationsList.json new file mode 100644 index 000000000000..16d791f989c5 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/OperationsList.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview" + }, + "responses": { + "200": { + "body": [ + { + "name": "Microsoft.Databricks/workspaces/read", + "display": { + "provider": "Microsoft Databricks", + "resource": "Workspace", + "operation": "List Workspaces", + "description": "Retrieves a list of workspaces." + } + }, + { + "name": "Microsoft.Databricks/workspaces/write", + "display": { + "provider": "Microsoft Databricks", + "resource": "Workspace", + "operation": "Create Workspace", + "description": "Creates an workspace." + } + }, + { + "name": "Microsoft.Databricks/workspaces/delete", + "display": { + "provider": "Microsoft Databricks", + "resource": "Workspace", + "operation": "Remove Workspace", + "description": "Removes an workspace." + } + }, + { + "name": "Microsoft.Databricks/workspaces/virtualNetworkPeerings/read", + "display": { + "provider": "Microsoft Databricks", + "resource": "Virtual Network Peering", + "operation": "Get Virtual Network Peering", + "description": "Gets the virtual network peering." + } + }, + { + "name": "Microsoft.Databricks/workspaces/virtualNetworkPeerings/write", + "display": { + "provider": "Microsoft Databricks", + "resource": "Virtual Network Peering", + "operation": "Add Virtual Network Peering", + "description": "Add or modify virtual network peering" + } + }, + { + "name": "Microsoft.Databricks/workspaces/virtualNetworkPeerings/delete", + "display": { + "provider": "Microsoft Databricks", + "resource": "Virtual Network Peering", + "operation": "Delete Virtual Network Peering", + "description": "Deletes a virtual network peering" + } + }, + { + "name": "Microsoft.Databricks/workspaces/PrivateLinkResources/read", + "display": { + "provider": "Microsoft Databricks", + "resource": "Private Link Resources", + "operation": "List Private Link Resources", + "description": "Retrieve List of Private Link Resources" + } + }, + { + "name": "Microsoft.Databricks/workspaces/PrivateEndpointConnections/read", + "display": { + "provider": "Microsoft Databricks", + "resource": "Private Endpoint Connection", + "operation": "List Private Endpoint Connections", + "description": "Retrieve List of Private Endpoint Connections" + } + }, + { + "name": "Microsoft.Databricks/workspaces/PrivateEndpointConnections/write", + "display": { + "provider": "Microsoft Databricks", + "resource": "Private Endpoint Connection", + "operation": "Update Private Endpoint Connection", + "description": "Update a virtual network peering" + } + }, + { + "name": "Microsoft.Databricks/workspaces/PrivateEndpointConnections/delete", + "display": { + "provider": "Microsoft Databricks", + "resource": "Private Endpoint Connection", + "operation": "Delete Private Endpoint Connection", + "description": "Delete a Private Endpoint Connection" + } + }, + { + "name": "Microsoft.Databricks/accessConnectors/read", + "display": { + "provider": "Azure Databricks", + "resource": "AccessConnector", + "operation": "List Azure Databricks Access Connector", + "description": "Retrieves a list of Azure Databricks Access Connector." + } + }, + { + "name": "Microsoft.Databricks/accessConnectors/write", + "display": { + "provider": "Azure Databricks", + "resource": "AccessConnector", + "operation": "Create Azure Databricks Access Connector", + "description": "Creates an Azure Databricks Access Connector." + } + }, + { + "name": "Microsoft.Databricks/accessConnectors/delete", + "display": { + "provider": "Azure Databricks", + "resource": "AccessConnector", + "operation": "Remove Azure Databricks Access Connector", + "description": "Removes Azure Databricks Access Connector." + } + } + ] + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/OutboundNetworkDependenciesEndpointsList.json new file mode 100644 index 000000000000..72cec711e232 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/OutboundNetworkDependenciesEndpointsList.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "workspaceName": "myWorkspace", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-09-15-preview", + "subscriptionId": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": [ + { + "category": "Webapp", + "endpoints": [ + { + "endpointDetails": [ + { + "ipAddress": "11.111.111.11/11", + "port": 123 + }, + { + "ipAddress": "22.222.222.22/22", + "port": 123 + } + ] + } + ] + }, + { + "category": "Control Plane NAT", + "endpoints": [ + { + "endpointDetails": [ + { + "ipAddress": "33.33.333.333/33", + "port": 123 + } + ] + } + ] + }, + { + "category": "Extended infrastructure", + "endpoints": [ + { + "endpointDetails": [ + { + "ipAddress": "44.44.44.44/44", + "port": 123 + } + ] + } + ] + }, + { + "category": "Azure Storage", + "endpoints": [ + { + "domainName": "xxx.blob.core.windows.net", + "endpointDetails": [ + { + "port": 123 + } + ] + }, + { + "domainName": "yyy.blob.core.windows.net", + "endpointDetails": [ + { + "port": 123 + } + ] + }, + { + "domainName": "zzz.blob.core.windows.net", + "endpointDetails": [ + { + "port": 123 + } + ] + } + ] + }, + { + "category": "Azure My SQL", + "endpoints": [ + { + "domainName": "xxx.mysql.database.azure.com", + "endpointDetails": [ + { + "port": 1234 + } + ] + }, + { + "domainName": "yyy.mysql.database.azure.com", + "endpointDetails": [ + { + "port": 1234 + } + ] + } + ] + }, + { + "category": "Azure Servicebus", + "endpoints": [ + { + "domainName": "xxx.servicebus.windows.net", + "endpointDetails": [ + { + "port": 1234 + } + ] + } + ] + } + ] + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrepareEncryption.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrepareEncryption.json new file mode 100644 index 000000000000..98e0f70bdb8b --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrepareEncryption.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview", + "parameters": { + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": { + "prepareEncryption": { + "value": true + } + } + }, + "location": "westus" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "sku": { + "name": "premium" + }, + "location": "East US 2", + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": null, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "storageAccountIdentity": { + "principalId": "55555555-5555-5555-5555-555555555555", + "tenantId": "66666666-6666-6666-6666-666666666666", + "type": "SystemAssigned" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net" + } + } + }, + "201": { + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": { + "environment": "dev" + }, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": null, + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z" + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrivateEndpointConnectionsDelete.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..5a7f102ffd27 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "workspaceName": "myWorkspace", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-09-15-preview", + "subscriptionId": "11111111-1111-1111-1111-111111111111", + "privateEndpointConnectionName": "myWorkspace.23456789-1111-1111-1111-111111111111" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.Databricks/locations/exampleLocation/operationStatuses/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-09-15-preview", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.Databricks/locations/exampleLocation/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-09-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrivateEndpointConnectionsGet.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..daedf1de2616 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "workspaceName": "myWorkspace", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-09-15-preview", + "subscriptionId": "11111111-1111-1111-1111-111111111111", + "privateEndpointConnectionName": "myWorkspace.23456789-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Databricks/workspaces/myWorkspace/PrivateEndpointConnections/myWorkspace.23456789-1111-1111-1111-111111111111", + "name": "myWorkspace.23456789-1111-1111-1111-111111111111", + "type": "Microsoft.Databricks/workspaces/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrivateEndpointConnectionsUpdate.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..5f5ccf83f796 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "workspaceName": "myWorkspace", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-09-15-preview", + "subscriptionId": "11111111-1111-1111-1111-111111111111", + "privateEndpointConnectionName": "myWorkspace.23456789-1111-1111-1111-111111111111", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by databricksadmin@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Databricks/workspaces/myWorkspace/PrivateEndpointConnections/myWorkspace.23456789-1111-1111-1111-111111111111", + "name": "myWorkspace.23456789-1111-1111-1111-111111111111", + "type": "Microsoft.Databricks/workspaces/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by databricksadmin@contoso.com", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Databricks/workspaces/myWorkspace/PrivateEndpointConnections/myWorkspace.23456789-1111-1111-1111-111111111111", + "name": "myWorkspace.23456789-1111-1111-1111-111111111111", + "type": "Microsoft.Databricks/workspaces/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by databricksadmin@contoso.com", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrivateLinkResourcesGet.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrivateLinkResourcesGet.json new file mode 100644 index 000000000000..7a4fa24ba9a1 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/PrivateLinkResourcesGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview", + "subscriptionId": "11111111-1111-1111-1111-111111111111", + "groupId": "databricks_ui_api" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Databricks/workspaces/myWorkspace/PrivateLinkResources/databricks_ui_api", + "name": "databricks_ui_api", + "type": "Microsoft.Databricks/workspaces/PrivateLinkResources", + "properties": { + "groupId": "databricks_ui_api", + "requiredMembers": [ + "databricks_ui_api" + ], + "requiredZoneNames": [ + "privatelink.azuredatabricks.net" + ] + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceCreate.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceCreate.json new file mode 100644 index 000000000000..19c48e33f652 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceCreate.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview", + "parameters": { + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "defaultCatalog": { + "initialType": "UnityCatalog", + "initialName": "" + } + }, + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": null, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": null, + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "defaultCatalog": { + "initialType": "UnityCatalog", + "initialName": "" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net", + "isUcEnabled": true + } + } + }, + "201": { + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": { + "environment": "dev" + }, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": null, + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "isUcEnabled": true + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceCreateWithParameters.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceCreateWithParameters.json new file mode 100644 index 000000000000..0e7203e15c40 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceCreateWithParameters.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview", + "parameters": { + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "defaultCatalog": { + "initialType": "HiveMetastore", + "initialName": "" + }, + "parameters": { + "customVirtualNetworkId": { + "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork" + }, + "customPublicSubnetName": { + "value": "myPublicSubnet" + }, + "customPrivateSubnetName": { + "value": "myPrivateSubnet" + } + } + }, + "location": "westus" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": null, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": { + "customPrivateSubnetName": { + "type": "String", + "value": "myPrivateSubnet" + }, + "customPublicSubnetName": { + "type": "String", + "value": "myPublicSubnet" + }, + "customVirtualNetworkId": { + "type": "String", + "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork" + } + }, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "defaultCatalog": { + "initialType": "HiveMetastore", + "initialName": "" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net", + "isUcEnabled": true + } + } + }, + "201": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": { + "environment": "dev" + }, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "isUcEnabled": true + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceDelete.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceDelete.json new file mode 100644 index 000000000000..fb884ecbaa30 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "workspaceName": "myWorkspace", + "resourceGroupName": "rg", + "api-version": "2023-09-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.Databricks/workspaces/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-09-15-preview", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.Databricks/workspaces/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-09-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceDeleteRetainUcData.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceDeleteRetainUcData.json new file mode 100644 index 000000000000..c29eb4288e59 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceDeleteRetainUcData.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "workspaceName": "myWorkspace", + "resourceGroupName": "rg", + "api-version": "2023-09-15-preview", + "subscriptionId": "subid", + "retainUcData": "false" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.Databricks/workspaces/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-09-15-preview", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.Databricks/workspaces/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-09-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceEnhancedSecurityComplianceCreateOrUpdate.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceEnhancedSecurityComplianceCreateOrUpdate.json new file mode 100644 index 000000000000..8d89a3ee786c --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceEnhancedSecurityComplianceCreateOrUpdate.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview", + "parameters": { + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "enhancedSecurityCompliance": { + "automaticClusterUpdate": { + "value": "Enabled" + }, + "complianceSecurityProfile": { + "value": "Enabled", + "complianceStandards": [ + "PCI_DSS", + "HIPAA" + ] + }, + "enhancedSecurityMonitoring": { + "value": "Enabled" + } + } + }, + "location": "eastus2" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": null, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "enhancedSecurityCompliance": { + "automaticClusterUpdate": { + "value": "Enabled" + }, + "complianceSecurityProfile": { + "value": "Enabled", + "complianceStandards": [ + "PCI_DSS", + "HIPAA" + ] + }, + "enhancedSecurityMonitoring": { + "value": "Enabled" + } + }, + "parameters": null, + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2023-08-24T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net", + "isUcEnabled": true + } + } + }, + "201": { + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": null, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "enhancedSecurityCompliance": { + "automaticClusterUpdate": { + "value": "Enabled" + }, + "complianceSecurityProfile": { + "value": "Enabled", + "complianceStandards": [ + "PCI_DSS", + "HIPAA" + ] + }, + "enhancedSecurityMonitoring": { + "value": "Enabled" + } + }, + "parameters": null, + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2023-08-24T00:10:29.2858439Z", + "isUcEnabled": true + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceEnhancedSecurityComplianceGet.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceEnhancedSecurityComplianceGet.json new file mode 100644 index 000000000000..63533c55708d --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceEnhancedSecurityComplianceGet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": null, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "enhancedSecurityCompliance": { + "automaticClusterUpdate": { + "value": "Enabled" + }, + "complianceSecurityProfile": { + "value": "Enabled", + "complianceStandards": [ + "PCI_DSS", + "HIPAA" + ] + }, + "enhancedSecurityMonitoring": { + "value": "Enabled" + } + }, + "parameters": null, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2023-08-24T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net", + "isUcEnabled": true + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceGet.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceGet.json new file mode 100644 index 000000000000..268e0c6838d0 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "sku": { + "name": "premium" + }, + "location": "East US 2", + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": null, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net", + "isUcEnabled": true + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceGetParameters.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceGetParameters.json new file mode 100644 index 000000000000..f442a7621f4a --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceGetParameters.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": { + "customPrivateSubnetName": { + "type": "String", + "value": "PrivateBob" + }, + "customPublicSubnetName": { + "type": "String", + "value": "PublicSarah" + }, + "customVirtualNetworkId": { + "type": "String", + "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork" + } + }, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net", + "privateEndpointConnections": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace/privateEndpointConnections/myWorkspace.23456789-1111-1111-1111-111111111111", + "name": "myWorkspace.23456789-1111-1111-1111-111111111111", + "type": "Microsoft.Databricks/workspaces/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subscriptionId/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + } + } + ], + "publicNetworkAccess": "Disabled", + "requiredNsgRules": "NoAzureDatabricksRules", + "isUcEnabled": false + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceManagedDiskEncryptionCreate.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceManagedDiskEncryptionCreate.json new file mode 100644 index 000000000000..4897a2daed11 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceManagedDiskEncryptionCreate.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview", + "parameters": { + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "encryption": { + "entities": { + "managedDisk": { + "keySource": "Microsoft.Keyvault", + "keyVaultProperties": { + "keyVaultUri": "https://test-vault-name.vault.azure.net/", + "keyName": "test-cmk-key", + "keyVersion": "00000000000000000000000000000000" + }, + "rotationToLatestKeyVersionEnabled": true + } + } + } + }, + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": null, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "diskEncryptionSetId": "/subscriptions/subid/resourceGroups/myManagedRG/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "encryption": { + "entities": { + "managedDisk": { + "keySource": "Microsoft.Keyvault", + "keyVaultProperties": { + "keyVaultUri": "https://test-vault-name.vault.azure.net/", + "keyName": "test-cmk-key", + "keyVersion": "00000000000000000000000000000000" + }, + "rotationToLatestKeyVersionEnabled": true + } + } + }, + "parameters": null, + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "managedDiskIdentity": { + "principalId": "22222222-2222-2222-2222-222222222222", + "tenantId": "44444444-4444-4444-4444-444444444444", + "type": "SystemAssigned" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net", + "isUcEnabled": true + } + } + }, + "201": { + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": { + "environment": "dev" + }, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "diskEncryptionSetId": "/subscriptions/subid/resourceGroups/myManagedRG/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "encryption": { + "entities": { + "managedDisk": { + "keySource": "Microsoft.Keyvault", + "keyVaultProperties": { + "keyVaultUri": "https://test-vault-name.vault.azure.net/", + "keyName": "test-cmk-key", + "keyVersion": "00000000000000000000000000000000" + }, + "rotationToLatestKeyVersionEnabled": true + } + } + }, + "parameters": null, + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "managedDiskIdentity": { + "principalId": "22222222-2222-2222-2222-222222222222", + "tenantId": "44444444-4444-4444-4444-444444444444", + "type": "SystemAssigned" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "isUcEnabled": true + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceManagedDiskEncryptionGet.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceManagedDiskEncryptionGet.json new file mode 100644 index 000000000000..bbaf501f8fd4 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceManagedDiskEncryptionGet.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "sku": { + "name": "premium" + }, + "location": "East US 2", + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "diskEncryptionSetId": "/subscriptions/subid/resourceGroups/myManagedRG/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "encryption": { + "entities": { + "managedDisk": { + "keySource": "Microsoft.Keyvault", + "keyVaultProperties": { + "keyVaultUri": "https://test-vault-name.vault.azure.net/", + "keyName": "test-cmk-key", + "keyVersion": "00000000000000000000000000000000" + }, + "rotationToLatestKeyVersionEnabled": true + } + } + }, + "parameters": null, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "managedDiskIdentity": { + "principalId": "22222222-2222-2222-2222-222222222222", + "tenantId": "44444444-4444-4444-4444-444444444444", + "type": "SystemAssigned" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net", + "isUcEnabled": true + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceManagedDiskEncryptionUpdate.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceManagedDiskEncryptionUpdate.json new file mode 100644 index 000000000000..7d886e91b340 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceManagedDiskEncryptionUpdate.json @@ -0,0 +1,150 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview", + "parameters": { + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "encryption": { + "entities": { + "managedDisk": { + "keySource": "Microsoft.Keyvault", + "keyVaultProperties": { + "keyVaultUri": "https://test-vault-name.vault.azure.net/", + "keyName": "test-cmk-key", + "keyVersion": "00000000000000000000000000000000" + }, + "rotationToLatestKeyVersionEnabled": true + } + } + } + }, + "location": "westus", + "tags": { + "mytag1": "myvalue1" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": { + "mytag1": "myvalue1" + }, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "diskEncryptionSetId": "/subscriptions/subid/resourceGroups/myManagedRG/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "encryption": { + "entities": { + "managedDisk": { + "keySource": "Microsoft.Keyvault", + "keyVaultProperties": { + "keyVaultUri": "https://test-vault-name.vault.azure.net/", + "keyName": "test-cmk-key", + "keyVersion": "00000000000000000000000000000000" + }, + "rotationToLatestKeyVersionEnabled": true + } + } + }, + "parameters": null, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "managedDiskIdentity": { + "principalId": "22222222-2222-2222-2222-222222222222", + "tenantId": "44444444-4444-4444-4444-444444444444", + "type": "SystemAssigned" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "6666666666666666", + "workspaceUrl": "adb-6666666666666666.19.azuredatabricks.net", + "isUcEnabled": true + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": { + "mytag1": "myvalue1" + }, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "diskEncryptionSetId": "/subscriptions/subid/resourceGroups/myManagedRG/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "encryption": { + "entities": { + "managedDisk": { + "keySource": "Microsoft.Keyvault", + "keyVaultProperties": { + "keyVaultUri": "https://test-vault-name.vault.azure.net/", + "keyName": "test-cmk-key", + "keyVersion": "00000000000000000000000000000000" + }, + "rotationToLatestKeyVersionEnabled": true + } + } + }, + "parameters": null, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "managedDiskIdentity": { + "principalId": "22222222-2222-2222-2222-222222222222", + "tenantId": "44444444-4444-4444-4444-444444444444", + "type": "SystemAssigned" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "6666666666666666", + "workspaceUrl": "adb-6666666666666666.19.azuredatabricks.net", + "isUcEnabled": true + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceUpdate.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceUpdate.json new file mode 100644 index 000000000000..c608b46e34c2 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceUpdate.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview", + "parameters": { + "tags": { + "mytag1": "myvalue1" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": { + "mytag1": "myvalue1" + }, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": null, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "6666666666666666", + "workspaceUrl": "adb-6666666666666666.19.azuredatabricks.net", + "isUcEnabled": true + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.Databricks/workspaces/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-09-15-preview", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.Databricks/workspaces/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-09-15-preview" + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceVirtualNetPeeringGet.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceVirtualNetPeeringGet.json new file mode 100644 index 000000000000..64adaaa04e9a --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceVirtualNetPeeringGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "peeringName": "vNetPeering", + "api-version": "2023-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Databricks/workspaces/adbworkspace/virtualNetworkPeerings/vNetPeeringTest", + "name": "vNetPeeringTest", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "10.203.0.0/16" + ] + }, + "databricksVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/databricks-rg-adbworkspace-2jsxhmzoyooxm/providers/Microsoft.Network/virtualNetworks/workers-vnet" + }, + "databricksAddressSpace": { + "addressPrefixes": [ + "10.139.0.0/16" + ] + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + }, + "204": {} + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceVirtualNetPeeringList.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceVirtualNetPeeringList.json new file mode 100644 index 000000000000..18bca3f44382 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceVirtualNetPeeringList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2023-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Databricks/workspaces/adbworkspace/virtualNetworkPeerings/vNetPeeringTest", + "name": "vNetPeeringTest", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "10.203.0.0/16" + ] + }, + "databricksVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/databricks-rg-adbworkspace-2jsxhmzoyooxm/providers/Microsoft.Network/virtualNetworks/workers-vnet" + }, + "databricksAddressSpace": { + "addressPrefixes": [ + "10.139.0.0/16" + ] + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceVirtualNetworkPeeringCreateOrUpdate.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceVirtualNetworkPeeringCreateOrUpdate.json new file mode 100644 index 000000000000..8ef0544a0e1b --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceVirtualNetworkPeeringCreateOrUpdate.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "peeringName": "vNetPeeringTest", + "api-version": "2023-09-15-preview", + "VirtualNetworkPeeringParameters": { + "properties": { + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "allowVirtualNetworkAccess": true, + "remoteVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet" + }, + "useRemoteGateways": false + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Databricks/workspaces/adbworkspace/virtualNetworkPeerings/vNetPeeringTest", + "name": "vNetPeeringTest", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "10.203.0.0/16" + ] + }, + "databricksVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/databricks-rg-adbworkspace-2jsxhmzoyooxm/providers/Microsoft.Network/virtualNetworks/workers-vnet" + }, + "databricksAddressSpace": { + "addressPrefixes": [ + "10.139.0.0/16" + ] + }, + "peeringState": "Initiated", + "provisioningState": "Updating" + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Databricks/workspaces/adbworkspace/virtualNetworkPeerings/vNetPeeringTest", + "name": "vNetPeeringTest", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/subramantest/providers/Microsoft.Network/virtualNetworks/subramanvnet" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "10.203.0.0/16" + ] + }, + "databricksVirtualNetwork": { + "id": "/subscriptions/0140911e-1040-48da-8bc9-b99fb3dd88a6/resourceGroups/databricks-rg-adbworkspace-2jsxhmzoyooxm/providers/Microsoft.Network/virtualNetworks/workers-vnet" + }, + "databricksAddressSpace": { + "addressPrefixes": [ + "10.139.0.0/16" + ] + }, + "peeringState": "Initiated", + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceVirtualNetworkPeeringDelete.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceVirtualNetworkPeeringDelete.json new file mode 100644 index 000000000000..957f77f613de --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspaceVirtualNetworkPeeringDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "peeringName": "vNetPeering", + "api-version": "2023-09-15-preview" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/providers/Microsoft.Network/locations/exampleLocation/operations/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-09-15-preview", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/providers/Microsoft.Network/locations/exampleLocation/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-09-15-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspacesListByResourceGroup.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspacesListByResourceGroup.json new file mode 100644 index 000000000000..79c12296ac2c --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspacesListByResourceGroup.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "api-version": "2023-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "myWorkspace1", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace1", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": null, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": null, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net" + } + }, + { + "name": "myWorkspace2", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace2", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": null, + "sku": { + "name": "standard" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": null, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "6666666666666666", + "workspaceUrl": "adb-6666666666666666.19.azuredatabricks.net", + "isUcEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspacesListBySubscription.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspacesListBySubscription.json new file mode 100644 index 000000000000..10d96d56170b --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/examples/WorkspacesListBySubscription.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-15-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "myWorkspace1", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace1", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": null, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": null, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net", + "isUcEnabled": true + } + }, + { + "name": "myWorkspace2", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace2", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": null, + "sku": { + "name": "standard" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": null, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "6666666666666666", + "workspaceUrl": "adb-6666666666666666.19.azuredatabricks.net", + "isUcEnabled": false + } + } + ] + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/vnetpeering.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/vnetpeering.json new file mode 100644 index 000000000000..3797cca4fbec --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2023-09-15-preview/vnetpeering.json @@ -0,0 +1,490 @@ +{ + "swagger": "2.0", + "info": { + "title": "DatabricksClient", + "version": "2023-09-15-preview", + "description": "ARM Databricks" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/virtualNetworkPeerings/{peeringName}": { + "get": { + "tags": [ + "vNetPeering" + ], + "operationId": "vNetPeering_Get", + "description": "Gets the workspace vNet Peering.", + "x-ms-examples": { + "Get a workspace with vNet Peering Configured": { + "$ref": "./examples/WorkspaceVirtualNetPeeringGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PeeringNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "204": { + "description": "OK - NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "vNetPeering" + ], + "operationId": "vNetPeering_Delete", + "description": "Deletes the workspace vNetPeering.", + "x-ms-examples": { + "Delete a workspace vNet Peering": { + "$ref": "./examples/WorkspaceVirtualNetworkPeeringDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PeeringNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "204": { + "description": "NoContent" + }, + "200": { + "description": "OK. The request has succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "put": { + "tags": [ + "vNetPeering" + ], + "operationId": "vNetPeering_CreateOrUpdate", + "description": "Creates vNet Peering for workspace.", + "x-ms-examples": { + "Create vNet Peering for Workspace": { + "$ref": "./examples/WorkspaceVirtualNetworkPeeringCreateOrUpdate.json" + } + }, + "parameters": [ + { + "name": "VirtualNetworkPeeringParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "Parameters supplied to the create workspace vNet Peering." + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PeeringNameParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the workspace vNet peering, including provisioning status.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "200": { + "description": "Update succeeded - Returns information about the workspace vNet peering.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/virtualNetworkPeerings": { + "get": { + "tags": [ + "vNetPeering" + ], + "operationId": "vNetPeering_ListByWorkspace", + "description": "Lists the workspace vNet Peerings.", + "x-ms-examples": { + "List all vNet Peerings for the workspace": { + "$ref": "./examples/WorkspaceVirtualNetPeeringList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List succeeded. Returns the resulting resource objects in response body.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeeringList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ErrorDetail": { + "title": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error's code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + }, + "target": { + "description": "Indicates which property in the request is responsible for the error.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorInfo": { + "title": "The code and message for an error.", + "type": "object", + "properties": { + "code": { + "description": "A machine readable error code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + }, + "details": { + "description": "error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + }, + "innererror": { + "description": "Inner error details if they exist.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorResponse": { + "title": "Error response.", + "description": "Contains details when the response code indicates an error.", + "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "#/definitions/ErrorInfo" + } + }, + "required": [ + "error" + ] + }, + "VirtualNetworkPeeringList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "List of virtual network peerings on workspace." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of virtual network peering list results if there are any." + } + }, + "description": "Gets all virtual network peerings under a workspace." + }, + "VirtualNetworkPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat", + "description": "List of properties for vNet Peering" + }, + "name": { + "type": "string", + "description": "Name of the virtual network peering resource", + "readOnly": true + }, + "id": { + "type": "string", + "description": "Resource ID.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "type of the virtual network peering resource", + "readOnly": true + } + }, + "required": [ + "properties" + ], + "description": "Peerings in a VirtualNetwork resource", + "x-ms-azure-resource": true + }, + "VirtualNetworkPeeringPropertiesFormat": { + "properties": { + "allowVirtualNetworkAccess": { + "type": "boolean", + "description": "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space." + }, + "allowForwardedTraffic": { + "type": "boolean", + "description": "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network." + }, + "allowGatewayTransit": { + "type": "boolean", + "description": "If gateway links can be used in remote virtual networking to link to this virtual network." + }, + "useRemoteGateways": { + "type": "boolean", + "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway." + }, + "databricksVirtualNetwork": { + "properties": { + "id": { + "type": "string", + "description": "The Id of the databricks virtual network." + } + }, + "description": " The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering)." + }, + "databricksAddressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The reference to the databricks virtual network address space." + }, + "remoteVirtualNetwork": { + "properties": { + "id": { + "type": "string", + "description": "The Id of the remote virtual network." + } + }, + "description": " The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering)." + }, + "remoteAddressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The reference to the remote virtual network address space." + }, + "peeringState": { + "type": "string", + "description": "The status of the virtual network peering.", + "enum": [ + "Initiated", + "Connected", + "Disconnected" + ], + "x-ms-enum": { + "name": "peeringState", + "modelAsString": true + }, + "readOnly": true + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/PeeringProvisioningState", + "description": "The provisioning state of the virtual network peering resource." + } + }, + "required": [ + "remoteVirtualNetwork" + ], + "description": "Properties of the virtual network peering." + }, + "PeeringProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PeeringProvisioningState", + "modelAsString": true + } + }, + "AddressSpace": { + "properties": { + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of address blocks reserved for this virtual network in CIDR notation." + } + }, + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "WorkspaceName": { + "name": "workspaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the workspace.", + "minLength": 3, + "maxLength": 64, + "x-ms-parameter-location": "method" + }, + "PeeringNameParameter": { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the workspace vNet peering.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/databricks/resource-manager/readme.md b/specification/databricks/resource-manager/readme.md index f6f82d217a9c..c8d58ca4b178 100644 --- a/specification/databricks/resource-manager/readme.md +++ b/specification/databricks/resource-manager/readme.md @@ -10,6 +10,7 @@ This is the AutoRest configuration file for Databricks. ``` yaml $(java) && $(multiapi) batch: + - tag: package-2023-09-15-preview - tag: package-2023-02-01 - tag: package-2022-04-01-preview - tag: package-2021-04-01-preview @@ -17,6 +18,19 @@ batch: - tag: package-2023-05-01 ``` +### Tag: package-2023-09-15-preview and java + +These settings apply only when `--tag=package-2023-09-15-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2023-09-15-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.databricks.v2023_09_15_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/databricks/mgmt-v2023_09_15_preview +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2023-05-01 and java These settings apply only when `--tag=package-2023-05-01 --java` is specified on the command line. @@ -102,9 +116,9 @@ These are the global settings for the Databricks API. ``` yaml title: AzureDatabricksManagementClient -description: 'The Microsoft Azure management APIs allow end users to operate on Azure Databricks Workspace / Access Connector resources.' +description: The Microsoft Azure management APIs allow end users to operate on Azure Databricks Workspace / Access Connector resources. openapi-type: arm -tag: package-2023-05-01 +tag: package-preview-2023-09 ``` ### Tag: package-2018-04-01 @@ -160,6 +174,17 @@ input-file: - Microsoft.Databricks/stable/2023-05-01/accessconnector.json ``` +### Tag: package-2023-09-15-preview + +These settings apply only when `--tag=package-2023-05-01` is specified on the command line. + +``` yaml $(tag) == 'package-2023-09-15-preview' +input-file: +- Microsoft.Databricks/preview/2023-09-15-preview/databricks.json +- Microsoft.Databricks/preview/2023-09-15-preview/vnetpeering.json +- Microsoft.Databricks/stable/2023-05-01/accessconnector.json +``` + --- # Suppressions diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json index 4e21c29e8722..076007013dcb 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json @@ -3624,6 +3624,105 @@ "description": "The name of Microsoft Fabric LakeHouse Table. Type: string (or Expression with resultType string)." } } + }, + "SalesforceV2ObjectDataset": { + "x-ms-discriminator-value": "SalesforceV2Object", + "description": "The Salesforce V2 object dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], + "properties": { + "typeProperties": { + "description": "Salesforce V2 object dataset properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SalesforceV2ObjectDatasetTypeProperties" + } + } + }, + "SalesforceV2ObjectDatasetTypeProperties": { + "description": "Salesforce V2 object dataset properties.", + "type": "object", + "properties": { + "objectApiName": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The Salesforce V2 object API name. Type: string (or Expression with resultType string)." + }, + "reportId": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The Salesforce V2 report Id. Type: string (or Expression with resultType string)." + } + } + }, + "SalesforceServiceCloudV2ObjectDataset": { + "x-ms-discriminator-value": "SalesforceServiceCloudV2Object", + "description": "The Salesforce Service Cloud V2 object dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], + "properties": { + "typeProperties": { + "description": "Salesforce Service Cloud V2 object dataset properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SalesforceServiceCloudV2ObjectDatasetTypeProperties" + } + } + }, + "SalesforceServiceCloudV2ObjectDatasetTypeProperties": { + "description": "Salesforce Service Cloud V2 object dataset properties.", + "type": "object", + "properties": { + "objectApiName": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The Salesforce Service Cloud V2 object API name. Type: string (or Expression with resultType string)." + }, + "reportId": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The Salesforce Service Cloud V2 reportId. Type: string (or Expression with resultType string)." + } + } + }, + "WarehouseTableDataset": { + "x-ms-discriminator-value": "WarehouseTable", + "description": "Microsoft Fabric Warehouse dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], + "properties": { + "typeProperties": { + "description": "Microsoft Fabric Warehouse dataset properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WarehouseTableDatasetTypeProperties" + } + } + }, + "WarehouseTableDatasetTypeProperties": { + "description": "Microsoft Fabric Warehouse dataset properties.", + "type": "object", + "properties": { + "schema": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The schema name of the Microsoft Fabric Warehouse. Type: string (or Expression with resultType string)." + }, + "table": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The table name of the Microsoft Fabric Warehouse. Type: string (or Expression with resultType string)." + } + } } } } diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json index 15e195fe1943..7663163766cf 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json @@ -1526,11 +1526,46 @@ "description": "MySQL linked service properties.", "type": "object", "properties": { + "driverVersion": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The version of the MySQL driver. Type: string. V1 or empty for legacy driver, V2 for new driver. V1 can support connection string and property bag, V2 can only support connection string." + }, "connectionString": { "type": "object", "x-ms-format": "dfe-string", "description": "The connection string. Type: string, SecureString or AzureKeyVaultSecretReference." }, + "server": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "Server name for connection. Type: string." + }, + "port": { + "type": "object", + "x-ms-format": "dfe-int", + "description": "The port for the connection. Type: integer." + }, + "username": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "Username for authentication. Type: string." + }, + "database": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "Database name for connection. Type: string." + }, + "sslMode": { + "type": "object", + "x-ms-format": "dfe-int", + "description": "SSL mode for connection. Type: integer. 0: disable, 1: prefer, 2: require, 3: verify-ca, 4: verify-full." + }, + "useSystemTrustStore": { + "type": "object", + "x-ms-format": "dfe-int", + "description": "Use system trust store for connection. Type: integer. 0: enable, 1: disable." + }, "password": { "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." @@ -1539,10 +1574,7 @@ "type": "string", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." } - }, - "required": [ - "connectionString" - ] + } }, "PostgreSqlLinkedService": { "x-ms-discriminator-value": "PostgreSql", @@ -5304,12 +5336,37 @@ "description": "MariaDB server linked service properties.", "type": "object", "properties": { + "driverVersion": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The version of the MariaDB driver. Type: string. V1 or empty for legacy driver, V2 for new driver. V1 can support connection string and property bag, V2 can only support connection string." + }, "connectionString": { "description": "An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.", "type": "object", "x-ms-format": "dfe-string" }, - "pwd": { + "server": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "Server name for connection. Type: string." + }, + "port": { + "type": "object", + "x-ms-format": "dfe-int", + "description": "The port for the connection. Type: integer." + }, + "username": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "Username for authentication. Type: string." + }, + "database": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "Database name for connection. Type: string." + }, + "password": { "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, @@ -7556,6 +7613,176 @@ "$ref": "../datafactory.json#/definitions/SecretBase" } } + }, + "SalesforceV2LinkedService": { + "x-ms-discriminator-value": "SalesforceV2", + "description": "Linked service for Salesforce V2.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedService" + } + ], + "properties": { + "typeProperties": { + "description": "Salesforce V2 linked service properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SalesforceV2LinkedServiceTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "SalesforceV2LinkedServiceTypeProperties": { + "description": "Salesforce V2 linked service properties.", + "type": "object", + "properties": { + "environmentUrl": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The URL of Salesforce instance. For example, 'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string)." + }, + "clientId": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The client Id for OAuth 2.0 Client Credentials Flow authentication of the Salesforce instance. Type: string (or Expression with resultType string)." + }, + "clientSecret": { + "description": "The client secret for OAuth 2.0 Client Credentials Flow authentication of the Salesforce instance.", + "$ref": "../datafactory.json#/definitions/SecretBase" + }, + "apiVersion": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The Salesforce API version used in ADF. The version must be larger than or equal to 47.0 which is required by Salesforce BULK API 2.0. Type: string (or Expression with resultType string)." + }, + "encryptedCredential": { + "type": "string", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." + } + } + }, + "SalesforceServiceCloudV2LinkedService": { + "x-ms-discriminator-value": "SalesforceServiceCloudV2", + "description": "Linked service for Salesforce Service Cloud V2.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedService" + } + ], + "properties": { + "typeProperties": { + "description": "Salesforce Service Cloud V2 linked service properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SalesforceServiceCloudV2LinkedServiceTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "SalesforceServiceCloudV2LinkedServiceTypeProperties": { + "description": "Salesforce Service Cloud V2 linked service properties.", + "type": "object", + "properties": { + "environmentUrl": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The URL of Salesforce Service Cloud instance. For example, 'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string)." + }, + "clientId": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The client Id for OAuth 2.0 Client Credentials Flow authentication of the Salesforce instance. Type: string (or Expression with resultType string)." + }, + "clientSecret": { + "description": "The client secret for OAuth 2.0 Client Credentials Flow authentication of the Salesforce instance.", + "$ref": "../datafactory.json#/definitions/SecretBase" + }, + "apiVersion": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The Salesforce API version used in ADF. The version must be larger than or equal to 47.0 which is required by Salesforce BULK API 2.0. Type: string (or Expression with resultType string)." + }, + "encryptedCredential": { + "type": "string", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." + } + } + }, + "WarehouseLinkedService": { + "x-ms-discriminator-value": "Warehouse", + "description": "Microsoft Fabric Warehouse linked service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedService" + } + ], + "properties": { + "typeProperties": { + "description": "Microsoft Fabric Warehouse linked service properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WarehouseLinkedServiceTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "WarehouseLinkedServiceTypeProperties": { + "description": "Microsoft Fabric Warehouse linked service properties.", + "type": "object", + "properties": { + "artifactId": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The ID of Microsoft Fabric Warehouse artifact. Type: string (or Expression with resultType string)." + }, + "endpoint": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The endpoint of Microsoft Fabric Warehouse server. Type: string (or Expression with resultType string)." + }, + "workspaceId": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The ID of Microsoft Fabric workspace. Type: string (or Expression with resultType string)." + }, + "servicePrincipalId": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The ID of the application used to authenticate against Microsoft Fabric Warehouse. Type: string (or Expression with resultType string)." + }, + "servicePrincipalKey": { + "description": "The Key of the application used to authenticate against Microsoft Fabric Warehouse.", + "$ref": "../datafactory.json#/definitions/SecretBase" + }, + "tenant": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)." + }, + "encryptedCredential": { + "type": "string", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." + }, + "servicePrincipalCredentialType": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)." + }, + "servicePrincipalCredential": { + "description": "The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.", + "$ref": "../datafactory.json#/definitions/SecretBase" + } + }, + "required": [ + "artifactId", + "endpoint" + ] } } } diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json index 2b0d77475d50..2df9f6468e1f 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json @@ -4419,6 +4419,79 @@ } } }, + "WarehouseSource": { + "description": "A copy activity Microsoft Fabric Warehouse source.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TabularSource" + } + ], + "properties": { + "sqlReaderQuery": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "Microsoft Fabric Warehouse reader query. Type: string (or Expression with resultType string)." + }, + "sqlReaderStoredProcedureName": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "Name of the stored procedure for a Microsoft Fabric Warehouse source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression with resultType string)." + }, + "storedProcedureParameters": { + "type": "object", + "description": "Value and type setting for stored procedure parameters. Example: \"{Parameter1: {value: \"1\", type: \"int\"}}\". Type: object (or Expression with resultType object), itemType: StoredProcedureParameter." + }, + "isolationLevel": { + "x-ms-format": "dfe-string", + "description": "Specifies the transaction locking behavior for the Microsoft Fabric Warehouse source. Allowed values: ReadCommitted/ReadUncommitted/RepeatableRead/Serializable/Snapshot. The default value is ReadCommitted. Type: string (or Expression with resultType string).", + "type": "object" + }, + "partitionOption": { + "description": "The partition mechanism that will be used for Sql read in parallel. Possible values include: \"None\", \"PhysicalPartitionsOfTable\", \"DynamicRange\".", + "type": "object" + }, + "partitionSettings": { + "description": "The settings that will be leveraged for Sql source partitioning.", + "$ref": "#/definitions/SqlPartitionSettings" + } + } + }, + "WarehouseSink": { + "description": "A copy activity Microsoft Fabric Warehouse sink.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySink" + } + ], + "properties": { + "preCopyScript": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "SQL pre-copy script. Type: string (or Expression with resultType string)." + }, + "allowCopyCommand": { + "type": "object", + "x-ms-format": "dfe-bool", + "description": "Indicates to use Copy Command to copy data into SQL Data Warehouse. Type: boolean (or Expression with resultType boolean)." + }, + "copyCommandSettings": { + "description": "Specifies Copy Command related settings when allowCopyCommand is true.", + "$ref": "#/definitions/DWCopyCommandSettings" + }, + "tableOption": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string)." + }, + "writeBehavior": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "Write behavior when copying data into azure Microsoft Fabric Data Warehouse. Type: DWWriteBehaviorEnum (or Expression with resultType DWWriteBehaviorEnum)" + } + } + }, "StoredProcedureParameter": { "description": "SQL stored procedure parameter.", "type": "object", @@ -8925,6 +8998,130 @@ "type", "referenceName" ] + }, + "SalesforceV2Source": { + "description": "A copy activity Salesforce V2 source.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TabularSource" + } + ], + "properties": { + "SOQLQuery": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "Database query. Type: string (or Expression with resultType string)." + }, + "readBehavior": { + "description": "The read behavior for the operation. Default is query. Allowed values: query/queryAll. Type: string (or Expression with resultType string).", + "type": "object", + "x-ms-format": "dfe-string" + } + } + }, + "SalesforceServiceCloudV2Source": { + "description": "A copy activity Salesforce Service Cloud V2 source.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySource" + } + ], + "properties": { + "SOQLQuery": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "Database query. Type: string (or Expression with resultType string)." + }, + "readBehavior": { + "description": "The read behavior for the operation. Default is query. Allowed values: query/queryAll. Type: string (or Expression with resultType string).", + "type": "object", + "x-ms-format": "dfe-string" + }, + "additionalColumns": { + "type": "object", + "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)." + } + } + }, + "SalesforceV2SourceReadBehavior": { + "description": "The Salesforce read behavior for the operation", + "type": "string", + "enum": [ + "query", + "queryAll" + ], + "x-ms-enum": { + "name": "SalesforceV2SourceReadBehavior", + "modelAsString": true + } + }, + "SalesforceV2Sink": { + "description": "A copy activity Salesforce V2 sink.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySink" + } + ], + "properties": { + "writeBehavior": { + "description": "The write behavior for the operation. Default is Insert.", + "type": "string", + "enum": [ + "Insert", + "Upsert" + ], + "x-ms-enum": { + "name": "SalesforceV2SinkWriteBehavior", + "modelAsString": true + } + }, + "externalIdFieldName": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string)." + }, + "ignoreNullValues": { + "type": "object", + "x-ms-format": "dfe-bool", + "description": "The flag indicating whether or not to ignore null values from input dataset (except key fields) during write operation. Default value is false. If set it to true, it means ADF will leave the data in the destination object unchanged when doing upsert/update operation and insert defined default value when doing insert operation, versus ADF will update the data in the destination object to NULL when doing upsert/update operation and insert NULL value when doing insert operation. Type: boolean (or Expression with resultType boolean)." + } + } + }, + "SalesforceServiceCloudV2Sink": { + "description": "A copy activity Salesforce Service Cloud V2 sink.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySink" + } + ], + "properties": { + "writeBehavior": { + "description": "The write behavior for the operation. Default is Insert.", + "type": "string", + "enum": [ + "Insert", + "Upsert" + ], + "x-ms-enum": { + "name": "SalesforceV2SinkWriteBehavior", + "modelAsString": true + } + }, + "externalIdFieldName": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string)." + }, + "ignoreNullValues": { + "type": "object", + "x-ms-format": "dfe-bool", + "description": "The flag indicating whether or not to ignore null values from input dataset (except key fields) during write operation. Default value is false. If set it to true, it means ADF will leave the data in the destination object unchanged when doing upsert/update operation and insert defined default value when doing insert operation, versus ADF will update the data in the destination object to NULL when doing upsert/update operation and insert NULL value when doing insert operation. Type: boolean (or Expression with resultType boolean)." + } + } } } } diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/dataprotection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/dataprotection.json new file mode 100644 index 000000000000..de9ee07f5da8 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/dataprotection.json @@ -0,0 +1,8142 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-12-01", + "title": "DataProtectionBackupClient", + "x-ms-code-generation-settings": { + "internalConstructors": false + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/backupVaults": { + "get": { + "tags": [ + "BackupVaults" + ], + "description": "Returns resource collection belonging to a subscription.", + "operationId": "BackupVaults_GetInSubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupVaultResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get BackupVaults in Subscription": { + "$ref": "./examples/VaultCRUD/GetBackupVaultsInSubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/operationResults/{operationId}": { + "get": { + "tags": [ + "GetOperationResult" + ], + "description": "Gets the operation result for a resource", + "operationId": "OperationResult_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "200": { + "description": "Contains additional information like job Id", + "schema": { + "$ref": "#/definitions/OperationJobExtendedInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "summary": "Gets the operation status for a resource.", + "x-ms-examples": { + "Get OperationResult": { + "$ref": "./examples/GetOperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/operationStatus/{operationId}": { + "get": { + "tags": [ + "OperationStatus" + ], + "summary": "Gets the operation status for a resource.", + "operationId": "OperationStatus_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/GetOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/operationStatus/{operationId}": { + "get": { + "tags": [ + "OperationStatus" + ], + "summary": "Gets the operation status for an operation over a BackupVault's context.", + "operationId": "OperationStatusBackupVaultContext_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/GetOperationStatusVaultContext.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/operationStatus/{operationId}": { + "get": { + "tags": [ + "OperationStatus" + ], + "summary": "Gets the operation status for an operation over a ResourceGroup's context.", + "operationId": "OperationStatusResourceGroupContext_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/GetOperationStatusRGContext.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults": { + "get": { + "tags": [ + "BackupVaults" + ], + "description": "Returns resource collection belonging to a resource group.", + "operationId": "BackupVaults_GetInResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupVaultResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get BackupVaults in ResourceGroup": { + "$ref": "./examples/VaultCRUD/GetBackupVaultsInResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}": { + "get": { + "tags": [ + "BackupVaults" + ], + "description": "Returns a resource belonging to a resource group.", + "operationId": "BackupVaults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupVaultResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get BackupVault": { + "$ref": "./examples/VaultCRUD/GetBackupVault.json" + }, + "Get BackupVault With MSI": { + "$ref": "./examples/VaultCRUD/GetBackupVaultWithMSI.json" + } + } + }, + "put": { + "tags": [ + "BackupVaults" + ], + "description": "Creates or updates a BackupVault resource belonging to a resource group.", + "operationId": "BackupVaults_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/BackupVaultResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupVaultResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/BackupVaultResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create BackupVault": { + "$ref": "./examples/VaultCRUD/PutBackupVault.json" + }, + "Create BackupVault With MSI": { + "$ref": "./examples/VaultCRUD/PutBackupVaultWithMSI.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "BackupVaults" + ], + "description": "Deletes a BackupVault resource from the resource group.", + "operationId": "BackupVaults_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete BackupVault": { + "$ref": "./examples/VaultCRUD/DeleteBackupVault.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "BackupVaults" + ], + "description": "Updates a BackupVault resource belonging to a resource group. For example, updating tags for a resource.", + "operationId": "BackupVaults_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/PatchResourceRequestInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupVaultResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Patch BackupVault": { + "$ref": "./examples/VaultCRUD/PatchBackupVault.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/operationResults/{operationId}": { + "get": { + "tags": [ + "Resources" + ], + "operationId": "BackupVaultOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupVaultResource" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetOperationResult Patch": { + "$ref": "./examples/VaultCRUD/GetOperationResultPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "BackupVaults" + ], + "summary": "API to check for resource name availability", + "operationId": "BackupVaults_CheckNameAvailability", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "description": "The location in which uniqueness will be verified.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Check name availability request", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check BackupVaults name availability": { + "$ref": "./examples/VaultCRUD/CheckBackupVaultsNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/checkFeatureSupport": { + "post": { + "tags": [ + "DppFeatureSupport" + ], + "summary": "Validates if a feature is supported", + "operationId": "DataProtection_CheckFeatureSupport", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Feature support request object", + "required": true, + "schema": { + "$ref": "#/definitions/FeatureValidationRequestBase" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FeatureValidationResponseBase" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check Azure Vm Backup Feature Support": { + "$ref": "./examples/CheckfeatureSupport.json" + } + } + } + }, + "/providers/Microsoft.DataProtection/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Returns the list of available operations.", + "operationId": "DataProtectionOperations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClientDiscoveryResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "Returns the list of supported REST operations.": { + "$ref": "./examples/Operations/List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies": { + "get": { + "tags": [ + "BackupPolicies" + ], + "description": "Returns list of backup policies belonging to a backup vault", + "operationId": "BackupPolicies_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BaseBackupPolicyResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List BackupPolicy": { + "$ref": "./examples/PolicyCRUD/ListBackupPolicy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName}": { + "get": { + "tags": [ + "BackupPolicies" + ], + "operationId": "BackupPolicies_Get", + "description": "Gets a backup policy belonging to a backup vault", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "backupPolicyName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BaseBackupPolicyResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "summary": "Gets a backup policy belonging to a backup vault", + "x-ms-examples": { + "Get BackupPolicy": { + "$ref": "./examples/PolicyCRUD/GetBackupPolicy.json" + } + } + }, + "put": { + "tags": [ + "BackupPolicies" + ], + "operationId": "BackupPolicies_CreateOrUpdate", + "summary": "Creates or Updates a backup policy belonging to a backup vault", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "backupPolicyName", + "description": "Name of the policy", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/BaseBackupPolicyResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BaseBackupPolicyResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CreateOrUpdate BackupPolicy": { + "$ref": "./examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json" + } + } + }, + "delete": { + "tags": [ + "BackupPolicies" + ], + "operationId": "BackupPolicies_Delete", + "summary": "Deletes a backup policy belonging to a backup vault", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "backupPolicyName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete BackupPolicy": { + "$ref": "./examples/PolicyCRUD/DeleteBackupPolicy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances": { + "get": { + "tags": [ + "BackupInstances" + ], + "description": "Gets a backup instances belonging to a backup vault", + "operationId": "BackupInstances_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupInstanceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List BackupInstances in a Vault": { + "$ref": "./examples/BackupInstanceOperations/ListBackupInstances.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}": { + "get": { + "tags": [ + "BackupInstances" + ], + "description": "Gets a backup instance with name in a backup vault", + "operationId": "BackupInstances_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupInstanceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get BackupInstance": { + "$ref": "./examples/BackupInstanceOperations/GetBackupInstance.json" + } + } + }, + "put": { + "tags": [ + "BackupInstances" + ], + "description": "Create or update a backup instance in a backup vault", + "operationId": "BackupInstances_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/BackupInstanceResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupInstanceResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/BackupInstanceResource" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create BackupInstance": { + "$ref": "./examples/BackupInstanceOperations/PutBackupInstance.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "BackupInstances" + ], + "description": "Delete a backup instance in a backup vault", + "operationId": "BackupInstances_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + } + ], + "responses": { + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "NoContent" + }, + "200": { + "description": "Ok" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete BackupInstance": { + "$ref": "./examples/BackupInstanceOperations/DeleteBackupInstance.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/backup": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "Trigger adhoc backup ", + "operationId": "BackupInstances_AdhocBackup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerBackupRequest" + } + } + ], + "responses": { + "200": { + "description": "Contains additional information like job Id", + "schema": { + "$ref": "#/definitions/OperationJobExtendedInfo" + } + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Trigger Adhoc Backup": { + "$ref": "./examples/BackupInstanceOperations/TriggerBackup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/validateForBackup": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "Validate whether adhoc backup will be successful or not", + "operationId": "BackupInstances_ValidateForBackup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateForBackupRequest" + } + } + ], + "responses": { + "200": { + "description": "Contains additional information like job Id", + "schema": { + "$ref": "#/definitions/OperationJobExtendedInfo" + } + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Validate For Backup": { + "$ref": "./examples/BackupInstanceOperations/ValidateForBackup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/operationResults/{operationId}": { + "get": { + "tags": [ + "BackupInstances" + ], + "description": "Get result of backup instance creation operation", + "operationId": "BackupInstances_GetBackupInstanceOperationResult", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupInstanceResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get BackupInstanceOperationResult": { + "$ref": "./examples/BackupInstanceOperations/GetBackupInstanceOperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/recoveryPoints": { + "get": { + "tags": [ + "RecoveryPoint" + ], + "description": "Returns a list of Recovery Points for a DataSource in a vault.", + "operationId": "RecoveryPoints_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBackupRecoveryPointResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/RecoveryPointsFilters", + "x-ms-examples": { + "List Recovery Points in a Vault": { + "$ref": "./examples/BackupInstanceOperations/ListRecoveryPoints.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/recoveryPoints/{recoveryPointId}": { + "get": { + "tags": [ + "RecoveryPoint" + ], + "description": "Gets a Recovery Point using recoveryPointId for a Datasource.", + "operationId": "RecoveryPoints_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "name": "recoveryPointId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBackupRecoveryPointResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Recovery Point": { + "$ref": "./examples/BackupInstanceOperations/GetRecoveryPoint.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/fetchSecondaryRecoveryPoints": { + "post": { + "tags": [ + "FetchSecondaryRecoveryPoints" + ], + "description": "Returns a list of Secondary Recovery Points for a DataSource in a vault, that can be used for Cross Region Restore.", + "operationId": "FetchSecondaryRecoveryPoints_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/FetchSecondaryRPsRequestParameters" + } + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBackupRecoveryPointResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/RecoveryPointsFilters", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Fetch SecondaryRPs": { + "$ref": "./examples/CrossRegionRestore/FetchSecondaryRPs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/crossRegionRestore": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "Triggers Cross Region Restore for BackupInstance.", + "operationId": "BackupInstances_TriggerCrossRegionRestore", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for trigger CRR operation", + "required": true, + "schema": { + "$ref": "#/definitions/CrossRegionRestoreRequestObject" + } + } + ], + "responses": { + "200": { + "description": "Contains additional information like job Id", + "schema": { + "$ref": "#/definitions/OperationJobExtendedInfo" + } + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Trigger Cross Region Restore": { + "$ref": "./examples/CrossRegionRestore/TriggerCrossRegionRestore.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/validateCrossRegionRestore": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "Validates whether Cross Region Restore can be triggered for DataSource.", + "operationId": "BackupInstances_ValidateCrossRegionRestore", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateCrossRegionRestoreRequestObject" + } + } + ], + "responses": { + "200": { + "description": "Contains additional information like job Id", + "schema": { + "$ref": "#/definitions/OperationJobExtendedInfo" + } + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Validate Cross Region Restore": { + "$ref": "./examples/CrossRegionRestore/ValidateCrossRegionRestore.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/fetchCrossRegionRestoreJob": { + "post": { + "tags": [ + "DppJob" + ], + "description": "Fetches the Cross Region Restore Job", + "operationId": "FetchCrossRegionRestoreJob_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/CrossRegionRestoreJobRequest" + } + } + ], + "responses": { + "200": { + "description": "Details about a Cross Region Restore Job", + "schema": { + "$ref": "#/definitions/AzureBackupJobResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Cross Region Restore Job": { + "$ref": "./examples/CrossRegionRestore/FetchCrossRegionRestoreJob.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/fetchCrossRegionRestoreJobs": { + "post": { + "tags": [ + "DppJob" + ], + "description": "Fetches list of Cross Region Restore job belonging to the vault", + "operationId": "FetchCrossRegionRestoreJobs_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/CrossRegionRestoreJobsRequest" + } + } + ], + "responses": { + "200": { + "description": "List of Cross Region Restore Jobs", + "schema": { + "$ref": "#/definitions/AzureBackupJobResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Cross Region Restore Jobs": { + "$ref": "./examples/CrossRegionRestore/FetchCrossRegionRestoreJobs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/rehydrate": { + "post": { + "description": "rehydrate recovery point for restore for a BackupInstance", + "operationId": "BackupInstances_TriggerRehydrate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "description": "Request body for operation", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/AzureBackupRehydrationRequest" + } + }, + { + "$ref": "#/parameters/BackupInstanceName" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "tags": [ + "BackupInstances" + ], + "x-ms-examples": { + "Trigger Rehydrate": { + "$ref": "./examples/BackupInstanceOperations/TriggerRehydrate.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/restore": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "Triggers restore for a BackupInstance", + "operationId": "BackupInstances_TriggerRestore", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/AzureBackupRestoreRequest" + } + } + ], + "responses": { + "200": { + "description": "Contains additional information like job Id", + "schema": { + "$ref": "#/definitions/OperationJobExtendedInfo" + } + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Trigger Restore": { + "$ref": "./examples/BackupInstanceOperations/TriggerRestore.json" + }, + "Trigger Restore As Files": { + "$ref": "./examples/BackupInstanceOperations/TriggerRestoreAsFiles.json" + }, + "Trigger Restore With Rehydration": { + "$ref": "./examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/resumeBackups": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "This operation will resume backups for backup instance", + "operationId": "BackupInstances_ResumeBackups", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ResumeBackups": { + "$ref": "./examples/BackupInstanceOperations/ResumeBackups.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/resumeProtection": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "This operation will resume protection for a stopped backup instance", + "operationId": "BackupInstances_ResumeProtection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ResumeProtection": { + "$ref": "./examples/BackupInstanceOperations/ResumeProtection.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/stopProtection": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "This operation will stop protection of a backup instance and data will be held forever", + "operationId": "BackupInstances_StopProtection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "StopProtection": { + "$ref": "./examples/BackupInstanceOperations/StopProtection.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/suspendBackups": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "This operation will stop backup for a backup instance and retains the backup data as per the policy (except latest Recovery point, which will be retained forever)", + "operationId": "BackupInstances_SuspendBackups", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SuspendBackups": { + "$ref": "./examples/BackupInstanceOperations/SuspendBackups.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/sync": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "Sync backup instance again in case of failure\r\nThis action will retry last failed operation and will bring backup instance to valid state", + "operationId": "BackupInstances_SyncBackupInstance", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/SyncBackupInstanceRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Sync BackupInstance": { + "$ref": "./examples/BackupInstanceOperations/SyncBackupInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/validateRestore": { + "post": { + "tags": [ + "BackupInstances" + ], + "description": "Validates if Restore can be triggered for a DataSource", + "operationId": "BackupInstances_ValidateForRestore", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateRestoreRequestObject" + } + } + ], + "responses": { + "200": { + "description": "Contains additional information like job Id", + "schema": { + "$ref": "#/definitions/OperationJobExtendedInfo" + } + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Validate Restore": { + "$ref": "./examples/BackupInstanceOperations/ValidateRestore.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs": { + "get": { + "tags": [ + "AzureBackupJobs" + ], + "description": "Returns list of jobs belonging to a backup vault", + "operationId": "Jobs_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBackupJobResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Jobs": { + "$ref": "./examples/JobCRUD/ListJobs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/findRestorableTimeRanges": { + "post": { + "tags": [ + "FindRestorableTimeRanges" + ], + "operationId": "RestorableTimeRanges_Find", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/BackupInstanceName" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesResponseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Find Restorable Time Ranges": { + "$ref": "./examples/BackupInstanceOperations/FindRestorableTimeRanges.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/{jobId}": { + "get": { + "tags": [ + "AzureBackupJob" + ], + "description": "Gets a job with id in a backup vault", + "operationId": "Jobs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "jobId", + "description": "The Job ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBackupJobResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Job": { + "$ref": "./examples/JobCRUD/GetJob.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/exportBackupJobs": { + "post": { + "tags": [ + "AzureBackupJob" + ], + "description": "Triggers export of jobs and returns an OperationID to track.", + "operationId": "ExportJobs_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Trigger Export Jobs": { + "$ref": "./examples/JobCRUD/TriggerExportJobs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/operations/{operationId}": { + "get": { + "tags": [ + "AzureBackupJob" + ], + "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", + "operationId": "ExportJobsOperationResult_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "operationId", + "description": "OperationID which represents the export job.", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExportJobsResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Export Jobs Operation Result": { + "$ref": "./examples/JobCRUD/GetExportJobsOperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/deletedBackupInstances": { + "get": { + "tags": [ + "DeletedBackupInstances" + ], + "description": "Gets deleted backup instances belonging to a backup vault", + "operationId": "DeletedBackupInstances_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeletedBackupInstanceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List DeletedBackupInstances in a Vault": { + "$ref": "./examples/DeletedBackupInstanceOperations/ListDeletedBackupInstances.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/deletedBackupInstances/{backupInstanceName}": { + "get": { + "tags": [ + "DeletedBackupInstances" + ], + "description": "Gets a deleted backup instance with name in a backup vault", + "operationId": "DeletedBackupInstances_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "backupInstanceName", + "description": "The name of the deleted backup instance", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeletedBackupInstanceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DeletedBackupInstance": { + "$ref": "./examples/DeletedBackupInstanceOperations/GetDeletedBackupInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/deletedBackupInstances/{backupInstanceName}/undelete": { + "post": { + "tags": [ + "DeletedBackupInstances" + ], + "operationId": "DeletedBackupInstances_Undelete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "backupInstanceName", + "description": "The name of the deleted backup instance", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Undelete Deleted BackupInstance": { + "$ref": "./examples/DeletedBackupInstanceOperations/UndeleteDeletedBackupInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/resourceGuards": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns ResourceGuards collection belonging to a subscription.", + "operationId": "ResourceGuards_GetResourcesInSubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get ResourceGuards in Subscription": { + "$ref": "./examples/ResourceGuardCRUD/GetResourceGuardsInSubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns ResourceGuards collection belonging to a ResourceGroup.", + "operationId": "ResourceGuards_GetResourcesInResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get ResourceGuards in ResourceGroup": { + "$ref": "./examples/ResourceGuardCRUD/GetResourceGuardsInResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}": { + "put": { + "tags": [ + "ResourceGuards" + ], + "summary": "Creates or updates a ResourceGuard resource belonging to a resource group.", + "operationId": "ResourceGuards_Put", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "The name of ResourceGuard", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceGuardResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ResourceGuardResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create ResourceGuard": { + "$ref": "./examples/ResourceGuardCRUD/PutResourceGuard.json" + } + } + }, + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns a ResourceGuard belonging to a resource group.", + "operationId": "ResourceGuards_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "The name of ResourceGuard", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ResourceGuard": { + "$ref": "./examples/ResourceGuardCRUD/GetResourceGuard.json" + } + } + }, + "delete": { + "tags": [ + "ResourceGuards" + ], + "summary": "Deletes a ResourceGuard resource from the resource group.", + "operationId": "ResourceGuards_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "The name of ResourceGuard", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete ResourceGuard": { + "$ref": "./examples/ResourceGuardCRUD/DeleteResourceGuard.json" + } + } + }, + "patch": { + "tags": [ + "ResourceGuards" + ], + "summary": "Updates a ResourceGuard resource belonging to a resource group. For example, updating tags for a resource.", + "operationId": "ResourceGuards_Patch", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "The name of ResourceGuard", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/PatchResourceGuardInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Patch ResourceGuard": { + "$ref": "./examples/ResourceGuardCRUD/PatchResourceGuard.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/disableSoftDeleteRequests": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.", + "operationId": "ResourceGuards_GetDisableSoftDeleteRequestsObjects", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DppBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List OperationsRequestObject": { + "$ref": "./examples/ResourceGuardCRUD/ListDisableSoftDeleteRequests.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/deleteResourceGuardProxyRequests": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.", + "operationId": "ResourceGuards_GetDeleteResourceGuardProxyRequestsObjects", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DppBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List OperationsRequestObject": { + "$ref": "./examples/ResourceGuardCRUD/ListDeleteResourceGuardProxyRequests.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/getBackupSecurityPINRequests": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.", + "operationId": "ResourceGuards_GetBackupSecurityPINRequestsObjects", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DppBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List OperationsRequestObject": { + "$ref": "./examples/ResourceGuardCRUD/ListBackupSecurityPINRequests.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/deleteProtectedItemRequests": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.", + "operationId": "ResourceGuards_GetDeleteProtectedItemRequestsObjects", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DppBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List OperationsRequestObject": { + "$ref": "./examples/ResourceGuardCRUD/ListDeleteProtectedItemRequests.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/updateProtectionPolicyRequests": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.", + "operationId": "ResourceGuards_GetUpdateProtectionPolicyRequestsObjects", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DppBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List OperationsRequestObject": { + "$ref": "./examples/ResourceGuardCRUD/ListUpdateProtectionPolicyRequests.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/updateProtectedItemRequests": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.", + "operationId": "ResourceGuards_GetUpdateProtectedItemRequestsObjects", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DppBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List OperationsRequestObject": { + "$ref": "./examples/ResourceGuardCRUD/ListUpdateProtectedItemRequests.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/disableSoftDeleteRequests/{requestName}": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.", + "operationId": "ResourceGuards_GetDefaultDisableSoftDeleteRequestsObject", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "", + "required": true, + "type": "string" + }, + { + "name": "requestName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DppBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DefaultOperationsRequestObject": { + "$ref": "./examples/ResourceGuardCRUD/GetDefaultDisableSoftDeleteRequests.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/deleteResourceGuardProxyRequests/{requestName}": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.", + "operationId": "ResourceGuards_GetDefaultDeleteResourceGuardProxyRequestsObject", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "", + "required": true, + "type": "string" + }, + { + "name": "requestName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DppBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DefaultOperationsRequestObject": { + "$ref": "./examples/ResourceGuardCRUD/GetDefaultDeleteResourceGuardProxyRequests.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/getBackupSecurityPINRequests/{requestName}": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.", + "operationId": "ResourceGuards_GetDefaultBackupSecurityPINRequestsObject", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "", + "required": true, + "type": "string" + }, + { + "name": "requestName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DppBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DefaultOperationsRequestObject": { + "$ref": "./examples/ResourceGuardCRUD/GetDefaultBackupSecurityPINRequests.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/deleteProtectedItemRequests/{requestName}": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.", + "operationId": "ResourceGuards_GetDefaultDeleteProtectedItemRequestsObject", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "", + "required": true, + "type": "string" + }, + { + "name": "requestName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DppBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DefaultOperationsRequestObject": { + "$ref": "./examples/ResourceGuardCRUD/GetDefaultDeleteProtectedItemRequests.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/updateProtectionPolicyRequests/{requestName}": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.", + "operationId": "ResourceGuards_GetDefaultUpdateProtectionPolicyRequestsObject", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "", + "required": true, + "type": "string" + }, + { + "name": "requestName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DppBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DefaultOperationsRequestObject": { + "$ref": "./examples/ResourceGuardCRUD/GetDefaultUpdateProtectionPolicyRequests.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/resourceGuards/{resourceGuardsName}/updateProtectedItemRequests/{requestName}": { + "get": { + "tags": [ + "ResourceGuards" + ], + "summary": "Returns collection of operation request objects for a critical operation protected by the given ResourceGuard resource.", + "operationId": "ResourceGuards_GetDefaultUpdateProtectedItemRequestsObject", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGuardsName", + "in": "path", + "description": "", + "required": true, + "type": "string" + }, + { + "name": "requestName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DppBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DefaultOperationsRequestObject": { + "$ref": "./examples/ResourceGuardCRUD/GetDefaultUpdateProtectedItemRequests.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupResourceGuardProxies": { + "get": { + "tags": [ + "DppResourceGuardProxies" + ], + "summary": "Returns the list of ResourceGuardProxies associated with the vault", + "operationId": "DppResourceGuardProxy_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get ResourceGuardProxies": { + "$ref": "./examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}": { + "get": { + "tags": [ + "DppResourceGuardProxies" + ], + "summary": "Returns the ResourceGuardProxy object associated with the vault, and that matches the name in the request", + "operationId": "DppResourceGuardProxy_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "resourceGuardProxyName", + "description": "name of the resource guard proxy", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]*$" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json" + } + } + }, + "put": { + "tags": [ + "DppResourceGuardProxies" + ], + "summary": "Creates or Updates a ResourceGuardProxy", + "operationId": "DppResourceGuardProxy_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "resourceGuardProxyName", + "description": "name of the resource guard proxy", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]*$" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json" + } + } + }, + "delete": { + "tags": [ + "DppResourceGuardProxies" + ], + "summary": "Deletes the ResourceGuardProxy", + "operationId": "DppResourceGuardProxy_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "resourceGuardProxyName", + "description": "name of the resource guard proxy", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]*$" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}/unlockDelete": { + "post": { + "tags": [ + "DppResourceGuardProxies" + ], + "summary": "UnlockDelete call for ResourceGuardProxy, executed before one can delete it", + "operationId": "DppResourceGuardProxy_UnlockDelete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "resourceGuardProxyName", + "description": "name of the resource guard proxy", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]*$" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/UnlockDeleteRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UnlockDeleteResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UnlockDelete ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json" + } + } + } + } + }, + "definitions": { + "AbsoluteDeleteOption": { + "allOf": [ + { + "$ref": "#/definitions/DeleteOption" + } + ], + "description": "Delete option with duration", + "required": [ + "duration", + "objectType" + ], + "title": "AbsoluteDeleteOption", + "type": "object", + "x-ms-discriminator-value": "AbsoluteDeleteOption" + }, + "RecoveryPointsFilters": { + "type": "object", + "properties": { + "restorePointDataStoreId": { + "type": "string" + }, + "isVisible": { + "type": "boolean" + }, + "startDate": { + "type": "string" + }, + "endDate": { + "type": "string" + }, + "extendedInfo": { + "type": "boolean" + }, + "restorePointState": { + "type": "string" + } + } + }, + "AdHocBackupRuleOptions": { + "description": "Adhoc backup rules", + "properties": { + "ruleName": { + "type": "string" + }, + "triggerOption": { + "$ref": "#/definitions/AdhocBackupTriggerOption" + } + }, + "required": [ + "ruleName", + "triggerOption" + ], + "title": "AdHocBackupRuleOptions", + "type": "object" + }, + "AdhocBackupTriggerOption": { + "description": "Adhoc backup trigger option", + "properties": { + "retentionTagOverride": { + "type": "string" + } + }, + "title": "AdhocBackupTriggerOption", + "type": "object" + }, + "AdhocBasedTaggingCriteria": { + "description": "Adhoc backup tagging criteria", + "properties": { + "tagInfo": { + "$ref": "#/definitions/RetentionTag", + "description": "Retention tag information" + } + }, + "title": "AdhocBasedTaggingCriteria", + "type": "object" + }, + "AdhocBasedTriggerContext": { + "allOf": [ + { + "$ref": "#/definitions/TriggerContext" + } + ], + "description": "Adhoc trigger context", + "properties": { + "taggingCriteria": { + "$ref": "#/definitions/AdhocBasedTaggingCriteria", + "description": "Tagging Criteria containing retention tag for adhoc backup." + } + }, + "required": [ + "objectType", + "taggingCriteria" + ], + "title": "AdhocBasedTriggerContext", + "type": "object", + "x-ms-discriminator-value": "AdhocBasedTriggerContext" + }, + "AuthCredentials": { + "description": "Base class for different types of authentication credentials.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string", + "readOnly": false + } + }, + "discriminator": "objectType" + }, + "AzureBackupDiscreteRecoveryPoint": { + "allOf": [ + { + "$ref": "#/definitions/AzureBackupRecoveryPoint" + } + ], + "description": "Azure backup discrete RecoveryPoint", + "properties": { + "friendlyName": { + "type": "string" + }, + "recoveryPointDataStoresDetails": { + "items": { + "$ref": "#/definitions/RecoveryPointDataStoreDetails" + }, + "type": "array" + }, + "recoveryPointTime": { + "format": "date-time", + "type": "string" + }, + "policyName": { + "type": "string" + }, + "policyVersion": { + "type": "string" + }, + "recoveryPointId": { + "type": "string" + }, + "recoveryPointType": { + "type": "string" + }, + "retentionTagName": { + "type": "string" + }, + "retentionTagVersion": { + "type": "string" + }, + "expiryTime": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "recoveryPointState": { + "description": "Specifies recovery point completeness. Partial (i.e., only some of the intended items were backed up), or Completed (i.e., ALL intended items were backed up).", + "enum": [ + "Completed", + "Partial" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointCompletionState", + "modelAsString": true + } + } + }, + "required": [ + "recoveryPointTime" + ], + "title": "AzureBackupDiscreteRecoveryPoint", + "type": "object", + "x-ms-discriminator-value": "AzureBackupDiscreteRecoveryPoint" + }, + "AzureBackupFindRestorableTimeRangesRequest": { + "description": "List Restore Ranges Request", + "required": [ + "sourceDataStoreType" + ], + "type": "object", + "properties": { + "sourceDataStoreType": { + "description": "Gets or sets the type of the source data store.", + "enum": [ + "OperationalStore", + "VaultStore", + "ArchiveStore" + ], + "type": "string", + "x-ms-enum": { + "name": "RestoreSourceDataStoreType", + "modelAsString": true + } + }, + "startTime": { + "description": "Start time for the List Restore Ranges request. ISO 8601 format.", + "type": "string" + }, + "endTime": { + "description": "End time for the List Restore Ranges request. ISO 8601 format.", + "type": "string" + } + } + }, + "AzureBackupFindRestorableTimeRangesRequestResource": { + "description": "List Restore Ranges Request", + "allOf": [ + { + "$ref": "#/definitions/DppWorkerRequest" + } + ], + "properties": { + "content": { + "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesRequest", + "description": "AzureBackupFindRestorableTimeRangesRequestResource content" + } + } + }, + "AzureBackupFindRestorableTimeRangesResponse": { + "description": "List Restore Ranges Response", + "type": "object", + "properties": { + "restorableTimeRanges": { + "description": "Returns the Restore Ranges available on the Backup Instance.", + "type": "array", + "items": { + "$ref": "#/definitions/RestorableTimeRange" + }, + "x-ms-identifiers": [] + }, + "objectType": { + "type": "string" + } + } + }, + "AzureBackupFindRestorableTimeRangesResponseResource": { + "description": "List Restore Ranges Response", + "allOf": [ + { + "$ref": "#/definitions/DppResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesResponse", + "description": "AzureBackupFindRestorableTimeRangesResponseResource properties" + } + } + }, + "AzureBackupJob": { + "description": "AzureBackup Job Class", + "properties": { + "activityID": { + "description": "Job Activity Id", + "type": "string" + }, + "backupInstanceFriendlyName": { + "description": "Name of the Backup Instance", + "type": "string" + }, + "backupInstanceId": { + "description": "ARM ID of the Backup Instance", + "readOnly": true, + "type": "string" + }, + "dataSourceId": { + "description": "ARM ID of the DataSource", + "type": "string" + }, + "dataSourceLocation": { + "description": "Location of the DataSource", + "type": "string" + }, + "dataSourceName": { + "description": "User Friendly Name of the DataSource", + "type": "string" + }, + "dataSourceSetName": { + "description": "Data Source Set Name of the DataSource", + "type": "string" + }, + "dataSourceType": { + "description": "Type of DataSource", + "type": "string" + }, + "duration": { + "description": "Total run time of the job. ISO 8601 format.", + "type": "string" + }, + "endTime": { + "description": "EndTime of the job(in UTC)", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "errorDetails": { + "description": "A List, detailing the errors related to the job", + "items": { + "$ref": "#/definitions/UserFacingError" + }, + "x-ms-identifiers": [], + "readOnly": true, + "type": "array" + }, + "extendedInfo": { + "$ref": "#/definitions/JobExtendedInfo", + "description": "Extended Information about the job", + "readOnly": true + }, + "isUserTriggered": { + "description": "Indicated that whether the job is adhoc(true) or scheduled(false)", + "type": "boolean" + }, + "operation": { + "description": "It indicates the type of Job i.e. Backup:full/log/diff ;Restore:ALR/OLR; Tiering:Backup/Archive ; Management:ConfigureProtection/UnConfigure", + "type": "string" + }, + "operationCategory": { + "description": "It indicates the type of Job i.e. Backup/Restore/Tiering/Management", + "type": "string" + }, + "policyId": { + "description": "ARM ID of the policy", + "readOnly": true, + "type": "string" + }, + "policyName": { + "description": "Name of the policy", + "readOnly": true, + "type": "string" + }, + "progressEnabled": { + "description": "Indicated whether progress is enabled for the job", + "type": "boolean" + }, + "progressUrl": { + "description": "Url which contains job's progress", + "readOnly": true, + "type": "string" + }, + "rehydrationPriority": { + "description": "Priority to be used for rehydration", + "readOnly": true, + "type": "string" + }, + "restoreType": { + "description": "It indicates the sub type of operation i.e. in case of Restore it can be ALR/OLR", + "readOnly": true, + "type": "string" + }, + "sourceResourceGroup": { + "description": "Resource Group Name of the Datasource", + "type": "string" + }, + "sourceSubscriptionID": { + "description": "SubscriptionId corresponding to the DataSource", + "type": "string" + }, + "startTime": { + "description": "StartTime of the job(in UTC)", + "format": "date-time", + "type": "string" + }, + "status": { + "description": "Status of the job like InProgress/Success/Failed/Cancelled/SuccessWithWarning", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription Id of the corresponding backup vault", + "type": "string" + }, + "supportedActions": { + "description": "List of supported actions", + "items": { + "type": "string" + }, + "type": "array" + }, + "vaultName": { + "description": "Name of the vault", + "type": "string" + }, + "etag": { + "type": "string" + }, + "sourceDataStoreName": { + "type": "string" + }, + "destinationDataStoreName": { + "type": "string" + } + }, + "required": [ + "activityID", + "subscriptionId", + "dataSourceId", + "vaultName", + "backupInstanceFriendlyName", + "sourceResourceGroup", + "dataSourceName", + "progressEnabled", + "sourceSubscriptionID", + "dataSourceLocation", + "startTime", + "dataSourceType", + "operationCategory", + "operation", + "status", + "isUserTriggered", + "supportedActions" + ], + "type": "object" + }, + "CrossRegionRestoreJobRequest": { + "description": "Details of CRR Job to be fetched", + "required": [ + "sourceRegion", + "sourceBackupVaultId", + "jobId" + ], + "type": "object", + "properties": { + "sourceRegion": { + "type": "string" + }, + "sourceBackupVaultId": { + "type": "string" + }, + "jobId": { + "type": "string" + } + } + }, + "CrossRegionRestoreJobsRequest": { + "description": "Details of Backup Vault for which CRR Jobs are to be fetched", + "required": [ + "sourceRegion", + "sourceBackupVaultId" + ], + "type": "object", + "properties": { + "sourceRegion": { + "type": "string" + }, + "sourceBackupVaultId": { + "type": "string" + } + } + }, + "AzureBackupJobResource": { + "allOf": [ + { + "$ref": "#/definitions/DppResource" + } + ], + "description": "AzureBackup Job Resource Class", + "properties": { + "properties": { + "$ref": "#/definitions/AzureBackupJob", + "description": "AzureBackupJobResource properties", + "type": "object" + } + }, + "type": "object" + }, + "AzureBackupJobResourceList": { + "allOf": [ + { + "$ref": "#/definitions/DppResourceList" + } + ], + "description": "List of AzureBackup Job resources", + "properties": { + "value": { + "description": "List of resources.", + "items": { + "$ref": "#/definitions/AzureBackupJobResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "AzureBackupParams": { + "allOf": [ + { + "$ref": "#/definitions/BackupParameters" + } + ], + "description": "Azure backup parameters", + "properties": { + "backupType": { + "description": "BackupType ; Full/Incremental etc", + "type": "string" + } + }, + "required": [ + "backupType", + "objectType" + ], + "title": "AzureBackupParams", + "type": "object", + "x-ms-discriminator-value": "AzureBackupParams" + }, + "AzureBackupRecoveryPoint": { + "description": "Azure backup recoveryPoint", + "discriminator": "objectType", + "properties": { + "objectType": { + "type": "string" + } + }, + "required": [ + "objectType" + ], + "title": "AzureBackupRecoveryPoint", + "type": "object" + }, + "AzureBackupRecoveryPointBasedRestoreRequest": { + "allOf": [ + { + "$ref": "#/definitions/AzureBackupRestoreRequest" + } + ], + "description": "Azure backup recoveryPoint based restore request", + "properties": { + "recoveryPointId": { + "type": "string" + } + }, + "required": [ + "recoveryPointId" + ], + "title": "AzureBackupRecoveryPointBasedRestoreRequest", + "type": "object", + "x-ms-discriminator-value": "AzureBackupRecoveryPointBasedRestoreRequest" + }, + "AzureBackupRecoveryPointResource": { + "allOf": [ + { + "$ref": "#/definitions/DppResource" + } + ], + "description": "Azure backup recoveryPoint resource", + "properties": { + "properties": { + "$ref": "#/definitions/AzureBackupRecoveryPoint", + "description": "AzureBackupRecoveryPointResource properties" + } + }, + "title": "AzureBackupRecoveryPointResource" + }, + "AzureBackupRecoveryPointResourceList": { + "allOf": [ + { + "$ref": "#/definitions/DppResourceList" + } + ], + "description": "Azure backup recoveryPoint resource list", + "properties": { + "value": { + "description": "List of resources.", + "items": { + "$ref": "#/definitions/AzureBackupRecoveryPointResource" + }, + "type": "array" + } + }, + "title": "AzureBackupRecoveryPointResourceList", + "type": "object" + }, + "AzureBackupRehydrationRequest": { + "description": "Azure Backup Rehydrate Request", + "properties": { + "recoveryPointId": { + "description": "Id of the recovery point to be recovered", + "type": "string" + }, + "rehydrationPriority": { + "description": "Priority to be used for rehydration. Values High or Standard", + "$ref": "#/definitions/RehydrationPriority" + }, + "rehydrationRetentionDuration": { + "description": "Retention duration in ISO 8601 format i.e P10D .", + "type": "string" + } + }, + "required": [ + "recoveryPointId", + "rehydrationRetentionDuration" + ], + "title": "AzureBackupRehydrationRequest", + "type": "object" + }, + "AzureBackupRestoreRequest": { + "description": "Azure backup restore request", + "discriminator": "objectType", + "properties": { + "objectType": { + "type": "string" + }, + "restoreTargetInfo": { + "$ref": "#/definitions/RestoreTargetInfoBase", + "description": "Gets or sets the restore target information." + }, + "sourceDataStoreType": { + "description": "Gets or sets the type of the source data store.", + "enum": [ + "ArchiveStore", + "SnapshotStore", + "OperationalStore", + "VaultStore" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SourceDataStoreType" + } + }, + "sourceResourceId": { + "description": "Fully qualified Azure Resource Manager ID of the datasource which is being recovered.", + "type": "string" + }, + "identityDetails": { + "$ref": "#/definitions/IdentityDetails", + "description": "Contains information of the Identity Details for the BI.\r\nIf it is null, default will be considered as System Assigned." + } + }, + "required": [ + "objectType", + "restoreTargetInfo", + "sourceDataStoreType" + ], + "title": "AzureBackupRestoreRequest", + "type": "object" + }, + "IdentityDetails": { + "type": "object", + "properties": { + "useSystemAssignedIdentity": { + "description": "Specifies if the BI is protected by System Identity.", + "type": "boolean" + }, + "userAssignedIdentityArmUrl": { + "description": "ARM URL for User Assigned Identity.", + "type": "string" + } + } + }, + "AzureBackupRestoreWithRehydrationRequest": { + "allOf": [ + { + "$ref": "#/definitions/AzureBackupRecoveryPointBasedRestoreRequest" + } + ], + "description": "AzureBackup Restore with Rehydration Request", + "properties": { + "rehydrationPriority": { + "description": "Priority to be used for rehydration. Values High or Standard", + "$ref": "#/definitions/RehydrationPriority" + }, + "rehydrationRetentionDuration": { + "description": "Retention duration in ISO 8601 format i.e P10D .", + "type": "string" + } + }, + "required": [ + "rehydrationPriority", + "rehydrationRetentionDuration" + ], + "title": "AzureBackupRestoreWithRehydrationRequest", + "type": "object", + "x-ms-discriminator-value": "AzureBackupRestoreWithRehydrationRequest" + }, + "AzureBackupRecoveryTimeBasedRestoreRequest": { + "allOf": [ + { + "$ref": "#/definitions/AzureBackupRestoreRequest" + } + ], + "description": "AzureBackup RecoveryPointTime Based Restore Request", + "properties": { + "recoveryPointTime": { + "description": "The recovery time in ISO 8601 format example - 2020-08-14T17:30:00.0000000Z.", + "type": "string" + } + }, + "required": [ + "recoveryPointTime" + ], + "title": "AzureBackupRecoveryTimeBasedRestoreRequest", + "type": "object", + "x-ms-discriminator-value": "AzureBackupRecoveryTimeBasedRestoreRequest" + }, + "AzureBackupRule": { + "allOf": [ + { + "$ref": "#/definitions/BasePolicyRule" + } + ], + "description": "Azure backup rule", + "properties": { + "backupParameters": { + "$ref": "#/definitions/BackupParameters" + }, + "dataStore": { + "$ref": "#/definitions/DataStoreInfoBase" + }, + "trigger": { + "$ref": "#/definitions/TriggerContext" + } + }, + "required": [ + "dataStore", + "name", + "objectType", + "trigger" + ], + "title": "AzureBackupRule", + "type": "object", + "x-ms-discriminator-value": "AzureBackupRule" + }, + "AzureMonitorAlertSettings": { + "type": "object", + "description": "Settings for Azure Monitor based alerts", + "properties": { + "alertsForAllJobFailures": { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AlertsState", + "modelAsString": true + } + } + } + }, + "AzureOperationalStoreParameters": { + "description": "Parameters for Operational-Tier DataStore", + "required": [ + "objectType", + "dataStoreType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataStoreParameters" + } + ], + "properties": { + "resourceGroupId": { + "description": "Gets or sets the Snapshot Resource Group Uri.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureOperationalStoreParameters" + }, + "KubernetesClusterBackupDatasourceParameters": { + "description": "Parameters for Kubernetes Cluster Backup Datasource", + "required": [ + "snapshotVolumes", + "includeClusterScopeResources" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupDatasourceParameters" + } + ], + "properties": { + "snapshotVolumes": { + "description": "Gets or sets the volume snapshot property. This property if enabled will take volume snapshots during backup.", + "type": "boolean" + }, + "includeClusterScopeResources": { + "description": "Gets or sets the include cluster resources property. This property if enabled will include cluster scope resources during backup.", + "type": "boolean" + }, + "includedNamespaces": { + "description": "Gets or sets the include namespaces property. This property sets the namespaces to be included during backup.", + "items": { + "type": "string" + }, + "type": "array" + }, + "excludedNamespaces": { + "description": "Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during backup.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedResourceTypes": { + "description": "Gets or sets the include resource types property. This property sets the resource types to be included during backup.", + "items": { + "type": "string" + }, + "type": "array" + }, + "excludedResourceTypes": { + "description": "Gets or sets the exclude resource types property. This property sets the resource types to be excluded during backup.", + "items": { + "type": "string" + }, + "type": "array" + }, + "labelSelectors": { + "description": "Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during backup.", + "items": { + "type": "string" + }, + "type": "array" + }, + "backupHookReferences": { + "description": "Gets or sets the backup hook references. This property sets the hook reference to be executed during backup.", + "items": { + "$ref": "#/definitions/NamespacedNameResource" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "x-ms-discriminator-value": "KubernetesClusterBackupDatasourceParameters" + }, + "BlobBackupDatasourceParameters": { + "description": "Parameters to be used during configuration of backup of blobs", + "required": [ + "containersList", + "objectType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupDatasourceParameters" + } + ], + "properties": { + "containersList": { + "description": "List of containers to be backed up during configuration of backup of blobs", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "BlobBackupDatasourceParameters" + }, + "AzureRetentionRule": { + "allOf": [ + { + "$ref": "#/definitions/BasePolicyRule" + } + ], + "description": "Azure retention rule", + "properties": { + "isDefault": { + "type": "boolean" + }, + "lifecycles": { + "items": { + "$ref": "#/definitions/SourceLifeCycle" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "lifecycles", + "name", + "objectType" + ], + "title": "AzureRetentionRule", + "type": "object", + "x-ms-discriminator-value": "AzureRetentionRule" + }, + "BackupCriteria": { + "description": "BackupCriteria base class", + "discriminator": "objectType", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + } + }, + "required": [ + "objectType" + ], + "title": "BackupCriteria", + "type": "object" + }, + "BackupInstance": { + "description": "Backup Instance", + "required": [ + "dataSourceInfo", + "policyInfo", + "objectType" + ], + "type": "object", + "properties": { + "friendlyName": { + "description": "Gets or sets the Backup Instance friendly name.", + "type": "string" + }, + "dataSourceInfo": { + "$ref": "#/definitions/Datasource", + "description": "Gets or sets the data source information." + }, + "dataSourceSetInfo": { + "$ref": "#/definitions/DatasourceSet", + "description": "Gets or sets the data source set information." + }, + "policyInfo": { + "$ref": "#/definitions/PolicyInfo", + "description": "Gets or sets the policy information." + }, + "protectionStatus": { + "$ref": "#/definitions/ProtectionStatusDetails", + "description": "Specifies the protection status of the resource", + "readOnly": true + }, + "currentProtectionState": { + "description": "Specifies the current protection state of the resource", + "enum": [ + "Invalid", + "NotProtected", + "ConfiguringProtection", + "ProtectionConfigured", + "BackupSchedulesSuspended", + "RetentionSchedulesSuspended", + "ProtectionStopped", + "ProtectionError", + "ConfiguringProtectionFailed", + "SoftDeleting", + "SoftDeleted", + "UpdatingProtection" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CurrentProtectionState", + "modelAsString": true + } + }, + "protectionErrorDetails": { + "$ref": "#/definitions/UserFacingError", + "description": "Specifies the protection error of the resource", + "readOnly": true + }, + "provisioningState": { + "description": "Specifies the provisioning state of the resource i.e. provisioning/updating/Succeeded/Failed", + "type": "string", + "readOnly": true + }, + "datasourceAuthCredentials": { + "$ref": "#/definitions/AuthCredentials", + "description": "Credentials to use to authenticate with data source provider." + }, + "validationType": { + "description": "Specifies the type of validation. In case of DeepValidation, all validations from /validateForBackup API will run again.", + "enum": [ + "ShallowValidation", + "DeepValidation" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationType", + "modelAsString": true + } + }, + "identityDetails": { + "$ref": "#/definitions/IdentityDetails", + "description": "Contains information of the Identity Details for the BI.\r\nIf it is null, default will be considered as System Assigned." + }, + "objectType": { + "type": "string" + } + } + }, + "BackupInstanceResource": { + "allOf": [ + { + "$ref": "#/definitions/DppProxyResource" + } + ], + "description": "BackupInstance Resource", + "properties": { + "properties": { + "$ref": "#/definitions/BackupInstance", + "description": "BackupInstanceResource properties" + } + }, + "title": "BackupInstanceResource" + }, + "BackupInstanceResourceList": { + "allOf": [ + { + "$ref": "#/definitions/DppResourceList" + } + ], + "description": "BackupInstance Resource list response", + "properties": { + "value": { + "description": "List of resources.", + "items": { + "$ref": "#/definitions/BackupInstanceResource" + }, + "type": "array" + } + }, + "title": "BackupInstanceResourceList", + "type": "object" + }, + "BackupParameters": { + "description": "BackupParameters base", + "discriminator": "objectType", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + } + }, + "required": [ + "objectType" + ], + "title": "BackupParameters", + "type": "object" + }, + "BackupPolicy": { + "allOf": [ + { + "$ref": "#/definitions/BaseBackupPolicy" + } + ], + "description": "Rule based backup policy", + "properties": { + "policyRules": { + "description": "Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc", + "items": { + "$ref": "#/definitions/BasePolicyRule" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "datasourceTypes", + "policyRules" + ], + "title": "BackupPolicy", + "type": "object", + "x-ms-discriminator-value": "BackupPolicy" + }, + "BackupSchedule": { + "description": "Schedule for backup", + "properties": { + "repeatingTimeIntervals": { + "description": "ISO 8601 repeating time interval format", + "items": { + "type": "string" + }, + "type": "array" + }, + "timeZone": { + "description": "Time zone for a schedule. Example: Pacific Standard Time", + "type": "string" + } + }, + "required": [ + "repeatingTimeIntervals" + ], + "title": "BackupSchedule", + "type": "object" + }, + "BackupVault": { + "description": "Backup Vault", + "properties": { + "monitoringSettings": { + "$ref": "#/definitions/MonitoringSettings", + "description": "Monitoring Settings" + }, + "provisioningState": { + "description": "Provisioning state of the BackupVault resource", + "enum": [ + "Failed", + "Provisioning", + "Succeeded", + "Unknown", + "Updating" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ProvisioningState" + } + }, + "resourceMoveState": { + "description": "Resource move state for backup vault", + "enum": [ + "Unknown", + "InProgress", + "PrepareFailed", + "CommitFailed", + "Failed", + "PrepareTimedout", + "CommitTimedout", + "CriticalFailure", + "PartialSuccess", + "MoveSucceeded" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ResourceMoveState", + "modelAsString": true + } + }, + "resourceMoveDetails": { + "$ref": "#/definitions/ResourceMoveDetails", + "description": "Resource move details for backup vault", + "readOnly": true + }, + "securitySettings": { + "$ref": "#/definitions/SecuritySettings", + "description": "Security Settings" + }, + "storageSettings": { + "description": "Storage Settings", + "items": { + "$ref": "#/definitions/StorageSetting" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "isVaultProtectedByResourceGuard": { + "description": "Is vault protected by resource guard", + "type": "boolean", + "readOnly": true + }, + "featureSettings": { + "$ref": "#/definitions/FeatureSettings", + "description": "Feature Settings" + }, + "secureScore": { + "description": "Secure Score of Backup Vault", + "enum": [ + "None", + "Minimum", + "Adequate", + "Maximum", + "NotSupported" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SecureScoreLevel", + "modelAsString": true + } + }, + "replicatedRegions": { + "description": "List of replicated regions for Backup Vault", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "storageSettings" + ], + "title": "BackupVault", + "type": "object" + }, + "BackupVaultResource": { + "allOf": [ + { + "$ref": "#/definitions/DppTrackedResource" + } + ], + "description": "Backup Vault Resource", + "properties": { + "properties": { + "$ref": "#/definitions/BackupVault", + "description": "BackupVaultResource properties" + } + }, + "required": [ + "location", + "properties" + ], + "title": "BackupVault Resource" + }, + "BackupVaultResourceList": { + "allOf": [ + { + "$ref": "#/definitions/DppResourceList" + } + ], + "description": "List of BackupVault resources", + "properties": { + "value": { + "description": "List of resources.", + "items": { + "$ref": "#/definitions/BackupVaultResource" + }, + "type": "array" + } + }, + "title": "BackupVaultResourceList", + "type": "object" + }, + "BaseBackupPolicy": { + "description": "BackupPolicy base", + "discriminator": "objectType", + "properties": { + "datasourceTypes": { + "description": "Type of datasource for the backup management", + "items": { + "type": "string" + }, + "type": "array" + }, + "objectType": { + "type": "string" + } + }, + "required": [ + "datasourceTypes", + "objectType" + ], + "title": "BaseBackupPolicy", + "type": "object" + }, + "BaseBackupPolicyResource": { + "allOf": [ + { + "$ref": "#/definitions/DppResource" + } + ], + "description": "BaseBackupPolicy resource", + "properties": { + "properties": { + "$ref": "#/definitions/BaseBackupPolicy", + "description": "BaseBackupPolicyResource properties" + } + }, + "title": "BaseBackupPolicyResource" + }, + "BaseBackupPolicyResourceList": { + "allOf": [ + { + "$ref": "#/definitions/DppResourceList" + } + ], + "description": "List of BaseBackupPolicy resources", + "properties": { + "value": { + "description": "List of resources.", + "items": { + "$ref": "#/definitions/BaseBackupPolicyResource" + }, + "type": "array" + } + }, + "title": "BaseBackupPolicyResourceList", + "type": "object" + }, + "BasePolicyRule": { + "description": "BasePolicy Rule", + "discriminator": "objectType", + "properties": { + "name": { + "type": "string" + }, + "objectType": { + "type": "string" + } + }, + "required": [ + "name", + "objectType" + ], + "title": "BasePolicyRule", + "type": "object" + }, + "BaseResourceProperties": { + "description": "Properties which are specific to datasource/datasourceSets", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string", + "readOnly": false, + "enum": [ + "DefaultResourceProperties" + ], + "x-ms-enum": { + "name": "ResourcePropertiesObjectType", + "modelAsString": true + } + } + }, + "discriminator": "objectType" + }, + "CheckNameAvailabilityRequest": { + "description": "CheckNameAvailability Request", + "properties": { + "name": { + "description": "Resource name for which availability needs to be checked", + "type": "string" + }, + "type": { + "description": "Describes the Resource type: Microsoft.DataProtection/BackupVaults", + "type": "string" + } + }, + "title": "CheckNameAvailabilityRequest", + "type": "object" + }, + "CheckNameAvailabilityResult": { + "description": "CheckNameAvailability Result", + "properties": { + "message": { + "description": "Gets or sets the message.", + "type": "string" + }, + "nameAvailable": { + "description": "Gets or sets a value indicating whether [name available].", + "type": "boolean" + }, + "reason": { + "description": "Gets or sets the reason.", + "type": "string" + } + }, + "title": "CheckNameAvailabilityResult", + "type": "object" + }, + "ClientDiscoveryDisplay": { + "description": "Localized display information of an operation.", + "properties": { + "description": { + "description": "Description of the operation having details of what operation is about.", + "type": "string" + }, + "operation": { + "description": "Operations Name itself.", + "type": "string" + }, + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "ResourceType for which this Operation can be performed.", + "type": "string" + } + }, + "title": "ClientDiscoveryDisplay", + "type": "object" + }, + "ClientDiscoveryForLogSpecification": { + "description": "Class to represent shoebox log specification in json client discovery.", + "properties": { + "blobDuration": { + "description": "blob duration of shoebox log specification", + "type": "string" + }, + "displayName": { + "description": "Localized display name", + "type": "string" + }, + "name": { + "description": "Name for shoebox log specification.", + "type": "string" + } + }, + "title": "ClientDiscoveryForLogSpecification", + "type": "object" + }, + "ClientDiscoveryForProperties": { + "description": "Class to represent shoebox properties in json client discovery.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", + "description": "Operation properties." + } + }, + "title": "ClientDiscoveryForProperties", + "type": "object" + }, + "ClientDiscoveryForServiceSpecification": { + "description": "Class to represent shoebox service specification in json client discovery.", + "properties": { + "logSpecifications": { + "description": "List of log specifications of this operation.", + "items": { + "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "title": "ClientDiscoveryForServiceSpecification", + "type": "object" + }, + "ClientDiscoveryResponse": { + "description": "Operations List response which contains list of available APIs.", + "properties": { + "nextLink": { + "description": "Link to the next chunk of Response.", + "type": "string" + }, + "value": { + "description": "List of available operations.", + "items": { + "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "title": "ClientDiscoveryResponse", + "type": "object" + }, + "ClientDiscoveryValueForSingleApi": { + "description": "Available operation details.", + "properties": { + "display": { + "$ref": "#/definitions/ClientDiscoveryDisplay", + "description": "Contains the localized display information for this particular operation" + }, + "name": { + "description": "Name of the Operation.", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "origin": { + "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ClientDiscoveryForProperties", + "description": "Properties for the given operation." + } + }, + "title": "ClientDiscoveryValueForSingleApi", + "type": "object" + }, + "FetchSecondaryRPsRequestParameters": { + "description": "Information about BI whose secondary RecoveryPoints are requested\r\nSource region and\r\nBI ARM path", + "type": "object", + "properties": { + "sourceRegion": { + "description": "Source region in which BackupInstance is located", + "type": "string" + }, + "sourceBackupInstanceId": { + "description": "ARM Path of BackupInstance", + "type": "string" + } + } + }, + "CloudError": { + "description": "An error response from Azure Backup.", + "properties": { + "error": { + "$ref": "#/definitions/Error" + } + }, + "title": "CloudError", + "x-ms-external": true + }, + "CopyOnExpiryOption": { + "allOf": [ + { + "$ref": "#/definitions/CopyOption" + } + ], + "description": "Copy on Expiry Option", + "required": [ + "objectType" + ], + "title": "CopyOnExpiryOption", + "type": "object", + "x-ms-discriminator-value": "CopyOnExpiryOption" + }, + "CopyOption": { + "description": "Options to copy", + "discriminator": "objectType", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + } + }, + "required": [ + "objectType" + ], + "title": "CopyOption", + "type": "object" + }, + "CrossRegionRestoreSettings": { + "type": "object", + "properties": { + "state": { + "description": "CrossRegionRestore state", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "CrossRegionRestoreState", + "modelAsString": true + } + } + } + }, + "CrossSubscriptionRestoreSettings": { + "description": "CrossSubscriptionRestore Settings", + "type": "object", + "properties": { + "state": { + "description": "CrossSubscriptionRestore state", + "enum": [ + "Disabled", + "PermanentlyDisabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "CrossSubscriptionRestoreState", + "modelAsString": true + } + } + } + }, + "CustomCopyOption": { + "allOf": [ + { + "$ref": "#/definitions/CopyOption" + } + ], + "description": "Duration based custom options to copy", + "properties": { + "duration": { + "description": "Data copied after given timespan", + "type": "string" + } + }, + "required": [ + "objectType" + ], + "title": "CustomCopyOption", + "type": "object", + "x-ms-discriminator-value": "CustomCopyOption" + }, + "Datasource": { + "description": "Datasource to be backed up", + "properties": { + "datasourceType": { + "description": "DatasourceType of the resource.", + "type": "string" + }, + "objectType": { + "description": "Type of Datasource object, used to initialize the right inherited type", + "type": "string" + }, + "resourceID": { + "description": "Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault.", + "type": "string" + }, + "resourceLocation": { + "description": "Location of datasource.", + "type": "string" + }, + "resourceName": { + "description": "Unique identifier of the resource in the context of parent.", + "type": "string" + }, + "resourceType": { + "description": "Resource Type of Datasource.", + "type": "string" + }, + "resourceUri": { + "description": "Uri of the resource.", + "type": "string" + }, + "resourceProperties": { + "$ref": "#/definitions/BaseResourceProperties", + "description": "Properties specific to data source" + } + }, + "required": [ + "resourceID" + ], + "title": "Datasource", + "type": "object" + }, + "DatasourceSet": { + "description": "DatasourceSet details of datasource to be backed up", + "properties": { + "datasourceType": { + "description": "DatasourceType of the resource.", + "type": "string" + }, + "objectType": { + "description": "Type of Datasource object, used to initialize the right inherited type", + "type": "string" + }, + "resourceID": { + "description": "Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault.", + "type": "string" + }, + "resourceLocation": { + "description": "Location of datasource.", + "type": "string" + }, + "resourceName": { + "description": "Unique identifier of the resource in the context of parent.", + "type": "string" + }, + "resourceType": { + "description": "Resource Type of Datasource.", + "type": "string" + }, + "resourceUri": { + "description": "Uri of the resource.", + "type": "string" + }, + "resourceProperties": { + "$ref": "#/definitions/BaseResourceProperties", + "description": "Properties specific to data source set" + } + }, + "required": [ + "resourceID" + ], + "title": "DatasourceSet", + "type": "object" + }, + "DataStoreInfoBase": { + "description": "DataStoreInfo base", + "properties": { + "dataStoreType": { + "description": "type of datastore; Operational/Vault/Archive", + "enum": [ + "OperationalStore", + "VaultStore", + "ArchiveStore" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataStoreTypes" + } + }, + "objectType": { + "description": "Type of Datasource object, used to initialize the right inherited type", + "readOnly": false, + "type": "string" + } + }, + "required": [ + "dataStoreType", + "objectType" + ], + "title": "DataStoreInfoBase", + "type": "object" + }, + "DataStoreParameters": { + "description": "Parameters for DataStore", + "required": [ + "objectType", + "dataStoreType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string", + "readOnly": false + }, + "dataStoreType": { + "description": "type of datastore; Operational/Vault/Archive", + "enum": [ + "OperationalStore", + "VaultStore", + "ArchiveStore" + ], + "type": "string", + "x-ms-enum": { + "name": "DataStoreTypes", + "modelAsString": true + } + } + }, + "discriminator": "objectType" + }, + "BackupDatasourceParameters": { + "description": "Parameters for Backup Datasource", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string", + "readOnly": false + } + }, + "discriminator": "objectType" + }, + "Day": { + "description": "Day of the week", + "properties": { + "date": { + "description": "Date of the month", + "format": "int32", + "type": "integer" + }, + "isLast": { + "description": "Whether Date is last date of month", + "type": "boolean" + } + }, + "title": "Day", + "type": "object" + }, + "DeletedBackupInstance": { + "description": "Deleted Backup Instance", + "required": [ + "dataSourceInfo", + "policyInfo" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupInstance" + } + ], + "properties": { + "deletionInfo": { + "$ref": "#/definitions/DeletionInfo", + "description": "Deletion info of Backup Instance", + "readOnly": true + } + } + }, + "DefaultResourceProperties": { + "description": "Default source properties", + "required": [ + "objectType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseResourceProperties" + } + ], + "x-ms-discriminator-value": "DefaultResourceProperties" + }, + "DeletedBackupInstanceResource": { + "description": "Deleted Backup Instance", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DppResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DeletedBackupInstance", + "description": "DeletedBackupInstanceResource properties" + } + } + }, + "DeletedBackupInstanceResourceList": { + "description": "List of DeletedBackupInstance resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DppResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DeletedBackupInstanceResource" + } + } + } + }, + "DeletionInfo": { + "description": "Deletion Info", + "type": "object", + "properties": { + "deletionTime": { + "description": "Specifies time of deletion", + "type": "string", + "readOnly": true + }, + "billingEndDate": { + "description": "Specifies billing end date", + "type": "string", + "readOnly": true + }, + "scheduledPurgeTime": { + "description": "Specifies purge time", + "type": "string", + "readOnly": true + }, + "deleteActivityID": { + "description": "Delete activity ID for troubleshooting purpose", + "type": "string", + "readOnly": true + } + } + }, + "DeleteOption": { + "description": "Delete Option", + "discriminator": "objectType", + "properties": { + "duration": { + "description": "Duration of deletion after given timespan", + "type": "string" + }, + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + } + }, + "required": [ + "duration", + "objectType" + ], + "title": "DeleteOption", + "type": "object" + }, + "DppIdentityDetails": { + "description": "Identity details", + "properties": { + "principalId": { + "description": "The object ID of the service principal object for the managed identity that is used to grant role-based access to an Azure resource.", + "readOnly": true, + "type": "string" + }, + "tenantId": { + "description": "A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "The identityType which can be either SystemAssigned, UserAssigned, 'SystemAssigned,UserAssigned' or None", + "type": "string" + }, + "userAssignedIdentities": { + "description": "Gets or sets the user assigned identities.", + "type": "object", + "additionalProperties": { + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/UserAssignedIdentity" + } + } + }, + "title": "DppIdentityDetails", + "type": "object" + }, + "DppBaseResourceList": { + "description": "Base for all lists of V2 resources.", + "type": "object", + "properties": { + "value": { + "description": "List of Dpp resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DppBaseResource" + } + }, + "nextLink": { + "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", + "type": "string" + } + } + }, + "DppBaseResource": { + "type": "object", + "description": "Base resource under Microsoft.DataProtection provider namespace", + "properties": { + "id": { + "description": "Resource Id represents the complete path to the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name associated with the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "type": "string", + "readOnly": true + } + } + }, + "DppResource": { + "description": "Resource class", + "properties": { + "id": { + "description": "Resource Id represents the complete path to the resource.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Resource name associated with the resource.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "readOnly": true, + "type": "string" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/systemData" + } + }, + "title": "DppResource", + "type": "object", + "x-ms-azure-resource": true + }, + "DppResourceList": { + "description": "ListResource", + "properties": { + "nextLink": { + "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", + "type": "string" + } + }, + "title": "List Resource", + "type": "object" + }, + "DppBaseTrackedResource": { + "properties": { + "eTag": { + "description": "Optional ETag.", + "type": "string" + }, + "id": { + "description": "Resource Id represents the complete path to the resource.", + "readOnly": true, + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Resource name associated with the resource.", + "readOnly": true, + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags.", + "type": "object" + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "readOnly": true, + "type": "string" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/systemData" + } + }, + "type": "object", + "x-ms-azure-resource": true + }, + "DppTrackedResource": { + "allOf": [ + { + "$ref": "#/definitions/DppBaseTrackedResource" + } + ], + "properties": { + "identity": { + "$ref": "#/definitions/DppIdentityDetails", + "description": "Input Managed Identity Details" + } + }, + "type": "object", + "x-ms-azure-resource": true + }, + "ImmutabilitySettings": { + "description": "Immutability Settings at vault level", + "type": "object", + "properties": { + "state": { + "description": "Immutability state", + "enum": [ + "Disabled", + "Unlocked", + "Locked" + ], + "type": "string", + "x-ms-enum": { + "name": "ImmutabilityState", + "modelAsString": true + } + } + } + }, + "DppProxyResource": { + "properties": { + "id": { + "description": "Proxy Resource Id represents the complete path to the resource.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Proxy Resource name associated with the resource.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Proxy Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "readOnly": true, + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Proxy Resource tags.", + "type": "object" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/systemData" + } + }, + "type": "object", + "x-ms-azure-resource": true + }, + "DppTrackedResourceList": { + "properties": { + "nextLink": { + "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", + "type": "string" + } + }, + "type": "object" + }, + "DppWorkerRequest": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "headers": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "supportedGroupVersions": { + "type": "array", + "items": { + "type": "string" + } + }, + "cultureInfo": { + "type": "string" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "httpMethod": { + "type": "string" + } + } + }, + "Error": { + "description": "The resource management error response.", + "properties": { + "additionalInfo": { + "description": "The error additional info.", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "x-ms-identifiers": [], + "readOnly": true, + "type": "array" + }, + "code": { + "description": "The error code.", + "readOnly": true, + "type": "string" + }, + "details": { + "description": "The error details.", + "items": { + "$ref": "#/definitions/Error" + }, + "x-ms-identifiers": [], + "readOnly": true, + "type": "array" + }, + "message": { + "description": "The error message.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "The error target.", + "readOnly": true, + "type": "string" + } + } + }, + "ErrorAdditionalInfo": { + "description": "The resource management error additional info.", + "properties": { + "info": { + "description": "The additional info.", + "readOnly": true, + "type": "object" + }, + "type": { + "description": "The additional info type.", + "readOnly": true, + "type": "string" + } + } + }, + "ExportJobsResult": { + "description": "The result for export jobs containing blob details.", + "properties": { + "blobUrl": { + "description": "URL of the blob into which the serialized string of list of jobs is exported.", + "readOnly": true, + "type": "string" + }, + "blobSasKey": { + "description": "SAS key to access the blob.", + "readOnly": true, + "type": "string" + }, + "excelFileBlobUrl": { + "description": "URL of the blob into which the ExcelFile is uploaded.", + "readOnly": true, + "type": "string" + }, + "excelFileBlobSasKey": { + "description": "SAS key to access the ExcelFile blob.", + "readOnly": true, + "type": "string" + } + }, + "title": "ExportJobsResult", + "type": "object" + }, + "FeatureSettings": { + "description": "Class containing feature settings of vault", + "type": "object", + "properties": { + "crossSubscriptionRestoreSettings": { + "$ref": "#/definitions/CrossSubscriptionRestoreSettings" + }, + "crossRegionRestoreSettings": { + "$ref": "#/definitions/CrossRegionRestoreSettings" + } + } + }, + "FeatureValidationRequest": { + "description": "Base class for feature object", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureValidationRequestBase" + } + ], + "properties": { + "featureType": { + "description": "backup support feature type.", + "enum": [ + "Invalid", + "DataSourceType" + ], + "type": "string", + "x-ms-enum": { + "name": "FeatureType", + "modelAsString": true + } + }, + "featureName": { + "description": "backup support feature name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "FeatureValidationRequest" + }, + "FeatureValidationRequestBase": { + "description": "Base class for Backup Feature support", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string", + "readOnly": false + } + }, + "discriminator": "objectType" + }, + "FeatureValidationResponse": { + "description": "Feature Validation Response", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureValidationResponseBase" + } + ], + "properties": { + "featureType": { + "description": "backup support feature type.", + "enum": [ + "Invalid", + "DataSourceType" + ], + "type": "string", + "x-ms-enum": { + "name": "FeatureType", + "modelAsString": true + } + }, + "features": { + "description": "Response features", + "type": "array", + "items": { + "$ref": "#/definitions/SupportedFeature" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "FeatureValidationResponse" + }, + "FeatureValidationResponseBase": { + "description": "Base class for Backup Feature support", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string", + "readOnly": false + } + }, + "discriminator": "objectType" + }, + "ImmediateCopyOption": { + "allOf": [ + { + "$ref": "#/definitions/CopyOption" + } + ], + "description": "Immediate copy Option", + "required": [ + "objectType" + ], + "title": "ImmediateCopyOption", + "type": "object", + "x-ms-discriminator-value": "ImmediateCopyOption" + }, + "InnerError": { + "description": "Inner Error", + "properties": { + "additionalInfo": { + "additionalProperties": { + "type": "string" + }, + "description": "Any Key value pairs that can be provided to the client for additional verbose information.", + "type": "object" + }, + "code": { + "description": "Unique code for this error", + "type": "string" + }, + "embeddedInnerError": { + "$ref": "#/definitions/InnerError", + "description": "Child Inner Error, to allow Nesting." + } + }, + "title": "InnerError", + "type": "object" + }, + "ItemLevelRestoreCriteria": { + "description": "Class to contain criteria for item level restore", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "ItemLevelRestoreTargetInfo": { + "description": "Restore target info for Item level restore operation", + "required": [ + "restoreCriteria", + "datasourceInfo", + "recoveryOption" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreTargetInfoBase" + } + ], + "properties": { + "restoreCriteria": { + "description": "Restore Criteria", + "type": "array", + "items": { + "$ref": "#/definitions/ItemLevelRestoreCriteria" + }, + "x-ms-identifiers": [] + }, + "datasourceInfo": { + "$ref": "#/definitions/Datasource", + "description": "Information of target DS" + }, + "datasourceSetInfo": { + "$ref": "#/definitions/DatasourceSet", + "description": "Information of target DS Set" + }, + "datasourceAuthCredentials": { + "$ref": "#/definitions/AuthCredentials", + "description": "Credentials to use to authenticate with data source provider." + } + }, + "x-ms-discriminator-value": "ItemLevelRestoreTargetInfo" + }, + "ItemPathBasedRestoreCriteria": { + "description": "Prefix criteria to be used to during restore", + "required": [ + "itemPath", + "isPathRelativeToBackupItem", + "objectType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ItemLevelRestoreCriteria" + } + ], + "properties": { + "itemPath": { + "description": "The path of the item to be restored. It could be the full path of the item or the path relative to the backup item", + "type": "string" + }, + "isPathRelativeToBackupItem": { + "description": "Flag to specify if the path is relative to backup item or full path", + "type": "boolean" + }, + "subItemPathPrefix": { + "description": "The list of prefix strings to be used as filter criteria during restore. These are relative to the item path specified.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "ItemPathBasedRestoreCriteria" + }, + "JobExtendedInfo": { + "description": "Extended Information about the job", + "properties": { + "additionalDetails": { + "additionalProperties": { + "readOnly": true, + "type": "string" + }, + "description": "Job's Additional Details" + }, + "backupInstanceState": { + "description": "State of the Backup Instance", + "readOnly": true, + "type": "string" + }, + "dataTransferredInBytes": { + "description": "Number of bytes transferred", + "format": "double", + "readOnly": true, + "type": "number" + }, + "recoveryDestination": { + "description": "Destination where restore is done", + "readOnly": true, + "type": "string" + }, + "sourceRecoverPoint": { + "$ref": "#/definitions/RestoreJobRecoveryPointDetails", + "description": "Details of the Source Recovery Point", + "readOnly": true + }, + "subTasks": { + "description": "List of Sub Tasks of the job", + "items": { + "$ref": "#/definitions/JobSubTask" + }, + "x-ms-identifiers": [], + "readOnly": true, + "type": "array" + }, + "targetRecoverPoint": { + "$ref": "#/definitions/RestoreJobRecoveryPointDetails", + "description": "Details of the Target Recovery Point", + "readOnly": true + }, + "warningDetails": { + "description": "A List, detailing the warnings related to the job", + "items": { + "$ref": "#/definitions/UserFacingWarningDetail" + }, + "x-ms-identifiers": [], + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "JobSubTask": { + "description": "Details of Job's Sub Task", + "properties": { + "additionalDetails": { + "additionalProperties": { + "readOnly": true, + "type": "string" + }, + "description": "Additional details of Sub Tasks" + }, + "taskId": { + "description": "Task Id of the Sub Task", + "format": "int32", + "type": "integer" + }, + "taskName": { + "description": "Name of the Sub Task", + "type": "string" + }, + "taskProgress": { + "description": "Progress of the Sub Task", + "readOnly": true, + "type": "string" + }, + "taskStatus": { + "description": "Status of the Sub Task", + "type": "string" + } + }, + "required": [ + "taskId", + "taskName", + "taskStatus" + ], + "type": "object" + }, + "MonitoringSettings": { + "type": "object", + "description": "Monitoring Settings", + "properties": { + "azureMonitorAlertSettings": { + "$ref": "#/definitions/AzureMonitorAlertSettings" + } + } + }, + "OperationExtendedInfo": { + "description": "Operation Extended Info", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "title": "OperationExtendedInfo", + "discriminator": "objectType", + "type": "object", + "required": [ + "objectType" + ] + }, + "CrossRegionRestoreDetails": { + "description": "Cross Region Restore details", + "required": [ + "sourceRegion", + "sourceBackupInstanceId" + ], + "type": "object", + "properties": { + "sourceRegion": { + "type": "string" + }, + "sourceBackupInstanceId": { + "type": "string" + } + } + }, + "ValidateCrossRegionRestoreRequestObject": { + "description": "Cross Region Restore Request Object", + "required": [ + "restoreRequestObject", + "crossRegionRestoreDetails" + ], + "type": "object", + "properties": { + "restoreRequestObject": { + "$ref": "#/definitions/AzureBackupRestoreRequest", + "description": "Gets or sets the restore request object." + }, + "crossRegionRestoreDetails": { + "$ref": "#/definitions/CrossRegionRestoreDetails", + "description": "Cross region restore details." + } + } + }, + "CrossRegionRestoreRequestObject": { + "description": "Cross Region Restore Request Object", + "required": [ + "restoreRequestObject", + "crossRegionRestoreDetails" + ], + "type": "object", + "properties": { + "restoreRequestObject": { + "$ref": "#/definitions/AzureBackupRestoreRequest", + "description": "Gets or sets the restore request object." + }, + "crossRegionRestoreDetails": { + "$ref": "#/definitions/CrossRegionRestoreDetails", + "description": "Cross region restore details." + } + } + }, + "OperationJobExtendedInfo": { + "allOf": [ + { + "$ref": "#/definitions/OperationExtendedInfo" + } + ], + "description": "Operation Job Extended Info", + "properties": { + "jobId": { + "description": "Name or Arm Id of the job created for this operation.", + "type": "string" + } + }, + "title": "OperationJobExtendedInfo", + "type": "object", + "x-ms-discriminator-value": "OperationJobExtendedInfo" + }, + "OperationResource": { + "description": "Operation Resource", + "properties": { + "endTime": { + "description": "End time of the operation", + "format": "date-time", + "type": "string" + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Required if status == failed or status == canceled. This is the OData v4 error format, used by the RPC and will go into the v2.2 Azure REST API guidelines.\r\nThe full set of optional properties (e.g. inner errors / details) can be found in the \"Error Response\" section." + }, + "id": { + "description": "It should match what is used to GET the operation result", + "type": "string" + }, + "name": { + "description": "It must match the last segment of the \"id\" field, and will typically be a GUID / system generated value", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationExtendedInfo", + "description": "End time of the operation" + }, + "startTime": { + "description": "Start time of the operation", + "format": "date-time", + "type": "string" + }, + "status": { + "type": "string" + } + }, + "title": "OperationResource", + "type": "object" + }, + "PatchBackupVaultInput": { + "description": "Backup Vault Contract for Patch Backup Vault API.", + "type": "object", + "properties": { + "monitoringSettings": { + "$ref": "#/definitions/MonitoringSettings", + "description": "Monitoring Settings" + }, + "securitySettings": { + "$ref": "#/definitions/SecuritySettings", + "description": "Security Settings" + }, + "featureSettings": { + "$ref": "#/definitions/FeatureSettings", + "description": "Feature Settings" + } + } + }, + "PatchResourceRequestInput": { + "description": "Patch Request content for Microsoft.DataProtection resources", + "properties": { + "identity": { + "$ref": "#/definitions/DppIdentityDetails", + "description": "Input Managed Identity Details" + }, + "properties": { + "$ref": "#/definitions/PatchBackupVaultInput", + "description": "Resource properties." + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags.", + "type": "object" + } + }, + "title": "PatchResourceRequestInput", + "type": "object" + }, + "PatchResourceGuardInput": { + "description": "Patch Request content for Microsoft.DataProtection Resource Guard resources", + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource Guard tags.", + "type": "object" + } + }, + "title": "PatchResourceGuardInput", + "type": "object" + }, + "PolicyInfo": { + "description": "Policy Info in backupInstance", + "properties": { + "policyId": { + "type": "string" + }, + "policyVersion": { + "readOnly": true, + "type": "string" + }, + "policyParameters": { + "$ref": "#/definitions/PolicyParameters", + "description": "Policy parameters for the backup instance" + } + }, + "required": [ + "policyId" + ], + "title": "PolicyInfo", + "type": "object" + }, + "PolicyParameters": { + "description": "Parameters in Policy", + "type": "object", + "x-ms-mutability": [ + "create", + "read" + ], + "properties": { + "dataStoreParametersList": { + "description": "Gets or sets the DataStore Parameters", + "type": "array", + "items": { + "$ref": "#/definitions/DataStoreParameters" + }, + "x-ms-identifiers": [] + }, + "backupDatasourceParametersList": { + "description": "Gets or sets the Backup Data Source Parameters", + "type": "array", + "items": { + "$ref": "#/definitions/BackupDatasourceParameters" + }, + "x-ms-identifiers": [] + } + } + }, + "ProtectionStatusDetails": { + "description": "Protection status details", + "properties": { + "errorDetails": { + "$ref": "#/definitions/UserFacingError", + "description": "Specifies the protection status error of the resource" + }, + "status": { + "description": "Specifies the protection status of the resource", + "enum": [ + "ConfiguringProtection", + "ConfiguringProtectionFailed", + "ProtectionConfigured", + "ProtectionStopped", + "SoftDeleted", + "SoftDeleting" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "Status" + } + } + }, + "title": "ProtectionStatusDetails", + "type": "object" + }, + "RangeBasedItemLevelRestoreCriteria": { + "description": "Item Level target info for restore operation", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ItemLevelRestoreCriteria" + } + ], + "properties": { + "minMatchingValue": { + "description": "minimum value for range prefix match", + "type": "string" + }, + "maxMatchingValue": { + "description": "maximum value for range prefix match", + "type": "string" + } + }, + "x-ms-discriminator-value": "RangeBasedItemLevelRestoreCriteria" + }, + "KubernetesStorageClassRestoreCriteria": { + "description": "Item Level kubernetes storage class target info for restore operation", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ItemLevelRestoreCriteria" + } + ], + "properties": { + "selectedStorageClassName": { + "description": "Selected storage class name", + "type": "string" + }, + "provisioner": { + "description": "Provisioner of the storage class", + "type": "string" + } + }, + "x-ms-discriminator-value": "KubernetesStorageClassRestoreCriteria" + }, + "NamespacedNameResource": { + "description": "Class to refer resources which contains namespace and name", + "type": "object", + "properties": { + "name": { + "description": "Name of the resource", + "type": "string" + }, + "namespace": { + "description": "Namespace in which the resource exists", + "type": "string" + } + }, + "title": "NamespacedNameResource" + }, + "KubernetesPVRestoreCriteria": { + "description": "Item Level kubernetes persistent volume target info for restore operation", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ItemLevelRestoreCriteria" + } + ], + "properties": { + "name": { + "description": "Selected persistent volume claim name", + "type": "string" + }, + "storageClassName": { + "description": "Selected storage class name for restore operation", + "type": "string" + } + }, + "x-ms-discriminator-value": "KubernetesPVRestoreCriteria" + }, + "KubernetesClusterRestoreCriteria": { + "description": "kubernetes Cluster Backup target info for restore operation", + "required": [ + "includeClusterScopeResources" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ItemLevelRestoreCriteria" + } + ], + "properties": { + "includeClusterScopeResources": { + "description": "Gets or sets the include cluster resources property. This property if enabled will include cluster scope resources during restore.", + "type": "boolean" + }, + "includedNamespaces": { + "description": "Gets or sets the include namespaces property. This property sets the namespaces to be included during restore.", + "items": { + "type": "string" + }, + "type": "array" + }, + "excludedNamespaces": { + "description": "Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during restore.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedResourceTypes": { + "description": "Gets or sets the include resource types property. This property sets the resource types to be included during restore.", + "items": { + "type": "string" + }, + "type": "array" + }, + "excludedResourceTypes": { + "description": "Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore.", + "items": { + "type": "string" + }, + "type": "array" + }, + "labelSelectors": { + "description": "Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore.", + "items": { + "type": "string" + }, + "type": "array" + }, + "persistentVolumeRestoreMode": { + "description": "Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored.", + "enum": [ + "RestoreWithVolumeData", + "RestoreWithoutVolumeData" + ], + "type": "string", + "x-ms-enum": { + "name": "PersistentVolumeRestoreMode", + "modelAsString": true + } + }, + "conflictPolicy": { + "description": "Gets or sets the Conflict Policy property. This property sets policy during conflict of resources during restore.", + "enum": [ + "Skip", + "Patch" + ], + "type": "string", + "x-ms-enum": { + "name": "ExistingResourcePolicy", + "modelAsString": true + } + }, + "namespaceMappings": { + "description": "Gets or sets the Namespace Mappings property. This property sets if namespace needs to be change during restore.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "restoreHookReferences": { + "description": "Gets or sets the restore hook references. This property sets the hook reference to be executed during restore.", + "items": { + "$ref": "#/definitions/NamespacedNameResource" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "resourceModifierReference": { + "description": "Gets or sets the resource modifier reference. This property sets the reference for resource modifier during restore.", + "$ref": "#/definitions/NamespacedNameResource" + } + }, + "x-ms-discriminator-value": "KubernetesClusterRestoreCriteria" + }, + "KubernetesClusterVaultTierRestoreCriteria": { + "description": "kubernetes Cluster Backup target info for restore operation from vault", + "required": [ + "includeClusterScopeResources" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ItemLevelRestoreCriteria" + } + ], + "properties": { + "includeClusterScopeResources": { + "description": "Gets or sets the include cluster resources property. This property if enabled will include cluster scope resources during restore from vault.", + "type": "boolean" + }, + "includedNamespaces": { + "description": "Gets or sets the include namespaces property. This property sets the namespaces to be included during restore from vault.", + "items": { + "type": "string" + }, + "type": "array" + }, + "excludedNamespaces": { + "description": "Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during restore from vault.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedResourceTypes": { + "description": "Gets or sets the include resource types property. This property sets the resource types to be included during restore from vault.", + "items": { + "type": "string" + }, + "type": "array" + }, + "excludedResourceTypes": { + "description": "Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore from vault.", + "items": { + "type": "string" + }, + "type": "array" + }, + "labelSelectors": { + "description": "Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore from vault.", + "items": { + "type": "string" + }, + "type": "array" + }, + "persistentVolumeRestoreMode": { + "description": "Gets or sets the PV (Persistent Volume) Restore Mode property. This property sets whether volumes needs to be restored from vault.", + "enum": [ + "RestoreWithVolumeData", + "RestoreWithoutVolumeData" + ], + "type": "string", + "x-ms-enum": { + "name": "PersistentVolumeRestoreMode", + "modelAsString": true + } + }, + "conflictPolicy": { + "description": "Gets or sets the Conflict Policy property. This property sets policy during conflict of resources during restore from vault.", + "enum": [ + "Skip", + "Patch" + ], + "type": "string", + "x-ms-enum": { + "name": "ExistingResourcePolicy", + "modelAsString": true + } + }, + "namespaceMappings": { + "description": "Gets or sets the Namespace Mappings property. This property sets if namespace needs to be change during restore from vault.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "restoreHookReferences": { + "description": "Gets or sets the restore hook references. This property sets the hook reference to be executed during restore from vault.", + "items": { + "$ref": "#/definitions/NamespacedNameResource" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "stagingResourceGroupId": { + "description": "Gets or sets the staging RG Id for creating staging disks and snapshots during restore from vault.", + "type": "string", + "format": "arm-id" + }, + "stagingStorageAccountId": { + "description": "Gets or sets the staging Storage Account Id for creating backup extension object store data during restore from vault.", + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Storage/storageAccounts" + } + ] + } + }, + "resourceModifierReference": { + "description": "Gets or sets the resource modifier reference. This property sets the reference for resource modifier during restore.", + "$ref": "#/definitions/NamespacedNameResource" + } + }, + "x-ms-discriminator-value": "KubernetesClusterVaultTierRestoreCriteria" + }, + "RecoveryPointDataStoreDetails": { + "description": "RecoveryPoint datastore details", + "properties": { + "creationTime": { + "format": "date-time", + "type": "string" + }, + "expiryTime": { + "format": "date-time", + "type": "string" + }, + "id": { + "type": "string" + }, + "metaData": { + "type": "string" + }, + "state": { + "type": "string" + }, + "type": { + "type": "string" + }, + "visible": { + "type": "boolean" + }, + "rehydrationExpiryTime": { + "format": "date-time", + "type": "string", + "readOnly": true + }, + "rehydrationStatus": { + "readOnly": true, + "enum": [ + "CREATE_IN_PROGRESS", + "COMPLETED", + "DELETE_IN_PROGRESS", + "DELETED", + "FAILED" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RehydrationStatus" + } + } + }, + "title": "RecoveryPointDataStoreDetails", + "type": "object" + }, + "RehydrationPriority": { + "description": "Priority to be used for rehydration. Values High or Standard", + "enum": [ + "Invalid", + "High", + "Standard" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RehydrationPriority" + } + }, + "RestoreFilesTargetInfo": { + "allOf": [ + { + "$ref": "#/definitions/RestoreTargetInfoBase" + } + ], + "description": "Class encapsulating restore as files target parameters", + "properties": { + "targetDetails": { + "$ref": "#/definitions/TargetDetails", + "description": "Destination of RestoreAsFiles operation, when destination is not a datasource" + } + }, + "required": [ + "recoveryOption", + "targetDetails" + ], + "type": "object", + "x-ms-discriminator-value": "RestoreFilesTargetInfo" + }, + "RestoreJobRecoveryPointDetails": { + "properties": { + "recoveryPointID": { + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "RestoreTargetInfo": { + "allOf": [ + { + "$ref": "#/definitions/RestoreTargetInfoBase" + } + ], + "description": "Class encapsulating restore target parameters", + "properties": { + "datasourceInfo": { + "$ref": "#/definitions/Datasource", + "description": "Information of target DS" + }, + "datasourceSetInfo": { + "$ref": "#/definitions/DatasourceSet", + "description": "Information of target DS Set" + }, + "datasourceAuthCredentials": { + "$ref": "#/definitions/AuthCredentials", + "description": "Credentials to use to authenticate with data source provider." + } + }, + "required": [ + "datasourceInfo", + "recoveryOption" + ], + "type": "object", + "x-ms-discriminator-value": "RestoreTargetInfo" + }, + "RestoreTargetInfoBase": { + "description": "Base class common to RestoreTargetInfo and RestoreFilesTargetInfo", + "discriminator": "objectType", + "properties": { + "objectType": { + "description": "Type of Datasource object, used to initialize the right inherited type", + "type": "string" + }, + "recoveryOption": { + "description": "Recovery Option", + "enum": [ + "FailIfExists" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RecoveryOption" + } + }, + "restoreLocation": { + "description": "Target Restore region", + "type": "string" + } + }, + "required": [ + "objectType", + "recoveryOption" + ], + "type": "object" + }, + "ResourceMoveDetails": { + "description": "ResourceMoveDetails will be returned in response to GetResource call from ARM", + "type": "object", + "properties": { + "operationId": { + "description": "CorrelationId of latest ResourceMove operation attempted", + "type": "string" + }, + "startTimeUtc": { + "description": "Start time in UTC of latest ResourceMove operation attempted. ISO 8601 format.", + "type": "string" + }, + "completionTimeUtc": { + "description": "Completion time in UTC of latest ResourceMove operation attempted. ISO 8601 format.", + "type": "string" + }, + "sourceResourcePath": { + "description": "ARM resource path of source resource", + "type": "string" + }, + "targetResourcePath": { + "description": "ARM resource path of target resource used in latest ResourceMove operation", + "type": "string" + } + } + }, + "RestorableTimeRange": { + "required": [ + "startTime", + "endTime" + ], + "type": "object", + "properties": { + "startTime": { + "description": "Start time for the available restore range", + "type": "string" + }, + "endTime": { + "description": "End time for the available restore range", + "type": "string" + }, + "objectType": { + "type": "string" + } + } + }, + "RetentionTag": { + "description": "Retention tag", + "properties": { + "eTag": { + "description": "Retention Tag version.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Retention Tag version.", + "readOnly": true, + "type": "string" + }, + "tagName": { + "description": "Retention Tag Name to relate it to retention rule.", + "type": "string" + } + }, + "required": [ + "tagName" + ], + "title": "RetentionTag", + "type": "object" + }, + "ScheduleBasedBackupCriteria": { + "allOf": [ + { + "$ref": "#/definitions/BackupCriteria" + } + ], + "description": "Schedule based backup criteria", + "properties": { + "absoluteCriteria": { + "description": "it contains absolute values like \"AllBackup\" / \"FirstOfDay\" / \"FirstOfWeek\" / \"FirstOfMonth\"\r\nand should be part of AbsoluteMarker enum", + "items": { + "enum": [ + "AllBackup", + "FirstOfDay", + "FirstOfMonth", + "FirstOfWeek", + "FirstOfYear" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AbsoluteMarker" + } + }, + "type": "array" + }, + "daysOfMonth": { + "description": "This is day of the month from 1 to 28 other wise last of month", + "items": { + "$ref": "#/definitions/Day" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "daysOfTheWeek": { + "description": "It should be Sunday/Monday/T..../Saturday", + "items": { + "enum": [ + "Friday", + "Monday", + "Saturday", + "Sunday", + "Thursday", + "Tuesday", + "Wednesday" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DayOfWeek" + } + }, + "type": "array" + }, + "monthsOfYear": { + "description": "It should be January/February/....../December", + "items": { + "enum": [ + "April", + "August", + "December", + "February", + "January", + "July", + "June", + "March", + "May", + "November", + "October", + "September" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "Month" + } + }, + "type": "array" + }, + "scheduleTimes": { + "description": "List of schedule times for backup", + "items": { + "format": "date-time", + "type": "string" + }, + "type": "array" + }, + "weeksOfTheMonth": { + "description": "It should be First/Second/Third/Fourth/Last", + "items": { + "enum": [ + "First", + "Fourth", + "Last", + "Second", + "Third" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "WeekNumber" + } + }, + "type": "array" + } + }, + "required": [ + "objectType" + ], + "title": "ScheduleBasedBackupCriteria", + "type": "object", + "x-ms-discriminator-value": "ScheduleBasedBackupCriteria" + }, + "ScheduleBasedTriggerContext": { + "allOf": [ + { + "$ref": "#/definitions/TriggerContext" + } + ], + "description": "Schedule based trigger context", + "properties": { + "schedule": { + "$ref": "#/definitions/BackupSchedule", + "description": "Schedule for this backup" + }, + "taggingCriteria": { + "description": "List of tags that can be applicable for given schedule.", + "items": { + "$ref": "#/definitions/TaggingCriteria" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "objectType", + "schedule", + "taggingCriteria" + ], + "title": "ScheduleBasedTriggerContext", + "type": "object", + "x-ms-discriminator-value": "ScheduleBasedTriggerContext" + }, + "SecretStoreBasedAuthCredentials": { + "description": "Secret store based authentication credentials.", + "required": [ + "objectType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AuthCredentials" + } + ], + "properties": { + "secretStoreResource": { + "$ref": "#/definitions/SecretStoreResource", + "description": "Secret store resource" + } + }, + "x-ms-discriminator-value": "SecretStoreBasedAuthCredentials" + }, + "SecretStoreResource": { + "description": "Class representing a secret store resource.", + "required": [ + "secretStoreType" + ], + "type": "object", + "properties": { + "uri": { + "description": "Uri to get to the resource", + "type": "string" + }, + "secretStoreType": { + "description": "Gets or sets the type of secret store", + "enum": [ + "Invalid", + "AzureKeyVault" + ], + "type": "string", + "x-ms-enum": { + "name": "SecretStoreType", + "modelAsString": true + } + }, + "value": { + "description": "Gets or sets value stored in secret store resource", + "type": "string" + } + } + }, + "SecuritySettings": { + "description": "Class containing security settings of vault", + "type": "object", + "properties": { + "softDeleteSettings": { + "$ref": "#/definitions/SoftDeleteSettings" + }, + "immutabilitySettings": { + "$ref": "#/definitions/ImmutabilitySettings" + } + } + }, + "SoftDeleteSettings": { + "description": "Soft delete related settings", + "type": "object", + "properties": { + "state": { + "description": "State of soft delete", + "enum": [ + "Off", + "On", + "AlwaysOn" + ], + "type": "string", + "x-ms-enum": { + "name": "SoftDeleteState", + "modelAsString": true, + "values": [ + { + "description": "Soft Delete is turned off for the BackupVault", + "value": "Off" + }, + { + "description": "Soft Delete is enabled for the BackupVault but can be turned off", + "value": "On" + }, + { + "description": "Soft Delete is permanently enabled for the BackupVault and the setting cannot be changed", + "value": "AlwaysOn" + } + ] + } + }, + "retentionDurationInDays": { + "description": "Soft delete retention duration", + "format": "double", + "type": "number" + } + } + }, + "SourceLifeCycle": { + "description": "Source LifeCycle", + "properties": { + "deleteAfter": { + "$ref": "#/definitions/DeleteOption" + }, + "sourceDataStore": { + "$ref": "#/definitions/DataStoreInfoBase" + }, + "targetDataStoreCopySettings": { + "items": { + "$ref": "#/definitions/TargetCopySetting" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "deleteAfter", + "sourceDataStore" + ], + "title": "SourceLifeCycle", + "type": "object" + }, + "StorageSetting": { + "description": "Storage setting", + "properties": { + "datastoreType": { + "description": "Gets or sets the type of the datastore.", + "enum": [ + "ArchiveStore", + "OperationalStore", + "VaultStore" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "StorageSettingStoreTypes" + } + }, + "type": { + "description": "Gets or sets the type.", + "enum": [ + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "StorageSettingTypes" + } + } + }, + "title": "StorageSetting", + "type": "object" + }, + "SupportedFeature": { + "description": "Elements class for feature request", + "type": "object", + "properties": { + "featureName": { + "description": "support feature type.", + "type": "string" + }, + "supportStatus": { + "description": "feature support status", + "enum": [ + "Invalid", + "NotSupported", + "AlphaPreview", + "PrivatePreview", + "PublicPreview", + "GenerallyAvailable" + ], + "type": "string", + "x-ms-enum": { + "name": "FeatureSupportStatus", + "modelAsString": true + } + }, + "exposureControlledFeatures": { + "description": "support feature type.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SyncBackupInstanceRequest": { + "description": "Sync BackupInstance Request", + "type": "object", + "properties": { + "syncType": { + "description": "Field indicating sync type e.g. to sync only in case of failure or in all cases", + "enum": [ + "Default", + "ForceResync" + ], + "type": "string", + "x-ms-enum": { + "name": "SyncType", + "modelAsString": true + } + } + } + }, + "TaggingCriteria": { + "description": "Tagging criteria", + "properties": { + "criteria": { + "description": "Criteria which decides whether the tag can be applied to a triggered backup.", + "items": { + "$ref": "#/definitions/BackupCriteria" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "isDefault": { + "description": "Specifies if tag is default.", + "type": "boolean" + }, + "taggingPriority": { + "description": "Retention Tag priority.", + "format": "int64", + "type": "integer" + }, + "tagInfo": { + "$ref": "#/definitions/RetentionTag", + "description": "Retention tag information" + } + }, + "required": [ + "isDefault", + "tagInfo", + "taggingPriority" + ], + "title": "TaggingCriteria", + "type": "object" + }, + "TargetCopySetting": { + "description": "Target copy settings", + "properties": { + "copyAfter": { + "$ref": "#/definitions/CopyOption", + "description": "It can be CustomCopyOption or ImmediateCopyOption." + }, + "dataStore": { + "$ref": "#/definitions/DataStoreInfoBase", + "description": "Info of target datastore" + } + }, + "required": [ + "copyAfter", + "dataStore" + ], + "title": "TargetCopySetting", + "type": "object" + }, + "TargetDetails": { + "description": "Class encapsulating target details, used where the destination is not a datasource", + "properties": { + "filePrefix": { + "description": "Restore operation may create multiple files inside location pointed by Url\r\nBelow will be the common prefix for all of them", + "type": "string" + }, + "restoreTargetLocationType": { + "description": "Denotes the target location where the data will be restored,\r\nstring value for the enum {Microsoft.Internal.AzureBackup.DataProtection.Common.Interface.RestoreTargetLocationType}", + "enum": [ + "Invalid", + "AzureBlobs", + "AzureFiles" + ], + "type": "string", + "x-ms-enum": { + "name": "RestoreTargetLocationType", + "modelAsString": true + } + }, + "url": { + "description": "Url denoting the restore destination. It can point to container / file share etc", + "type": "string" + }, + "targetResourceArmId": { + "description": "Full ARM Id denoting the restore destination. It is the ARM Id pointing to container / file share\r\nThis is optional if the target subscription can be identified with the URL field. If not\r\nthen this is needed if CrossSubscriptionRestore field of BackupVault is in any of the disabled states", + "type": "string" + } + }, + "required": [ + "filePrefix", + "restoreTargetLocationType", + "url" + ], + "type": "object" + }, + "TriggerBackupRequest": { + "description": "Trigger backup request", + "properties": { + "backupRuleOptions": { + "$ref": "#/definitions/AdHocBackupRuleOptions", + "description": "Name for the Rule of the Policy which needs to be applied for this backup" + } + }, + "required": [ + "backupRuleOptions" + ], + "title": "TriggerBackupRequest", + "type": "object" + }, + "TriggerContext": { + "description": "Trigger context", + "discriminator": "objectType", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + } + }, + "required": [ + "objectType" + ], + "title": "TriggerContext", + "type": "object" + }, + "UserFacingError": { + "description": "Error object used by layers that have access to localized content, and propagate that to user", + "properties": { + "code": { + "description": "Unique code for this error", + "type": "string" + }, + "details": { + "description": "Additional related Errors", + "items": { + "$ref": "#/definitions/UserFacingError" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "innerError": { + "$ref": "#/definitions/InnerError", + "description": "Inner Error" + }, + "isRetryable": { + "description": "Whether the operation will be retryable or not", + "type": "boolean" + }, + "isUserError": { + "description": "Whether the operation is due to a user error or service error", + "type": "boolean" + }, + "properties": { + "description": "Any key value pairs that can be injected inside error object", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "message": { + "type": "string" + }, + "recommendedAction": { + "description": "RecommendedAction � localized.", + "items": { + "type": "string" + }, + "type": "array" + }, + "target": { + "description": "Target of the error.", + "type": "string" + } + }, + "type": "object" + }, + "UserFacingWarningDetail": { + "description": "Warning object used by layers that have access to localized content, and propagate that to user", + "properties": { + "resourceName": { + "description": "Name of resource for which warning is raised.", + "type": "string" + }, + "warning": { + "$ref": "#/definitions/UserFacingError", + "description": "Error details for the warning." + } + }, + "required": [ + "warning" + ], + "type": "object" + }, + "ValidateForBackupRequest": { + "description": "Validate for backup request", + "properties": { + "backupInstance": { + "$ref": "#/definitions/BackupInstance" + } + }, + "required": [ + "backupInstance" + ], + "title": "ValidateForBackupRequest", + "type": "object" + }, + "ValidateRestoreRequestObject": { + "description": "Validate restore request object", + "properties": { + "restoreRequestObject": { + "$ref": "#/definitions/AzureBackupRestoreRequest", + "description": "Gets or sets the restore request object." + } + }, + "required": [ + "restoreRequestObject" + ], + "title": "ValidateRestoreRequestObject", + "type": "object" + }, + "ResourceGuard": { + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the BackupVault resource", + "enum": [ + "Failed", + "Provisioning", + "Succeeded", + "Unknown", + "Updating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "allowAutoApprovals": { + "description": "This flag indicates whether auto approval is allowed or not.", + "type": "boolean", + "readOnly": true + }, + "resourceGuardOperations": { + "description": "{readonly} List of operation details those are protected by the ResourceGuard resource", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGuardOperation" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "vaultCriticalOperationExclusionList": { + "description": "List of critical operations which are not protected by this resourceGuard", + "type": "array", + "items": { + "type": "string" + } + }, + "description": { + "description": "Description about the pre-req steps to perform all the critical operations.", + "type": "string", + "readOnly": true + } + } + }, + "ResourceGuardOperation": { + "description": "This class contains all the details about a critical operation.", + "type": "object", + "properties": { + "vaultCriticalOperation": { + "description": "Name of the critical operation.", + "type": "string", + "readOnly": true + }, + "requestResourceType": { + "description": "Type of resource request.", + "type": "string", + "readOnly": true + } + } + }, + "ResourceGuardResource": { + "allOf": [ + { + "$ref": "#/definitions/DppBaseTrackedResource" + } + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ResourceGuard", + "description": "ResourceGuardResource properties" + } + } + }, + "ResourceGuardResourceList": { + "description": "List of ResourceGuard resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DppTrackedResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGuardResource" + } + } + } + }, + "ResourceGuardOperationDetail": { + "description": "VaultCritical Operation protected by a resource guard", + "type": "object", + "properties": { + "vaultCriticalOperation": { + "type": "string" + }, + "defaultResourceRequest": { + "type": "string" + } + } + }, + "ResourceGuardProxyBase": { + "description": "ResourceGuardProxyBase object, used in ResourceGuardProxyBaseResource", + "type": "object", + "properties": { + "resourceGuardResourceId": { + "type": "string" + }, + "resourceGuardOperationDetails": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGuardOperationDetail" + }, + "x-ms-identifiers": [] + }, + "lastUpdatedTime": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "ResourceGuardProxyBaseResource": { + "description": "ResourceGuardProxyBaseResource object, used for response and request bodies for ResourceGuardProxy APIs", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DppResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ResourceGuardProxyBase", + "description": "ResourceGuardProxyBaseResource properties" + } + } + }, + "ResourceGuardProxyBaseResourceList": { + "description": "List of ResourceGuardProxyBase resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DppResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + } + } + }, + "UnlockDeleteRequest": { + "description": "Request body of unlock delete API.", + "type": "object", + "properties": { + "resourceGuardOperationRequests": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceToBeDeleted": { + "type": "string" + } + } + }, + "UnlockDeleteResponse": { + "description": "Response of Unlock Delete API.", + "type": "object", + "properties": { + "unlockDeleteExpiryTime": { + "description": "This is the time when unlock delete privileges will get expired.", + "type": "string" + } + } + } + }, + "parameters": { + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the backup vault.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BackupInstanceName": { + "name": "backupInstanceName", + "in": "path", + "description": "The name of the backup instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/DeleteBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/DeleteBackupInstance.json new file mode 100644 index 000000000000..c7020f6d946a --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/DeleteBackupInstance.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "backupInstanceName": "testInstance1", + "api-version": "2023-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/FindRestorableTimeRanges.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/FindRestorableTimeRanges.json new file mode 100644 index 000000000000..17ecc21dc69b --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/FindRestorableTimeRanges.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "Blob-Backup", + "vaultName": "ZBlobBackupVaultBVTD3", + "backupInstanceName": "zblobbackuptestsa58", + "api-version": "2023-12-01", + "parameters": { + "sourceDataStoreType": "OperationalStore", + "startTime": "2020-10-17T23:28:17.6829685Z", + "endTime": "2021-02-24T00:35:17.6829685Z" + } + }, + "responses": { + "200": { + "body": { + "id": "zblobbackuptestsa58", + "type": "Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges", + "properties": { + "restorableTimeRanges": [ + { + "startTime": "2021-02-23T18:33:51.6349708Z", + "endTime": "2021-02-24T00:35:17.0000000Z", + "objectType": "RestorableTimeRange" + } + ], + "objectType": "AzureBackupFindRestorableTimeRangesResponse" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/GetBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/GetBackupInstance.json new file mode 100644 index 000000000000..04d63e39ec74 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/GetBackupInstance.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2", + "name": "harshitbi2", + "type": "Microsoft.DataProtection/backupVaults/backupInstances", + "tags": { + "key1": "val1" + }, + "properties": { + "friendlyName": "harshitbi2", + "dataSourceInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "testdb", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "Datasource" + }, + "dataSourceSetInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "viveksipgtest", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "DatasourceSet" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1", + "policyVersion": "3.2" + }, + "protectionStatus": { + "status": "NotProtected" + }, + "provisioningState": "Provisioning", + "objectType": "BackupInstance" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/GetBackupInstanceOperationResult.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/GetBackupInstanceOperationResult.json new file mode 100644 index 000000000000..382ff60d6212 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/GetBackupInstanceOperationResult.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "backupInstanceName": "testInstance1", + "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/swaggerExample/backupInstances/testInstance1", + "name": "testInstance1", + "type": "Microsoft.DataProtection/backupVaults/backupInstances", + "properties": { + "friendlyName": "testInstance1", + "dataSourceInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "testdb", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "Datasource" + }, + "dataSourceSetInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "viveksipgtest", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "DatasourceSet" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/swaggerExample/backupPolicies/PratikPolicy1", + "policyVersion": "3.2" + }, + "protectionStatus": { + "status": "ConfiguringProtection" + }, + "provisioningState": "Provisioned", + "objectType": "BackupInstance" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01", + "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupvaults/swaggerExample/backupInstances/testInstance1/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/GetRecoveryPoint.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/GetRecoveryPoint.json new file mode 100644 index 000000000000..0b86752a3770 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/GetRecoveryPoint.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1", + "recoveryPointId": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints", + "properties": { + "objectType": "AzureBackupDiscreteRecoveryPoint", + "recoveryPointTime": "2019-03-01T13:00:00Z", + "recoveryPointType": "Full", + "friendlyName": "panbha4", + "recoveryPointDataStoresDetails": [ + { + "id": "0ff03512-b333-4509-a6c7-12164c8b1dce", + "type": "Snapshot", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + }, + { + "id": "5d8cfd30-722e-4bab-85f6-4a9d01ffc6f1", + "type": "BackupStorage", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + } + ], + "recoveryPointState": "Completed" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ListBackupInstances.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ListBackupInstances.json new file mode 100644 index 000000000000..3694a12cd129 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ListBackupInstances.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2", + "name": "harshitbi2", + "type": "Microsoft.DataProtection/backupVaults/backupInstances", + "tags": { + "key1": "val1" + }, + "properties": { + "friendlyName": "harshitbi2", + "dataSourceInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "testdb", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "Datasource" + }, + "dataSourceSetInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "viveksipgtest", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "DatasourceSet" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1", + "policyVersion": "3.2" + }, + "protectionStatus": { + "status": "NotProtected" + }, + "provisioningState": "Provisioning", + "objectType": "BackupInstance" + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ListRecoveryPoints.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ListRecoveryPoints.json new file mode 100644 index 000000000000..ea047ffd8365 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ListRecoveryPoints.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5e35", + "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints", + "properties": { + "objectType": "AzureBackupDiscreteRecoveryPoint", + "recoveryPointTime": "2019-03-01T13:00:00Z", + "recoveryPointType": "Full", + "friendlyName": "panbha4", + "expiryTime": "2023-03-01T13:00:00Z", + "recoveryPointDataStoresDetails": [ + { + "id": "0ff03512-b333-4509-a6c7-12164c8b1dce", + "type": "Snapshot", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + }, + { + "id": "5d8cfd30-722e-4bab-85f6-4a9d01ffc6f1", + "type": "BackupStorage", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + } + ], + "recoveryPointState": "Completed" + } + }, + { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints", + "properties": { + "objectType": "AzureBackupDiscreteRecoveryPoint", + "recoveryPointTime": "2019-03-01T13:00:00Z", + "recoveryPointType": "Full", + "friendlyName": "panbha4", + "recoveryPointDataStoresDetails": [ + { + "id": "808cfd30-722e-4bab-85f6-4a9d01ffc6f2", + "type": "Snapshot", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + }, + { + "id": "798cfd30-722e-4bab-85f6-4a9d01ffc6f3", + "type": "BackupStorage", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + } + ], + "recoveryPointState": "Completed" + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/PutBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/PutBackupInstance.json new file mode 100644 index 000000000000..371231262b0b --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/PutBackupInstance.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1", + "parameters": { + "tags": { + "key1": "val1" + }, + "properties": { + "objectType": "BackupInstance", + "friendlyName": "harshitbi2", + "dataSourceSetInfo": { + "objectType": "DatasourceSet", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases" + }, + "dataSourceInfo": { + "objectType": "Datasource", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceName": "testdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases" + }, + "datasourceAuthCredentials": { + "secretStoreResource": { + "uri": "https://samplevault.vault.azure.net/secrets/credentials", + "secretStoreType": "AzureKeyVault" + }, + "objectType": "SecretStoreBasedAuthCredentials" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1", + "policyParameters": { + "dataStoreParametersList": [ + { + "objectType": "AzureOperationalStoreParameters", + "dataStoreType": "OperationalStore", + "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest" + } + ] + } + }, + "validationType": "ShallowValidation" + } + } + }, + "responses": { + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + }, + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2", + "name": "harshitbi2", + "type": "Microsoft.DataProtection/backupVaults/backupInstances", + "tags": { + "key1": "val1" + }, + "properties": { + "friendlyName": "harshitbi2", + "dataSourceInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "testdb", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "Datasource" + }, + "dataSourceSetInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "viveksipgtest", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "DatasourceSet" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1", + "policyVersion": "3.2", + "policyParameters": { + "dataStoreParametersList": [ + { + "objectType": "AzureOperationalStoreParameters", + "dataStoreType": "OperationalStore", + "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest" + } + ] + } + }, + "protectionStatus": { + "status": "NotProtected" + }, + "provisioningState": "Provisioning", + "objectType": "BackupInstance" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01", + "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/testInstance1/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2", + "name": "harshitbi2", + "type": "Microsoft.DataProtection/backupVaults/backupInstances", + "tags": { + "key1": "val1" + }, + "properties": { + "friendlyName": "harshitbi2", + "dataSourceInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "testdb", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "Datasource" + }, + "dataSourceSetInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceUri": "", + "datasourceType": "OssDB", + "resourceName": "viveksipgtest", + "resourceType": "OssDB", + "resourceLocation": "", + "objectType": "DatasourceSet" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1", + "policyVersion": "3.2", + "policyParameters": { + "dataStoreParametersList": [ + { + "objectType": "AzureOperationalStoreParameters", + "dataStoreType": "OperationalStore", + "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest" + } + ] + } + }, + "protectionStatus": { + "status": "NotProtected" + }, + "provisioningState": "Provisioned", + "objectType": "BackupInstance" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ResumeBackups.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ResumeBackups.json new file mode 100644 index 000000000000..2bf84adb4b84 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ResumeBackups.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "testrg", + "vaultName": "testvault", + "backupInstanceName": "testbi", + "api-version": "2023-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupVaults/testvault/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ResumeProtection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ResumeProtection.json new file mode 100644 index 000000000000..2bf84adb4b84 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ResumeProtection.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "testrg", + "vaultName": "testvault", + "backupInstanceName": "testbi", + "api-version": "2023-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupVaults/testvault/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/StopProtection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/StopProtection.json new file mode 100644 index 000000000000..2bf84adb4b84 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/StopProtection.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "testrg", + "vaultName": "testvault", + "backupInstanceName": "testbi", + "api-version": "2023-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupVaults/testvault/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/SuspendBackups.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/SuspendBackups.json new file mode 100644 index 000000000000..2bf84adb4b84 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/SuspendBackups.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "testrg", + "vaultName": "testvault", + "backupInstanceName": "testbi", + "api-version": "2023-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupVaults/testvault/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/SyncBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/SyncBackupInstance.json new file mode 100644 index 000000000000..698e4a79c11e --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/SyncBackupInstance.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "testrg", + "vaultName": "testvault", + "backupInstanceName": "testbi", + "api-version": "2023-12-01", + "parameters": { + "syncType": "Default" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupVaults/testvault/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerBackup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerBackup.json new file mode 100644 index 000000000000..57972b223abd --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerBackup.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1", + "parameters": { + "backupRuleOptions": { + "ruleName": "BackupWeekly", + "triggerOption": { + "retentionTagOverride": "yearly" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "objectType": "OperationJobExtendedInfo" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerRehydrate.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerRehydrate.json new file mode 100644 index 000000000000..4d2dbb86e11f --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerRehydrate.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1", + "parameters": { + "recoveryPointId": "hardcodedRP", + "rehydrationRetentionDuration": "7D", + "rehydrationPriority": "High" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerRestore.json new file mode 100644 index 000000000000..04f585a10147 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerRestore.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1", + "parameters": { + "objectType": "AzureBackupRecoveryPointBasedRestoreRequest", + "recoveryPointId": "hardcodedRP", + "sourceDataStoreType": "VaultStore", + "sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "restoreTargetInfo": { + "objectType": "RestoreTargetInfo", + "recoveryOption": "FailIfExists", + "datasourceSetInfo": { + "objectType": "DatasourceSet", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases" + }, + "datasourceInfo": { + "objectType": "Datasource", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb", + "resourceName": "targetdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases" + }, + "datasourceAuthCredentials": { + "secretStoreResource": { + "uri": "https://samplevault.vault.azure.net/secrets/credentials", + "secretStoreType": "AzureKeyVault" + }, + "objectType": "SecretStoreBasedAuthCredentials" + }, + "restoreLocation": "southeastasia" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "objectType": "OperationJobExtendedInfo" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json new file mode 100644 index 000000000000..aab55727eb27 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1", + "parameters": { + "objectType": "AzureBackupRecoveryPointBasedRestoreRequest", + "recoveryPointId": "hardcodedRP", + "sourceDataStoreType": "VaultStore", + "sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "restoreTargetInfo": { + "targetDetails": { + "url": "https://teststorage.blob.core.windows.net/restoretest", + "filePrefix": "restoredblob", + "restoreTargetLocationType": "AzureBlobs" + }, + "restoreLocation": "southeastasia", + "recoveryOption": "FailIfExists", + "objectType": "RestoreFilesTargetInfo" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/testInstance1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "objectType": "OperationJobExtendedInfo" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json new file mode 100644 index 000000000000..93bf8fd97e41 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1", + "parameters": { + "objectType": "AzureBackupRestoreWithRehydrationRequest", + "recoveryPointId": "hardcodedRP", + "rehydrationRetentionDuration": "7D", + "rehydrationPriority": "High", + "sourceDataStoreType": "VaultStore", + "sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "restoreTargetInfo": { + "objectType": "RestoreTargetInfo", + "recoveryOption": "FailIfExists", + "datasourceSetInfo": { + "objectType": "DatasourceSet", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "datasourceInfo": { + "objectType": "Datasource", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceName": "testdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "restoreLocation": "southeastasia" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "objectType": "OperationJobExtendedInfo" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ValidateForBackup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ValidateForBackup.json new file mode 100644 index 000000000000..4c2d1dec5593 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ValidateForBackup.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1", + "parameters": { + "backupInstance": { + "objectType": "BackupInstance", + "friendlyName": "harshitbi2", + "dataSourceSetInfo": { + "objectType": "DatasourceSet", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "dataSourceInfo": { + "objectType": "Datasource", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceName": "testdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "OssDB" + }, + "datasourceAuthCredentials": { + "secretStoreResource": { + "uri": "https://samplevault.vault.azure.net/secrets/credentials", + "secretStoreType": "AzureKeyVault" + }, + "objectType": "SecretStoreBasedAuthCredentials" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "objectType": "OperationJobExtendedInfo" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ValidateRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ValidateRestore.json new file mode 100644 index 000000000000..8e1f23c4c35f --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/BackupInstanceOperations/ValidateRestore.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1", + "parameters": { + "restoreRequestObject": { + "objectType": "AzureBackupRecoveryPointBasedRestoreRequest", + "recoveryPointId": "hardcodedRP", + "sourceDataStoreType": "VaultStore", + "sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "restoreTargetInfo": { + "objectType": "RestoreTargetInfo", + "recoveryOption": "FailIfExists", + "datasourceSetInfo": { + "objectType": "DatasourceSet", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases" + }, + "datasourceInfo": { + "objectType": "Datasource", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb", + "resourceName": "targetdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases" + }, + "datasourceAuthCredentials": { + "secretStoreResource": { + "uri": "https://samplevault.vault.azure.net/secrets/credentials", + "secretStoreType": "AzureKeyVault" + }, + "objectType": "SecretStoreBasedAuthCredentials" + }, + "restoreLocation": "southeastasia" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "objectType": "OperationJobExtendedInfo" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CheckfeatureSupport.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CheckfeatureSupport.json new file mode 100644 index 000000000000..3a88396b5e29 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CheckfeatureSupport.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "location": "WestUS", + "api-version": "2023-12-01", + "parameters": { + "featureType": "DataSourceType", + "objectType": "FeatureValidationRequest" + } + }, + "responses": { + "200": { + "body": { + "featureType": "DataSourceType", + "features": [ + { + "featureName": "Microsoft.Storage/storageAccounts/blobServices", + "supportStatus": "PrivatePreview", + "exposureControlledFeatures": [] + }, + { + "featureName": "Microsoft.DBforPostgreSQL/servers/databases", + "supportStatus": "PublicPreview", + "exposureControlledFeatures": [] + } + ], + "objectType": "FeatureValidationResponse" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/FetchCrossRegionRestoreJob.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/FetchCrossRegionRestoreJob.json new file mode 100644 index 000000000000..6182b20e1715 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/FetchCrossRegionRestoreJob.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "resourceGroupName": "BugBash1", + "location": "west us", + "parameters": { + "sourceRegion": "east us", + "sourceBackupVaultId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11", + "jobId": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae" + }, + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2", + "policyName": "jakavetdailypolicy", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb2", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-17T03:00:03.7604146Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Started", + "isUserTriggered": false, + "supportedActions": [], + "duration": "00:00:00", + "dataSourceLocation": "east us", + "extendedInfo": { + "subTasks": [ + { + "taskId": 1, + "taskName": "Trigger Backup", + "taskStatus": "Started" + } + ], + "additionalDetails": { + "RetentionTag": "Default", + "PolicyRuleName": "BackupWeekly", + "TaskId": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9" + } + } + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/FetchCrossRegionRestoreJobs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/FetchCrossRegionRestoreJobs.json new file mode 100644 index 000000000000..9b17deb0248c --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/FetchCrossRegionRestoreJobs.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "resourceGroupName": "BugBash1", + "location": "east us", + "api-version": "2023-12-01", + "parameters": { + "sourceRegion": "east us", + "sourceBackupVaultId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "activityID": "932925c4-3d81-4550-8105-c7f7b0a934c5", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/3048870f-b1b7-44c4-b078-368da3fd000e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy2", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb4", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb4", + "policyName": "jakavetPolicy2", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb4", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-16T05:00:08.1746833Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Started", + "isUserTriggered": false, + "supportedActions": [], + "duration": "00:00:00", + "dataSourceLocation": "centraluseuap" + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/8989416e-7573-4836-8cf1-0e90954f1002", + "name": "8989416e-7573-4836-8cf1-0e90954f1002", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + }, + { + "properties": { + "activityID": "b4f32e03-ded0-46fc-9afc-91853878efcd", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/943c60db-c033-4d93-bb00-66048474e00e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy3", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb5", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb5", + "policyName": "jakavetPolicy3", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb5", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-16T18:00:03.6660733Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Started", + "isUserTriggered": false, + "supportedActions": [], + "duration": "00:00:00", + "dataSourceLocation": "centraluseuap" + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/ad218c05-242a-47c2-b7b7-c16bd0f8870c", + "name": "ad218c05-242a-47c2-b7b7-c16bd0f8870c", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + }, + { + "properties": { + "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2", + "policyName": "jakavetdailypolicy", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb2", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-17T03:00:03.7604146Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Started", + "isUserTriggered": false, + "supportedActions": [], + "duration": "00:00:00", + "dataSourceLocation": "centraluseuap" + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + }, + { + "properties": { + "activityID": "94052cf1-a47f-4c1b-93e7-79e07b2bd008-Tue Mar 17 2021 11:11:48 GMT+0530 (India Standard Time)-Ibz", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/0b247869-b8be-4885-b832-8ac4cdf5b00e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy1", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb3", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb3", + "policyName": "jakavetPolicy1", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb3", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-17T11:11:50.5595259Z", + "endTime": "2021-03-17T11:14:02.5319646Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Succeeded", + "isUserTriggered": true, + "supportedActions": [ + "" + ], + "duration": "00:02:11.9724387", + "dataSourceLocation": "centraluseuap" + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/43252662-1b43-44fd-a856-0055665cb097", + "name": "43252662-1b43-44fd-a856-0055665cb097", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/FetchSecondaryRPs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/FetchSecondaryRPs.json new file mode 100644 index 000000000000..cb165b230a89 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/FetchSecondaryRPs.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "api-version": "2023-12-01", + "location": "WestUS", + "parameters": { + "sourceBackupInstanceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34", + "sourceRegion": "EastUS" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5e35", + "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints", + "properties": { + "objectType": "AzureBackupDiscreteRecoveryPoint", + "recoveryPointTime": "2019-03-01T13:00:00Z", + "recoveryPointType": "Full", + "friendlyName": "panbha4", + "expiryTime": "2023-03-01T13:00:00Z", + "recoveryPointDataStoresDetails": [ + { + "id": "0ff03512-b333-4509-a6c7-12164c8b1dce", + "type": "Snapshot", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + }, + { + "id": "5d8cfd30-722e-4bab-85f6-4a9d01ffc6f1", + "type": "BackupStorage", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + } + ] + } + }, + { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25", + "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints", + "properties": { + "objectType": "AzureBackupDiscreteRecoveryPoint", + "recoveryPointTime": "2019-03-01T13:00:00Z", + "recoveryPointType": "Full", + "friendlyName": "panbha4", + "recoveryPointDataStoresDetails": [ + { + "id": "808cfd30-722e-4bab-85f6-4a9d01ffc6f2", + "type": "Snapshot", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + }, + { + "id": "798cfd30-722e-4bab-85f6-4a9d01ffc6f3", + "type": "BackupStorage", + "creationTime": "2019-03-01T13:00:00Z", + "metaData": "123456" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/TriggerCrossRegionRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/TriggerCrossRegionRestore.json new file mode 100644 index 000000000000..88b134a9b473 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/TriggerCrossRegionRestore.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "location": "EastAsia", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1", + "parameters": { + "restoreRequestObject": { + "objectType": "AzureBackupRecoveryPointBasedRestoreRequest", + "recoveryPointId": "hardcodedRP", + "sourceDataStoreType": "VaultStore", + "sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "restoreTargetInfo": { + "objectType": "RestoreTargetInfo", + "recoveryOption": "FailIfExists", + "datasourceSetInfo": { + "objectType": "DatasourceSet", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases" + }, + "datasourceInfo": { + "objectType": "Datasource", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb", + "resourceName": "targetdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases" + }, + "datasourceAuthCredentials": { + "secretStoreResource": { + "uri": "https://samplevault.vault.azure.net/secrets/credentials", + "secretStoreType": "AzureKeyVault" + }, + "objectType": "SecretStoreBasedAuthCredentials" + }, + "restoreLocation": "southeastasia" + } + }, + "crossRegionRestoreDetails": { + "sourceRegion": "east asia", + "sourceBackupInstanceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/BackupInstances/harshitbi1" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "objectType": "OperationJobExtendedInfo" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/ValidateCrossRegionRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/ValidateCrossRegionRestore.json new file mode 100644 index 000000000000..88b134a9b473 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/CrossRegionRestore/ValidateCrossRegionRestore.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "location": "EastAsia", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1", + "parameters": { + "restoreRequestObject": { + "objectType": "AzureBackupRecoveryPointBasedRestoreRequest", + "recoveryPointId": "hardcodedRP", + "sourceDataStoreType": "VaultStore", + "sourceResourceId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "restoreTargetInfo": { + "objectType": "RestoreTargetInfo", + "recoveryOption": "FailIfExists", + "datasourceSetInfo": { + "objectType": "DatasourceSet", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases" + }, + "datasourceInfo": { + "objectType": "Datasource", + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/targetdb", + "resourceName": "targetdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceUri": "", + "resourceLocation": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases" + }, + "datasourceAuthCredentials": { + "secretStoreResource": { + "uri": "https://samplevault.vault.azure.net/secrets/credentials", + "secretStoreType": "AzureKeyVault" + }, + "objectType": "SecretStoreBasedAuthCredentials" + }, + "restoreLocation": "southeastasia" + } + }, + "crossRegionRestoreDetails": { + "sourceRegion": "east asia", + "sourceBackupInstanceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/BackupInstances/harshitbi1" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "objectType": "OperationJobExtendedInfo" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/DeletedBackupInstanceOperations/GetDeletedBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/DeletedBackupInstanceOperations/GetDeletedBackupInstance.json new file mode 100644 index 000000000000..e3858b7acbe9 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/DeletedBackupInstanceOperations/GetDeletedBackupInstance.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01", + "backupInstanceName": "testInstance1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/deletedBackupInstances/testInstance1", + "name": "testInstance1", + "type": "Microsoft.DataProtection/backupVaults/deletedBackupInstances", + "properties": { + "friendlyName": "testInstance1", + "dataSourceInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceUri": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceName": "testdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceLocation": "", + "objectType": "Datasource" + }, + "dataSourceSetInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceUri": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceLocation": "", + "objectType": "DatasourceSet" + }, + "deletionInfo": { + "deletionTime": "2022-05-04T00:00:36.6660445Z", + "scheduledPurgeTime": "2022-05-20T00:00:36.6660445Z", + "billingEndDate": "2022-05-06T00:00:36.6660445Z", + "deleteActivityID": "1e9ec790-d198-4efb-bbd7-e4669d5351a4" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1" + }, + "protectionStatus": { + "status": "SoftDeleted" + }, + "provisioningState": "Succeeded", + "objectType": "DeletedBackupInstance" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/DeletedBackupInstanceOperations/ListDeletedBackupInstances.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/DeletedBackupInstanceOperations/ListDeletedBackupInstances.json new file mode 100644 index 000000000000..e8b132716ff4 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/DeletedBackupInstanceOperations/ListDeletedBackupInstances.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PratikPrivatePreviewVault1", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/deletedBackupInstances/testInstance1", + "name": "testInstance1", + "type": "Microsoft.DataProtection/backupVaults/deletedBackupInstances", + "properties": { + "friendlyName": "testInstance1", + "dataSourceInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb", + "resourceUri": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceName": "testdb", + "resourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceLocation": "", + "objectType": "Datasource" + }, + "dataSourceSetInfo": { + "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest", + "resourceUri": "", + "datasourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "resourceName": "viveksipgtest", + "resourceType": "Microsoft.DBforPostgreSQL/servers", + "resourceLocation": "", + "objectType": "DatasourceSet" + }, + "deletionInfo": { + "deletionTime": "2022-05-04T00:00:36.6660445Z", + "scheduledPurgeTime": "2022-05-20T00:00:36.6660445Z", + "billingEndDate": "2022-05-06T00:00:36.6660445Z", + "deleteActivityID": "1e9ec790-d198-4efb-bbd7-e4669d5351a4" + }, + "policyInfo": { + "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1" + }, + "protectionStatus": { + "status": "SoftDeleted" + }, + "provisioningState": "Succeeded", + "objectType": "DeletedBackupInstance" + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/DeletedBackupInstanceOperations/UndeleteDeletedBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/DeletedBackupInstanceOperations/UndeleteDeletedBackupInstance.json new file mode 100644 index 000000000000..2bf84adb4b84 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/DeletedBackupInstanceOperations/UndeleteDeletedBackupInstance.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "testrg", + "vaultName": "testvault", + "backupInstanceName": "testbi", + "api-version": "2023-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupVaults/testvault/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2023-12-01", + "Retry-After": "60" + } + }, + "200": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/GetOperationResult.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/GetOperationResult.json new file mode 100644 index 000000000000..13cb643a4857 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/GetOperationResult.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "location": "WestUS", + "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "api-version": "2023-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01", + "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "objectType": "OperationJobExtendedInfo" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/GetOperationStatus.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/GetOperationStatus.json new file mode 100644 index 000000000000..e43eb38876b2 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/GetOperationStatus.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "location": "WestUS", + "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/providers/Microsoft.DataProtection/locations/WestUS/operationStatus/MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "name": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "status": "Succeeded", + "startTime": "2019-11-20T09:49:44.0478496Z", + "endTime": "2019-11-20T09:49:46Z" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/GetOperationStatusRGContext.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/GetOperationStatusRGContext.json new file mode 100644 index 000000000000..a7b138d64899 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/GetOperationStatusRGContext.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/operationStatus/MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "name": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "status": "Succeeded", + "startTime": "2019-11-20T09:49:44.0478496Z", + "endTime": "2019-11-20T09:49:46Z" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/GetOperationStatusVaultContext.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/GetOperationStatusVaultContext.json new file mode 100644 index 000000000000..ddc89af62d4e --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/GetOperationStatusVaultContext.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/swaggerExample/operationStatus/MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "name": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==", + "status": "Succeeded", + "startTime": "2019-11-20T09:49:44.0478496Z", + "endTime": "2019-11-20T09:49:46Z" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/JobCRUD/GetExportJobsOperationResult.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/JobCRUD/GetExportJobsOperationResult.json new file mode 100644 index 000000000000..4697502b8c53 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/JobCRUD/GetExportJobsOperationResult.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreport00000000-0000-0000-0000-000000000000", + "blobSasKey": "someKey", + "excelFileBlobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreport00000000-0000-0000-0000-000000000000_ExcelFile.xlsx", + "excelFileBlobSasKey": "someKey" + } + }, + "202": { + "headers": { + "Retry-After": 60, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.DataProtection/backupVaults/NetSDKTestRsVault/backupJobs/operations/00000000-0000-0000-0000-000000000000?api-version=2023-12-01" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/JobCRUD/GetJob.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/JobCRUD/GetJob.json new file mode 100644 index 000000000000..97ffaacfff65 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/JobCRUD/GetJob.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "resourceGroupName": "BugBash1", + "vaultName": "BugBashVaultForCCYv11", + "jobId": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2", + "policyName": "jakavetdailypolicy", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb2", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-17T03:00:03.7604146Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Started", + "isUserTriggered": false, + "supportedActions": [], + "duration": "00:00:00", + "dataSourceLocation": "centraluseuap", + "extendedInfo": { + "subTasks": [ + { + "taskId": 1, + "taskName": "Trigger Backup", + "taskStatus": "Started" + } + ], + "additionalDetails": { + "RetentionTag": "Default", + "PolicyRuleName": "BackupWeekly", + "TaskId": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9" + } + } + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/JobCRUD/ListJobs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/JobCRUD/ListJobs.json new file mode 100644 index 000000000000..a62afecad34a --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/JobCRUD/ListJobs.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "resourceGroupName": "BugBash1", + "vaultName": "BugBashVaultForCCYv11", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "activityID": "932925c4-3d81-4550-8105-c7f7b0a934c5", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/3048870f-b1b7-44c4-b078-368da3fd000e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy2", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb4", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb4", + "policyName": "jakavetPolicy2", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb4", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-16T05:00:08.1746833Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Started", + "isUserTriggered": false, + "supportedActions": [], + "duration": "00:00:00", + "dataSourceLocation": "centraluseuap" + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/8989416e-7573-4836-8cf1-0e90954f1002", + "name": "8989416e-7573-4836-8cf1-0e90954f1002", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + }, + { + "properties": { + "activityID": "b4f32e03-ded0-46fc-9afc-91853878efcd", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/943c60db-c033-4d93-bb00-66048474e00e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy3", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb5", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb5", + "policyName": "jakavetPolicy3", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb5", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-16T18:00:03.6660733Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Started", + "isUserTriggered": false, + "supportedActions": [], + "duration": "00:00:00", + "dataSourceLocation": "centraluseuap" + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/ad218c05-242a-47c2-b7b7-c16bd0f8870c", + "name": "ad218c05-242a-47c2-b7b7-c16bd0f8870c", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + }, + { + "properties": { + "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2", + "policyName": "jakavetdailypolicy", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb2", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-17T03:00:03.7604146Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Started", + "isUserTriggered": false, + "supportedActions": [], + "duration": "00:00:00", + "dataSourceLocation": "centraluseuap" + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + }, + { + "properties": { + "activityID": "94052cf1-a47f-4c1b-93e7-79e07b2bd008-Tue Mar 17 2021 11:11:48 GMT+0530 (India Standard Time)-Ibz", + "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/0b247869-b8be-4885-b832-8ac4cdf5b00e", + "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy1", + "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb3", + "vaultName": "BugBashVaultForCCYv11", + "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb3", + "policyName": "jakavetPolicy1", + "sourceResourceGroup": "DppPostgresTestingCcy", + "dataSourceSetName": "mabtestingccybasicv11", + "dataSourceName": "bugbashdb3", + "progressEnabled": false, + "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965", + "startTime": "2021-03-17T11:11:50.5595259Z", + "endTime": "2021-03-17T11:14:02.5319646Z", + "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases", + "operationCategory": "Backup", + "operation": "Backup", + "status": "Succeeded", + "isUserTriggered": true, + "supportedActions": [ + "" + ], + "duration": "00:02:11.9724387", + "dataSourceLocation": "centraluseuap" + }, + "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/43252662-1b43-44fd-a856-0055665cb097", + "name": "43252662-1b43-44fd-a856-0055665cb097", + "type": "Microsoft.DataProtection/Backupvaults/backupJobs" + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/JobCRUD/TriggerExportJobs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/JobCRUD/TriggerExportJobs.json new file mode 100644 index 000000000000..d8ca1b6af164 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/JobCRUD/TriggerExportJobs.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2023-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.DataProtection/backupVaults/NetSDKTestRsVault/backupJobs/operations/00000000-0000-0000-0000-000000000000?api-version=2023-12-01", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/Operations/List.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/Operations/List.json new file mode 100644 index 000000000000..7d115a086965 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/Operations/List.json @@ -0,0 +1,533 @@ +{ + "parameters": { + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DataProtection/locations/getBackupStatus/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Status", + "operation": "Check Backup Status for Vault", + "description": "Check Backup Status for Recovery Services Vaults" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/write", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Create a Backup Instance", + "description": "Creates a Backup Instance" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/delete", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Delete Backup Instance", + "description": "Deletes the Backup Instance" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Get Backup Instance Details", + "description": "Returns details of the Backup Instance" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Get Backup Instances", + "description": "Returns all Backup Instances" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/backup/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Backup Backup Instance", + "description": "Performs Backup on the Backup Instance" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/sync/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Sync Backup Instance", + "description": "Sync operation retries last failed operation on backup instance to bring it to a valid state." + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/operationResults/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Get Backup Operation Result", + "description": "Returns Backup Operation Result for Backup Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/stopProtection/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Stop Protection of Backup Instance", + "description": "Stop Protection operation stops both backup and retention schedules of backup instance. Existing data will be retained forever." + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/suspendBackups/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Suspend Backups of Backup Instance", + "description": "Suspend Backups operation stops only backups of backup instance. Retention activities will continue and hence data will be ratained as per policy." + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/resumeProtection/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Resume Protection of Backup Instance", + "description": "Resume protection of a ProtectionStopped BI." + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/resumeBackups/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Resume Backups of Backup Instance", + "description": "Resume Backups for a BackupsSuspended BI." + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/validateRestore/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Validate for Restore of Backup Instance", + "description": "Validates for Restore of the Backup Instance" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/restore/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Instance", + "operation": "Restore Backup Instance", + "description": "Triggers restore on the Backup Instance" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupPolicies/write", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Policies", + "operation": "Create Backup Policy", + "description": "Creates Backup Policy" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupPolicies/delete", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Policies", + "operation": "Delete Backup Policy", + "description": "Deletes the Backup Policy" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupPolicies/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Policies", + "operation": "Get Backup Policy details", + "description": "Returns details of the Backup Policy" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupPolicies/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Policies", + "operation": "Get Backup Policies", + "description": "Returns all Backup Policies" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guard Proxy", + "operation": "Get the list of ResourceGuard proxies for a resource", + "description": "Get the list of ResourceGuard proxies for a resource" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guard Proxy", + "operation": "Get ResourceGuard proxy", + "description": "Get ResourceGuard proxy operation gets an object representing the Azure resource of type 'ResourceGuard proxy'" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/write", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guard Proxy", + "operation": "Create ResourceGuard proxy", + "description": "Create ResourceGuard proxy operation creates an Azure resource of type 'ResourceGuard Proxy'" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/delete", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guard Proxy", + "operation": "Delete ResourceGuard proxy", + "description": "The Delete ResourceGuard proxy operation deletes the specified Azure resource of type 'ResourceGuard proxy'" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/unlockDelete/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guard Proxy", + "operation": "Unlock delete ResourceGuard proxy operation unlocks the next delete critical operation", + "description": "Unlock delete ResourceGuard proxy operation unlocks the next delete critical operation" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Recovery Points", + "operation": "Get Recovery Point Details", + "description": "Returns details of the Recovery Point" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Recovery Points", + "operation": "Get Recovery Points", + "description": "Returns all Recovery Points" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Restorable Time Ranges", + "operation": "Find Restorable Time Ranges", + "description": "Finds Restorable Time Ranges" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/write", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Vaults", + "operation": "Create Backup Vault", + "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Vaults", + "operation": "Create Backup Vault", + "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/delete", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Vaults", + "operation": "Create Backup Vault", + "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/operationResults/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Vaults", + "operation": "Get Operation Result of a Patch Operation for a Backup Vault", + "description": "Gets Operation Result of a Patch Operation for a Backup Vault" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/locations/checkNameAvailability/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Vaults", + "operation": "Check if the requested BackupVault Name is Available", + "description": "Checks if the requested BackupVault Name is Available" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Vaults", + "operation": "Get Backup Vaults in a Resource Group", + "description": "Gets list of Backup Vaults in a Resource Group" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Vaults", + "operation": "Get Backup Vaults in a Subscription", + "description": "Gets list of Backup Vaults in a Subscription" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/write", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guards", + "operation": "Create ResourceGuard", + "description": "Create ResourceGuard operation creates an Azure resource of type 'ResourceGuard'" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guards", + "operation": "Get ResourceGuard", + "description": "The Get ResourceGuard operation gets an object representing the Azure resource of type 'ResourceGuard'" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/delete", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guards", + "operation": "Delete ResourceGuard", + "description": "The Delete ResourceGuard operation deletes the specified Azure resource of type 'ResourceGuard'" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guards", + "operation": "Get ResourceGuards in a Resource Group", + "description": "Gets list of ResourceGuards in a Resource Group" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/subscriptions/providers/resourceGuards/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guards", + "operation": "Get ResourceGuards in a Subscription", + "description": "Gets list of ResourceGuards in a Subscription" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/write", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guards", + "operation": "Update ResourceGuard", + "description": "Update ResouceGuard operation updates an Azure resource of type 'ResourceGuard'" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/{operationName}/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guards", + "operation": "Get ResourceGuard operation request info", + "description": "Gets ResourceGuard operation request info" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/{operationName}/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Guards", + "operation": "Get ResourceGuard default operation request info", + "description": "Gets ResourceGuard default operation request info" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/subscriptions/providers/locations/checkFeatureSupport/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Provider Operation", + "operation": "Validate if a feature is supported", + "description": "Validates if a feature is supported" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/locations/operationStatus/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Backup Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/operationStatus/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Backup Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/operationStatus/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Backup Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/locations/operationResults/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Operation Results", + "operation": "Get Backup Operation Result", + "description": "Returns Backup Operation Result for Backup Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/validateForBackup/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Validate Backup", + "operation": "Validate for backup of Backup Instance", + "description": "Validates for backup of Backup Instance" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/backupVaults/backupJobs/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Jobs", + "operation": "Backup Jobs", + "description": "Get Jobs list" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupJobs/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Backup Jobs", + "operation": "Backup Job Object", + "description": "Get Job details" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/register/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Provider Operation", + "operation": "Register Resource Provider", + "description": "Registers subscription for given Resource Provider" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/unregister/action", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Provider Operation", + "operation": "Unregister Resource Provider", + "description": "Unregisters subscription for given Resource Provider" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataProtection/operations/read", + "display": { + "provider": "Microsoft.DataProtection", + "resource": "Resource Provider Operation", + "operation": "List of Operations", + "description": "Operation returns the list of Operations for a Resource Provider" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json new file mode 100644 index 000000000000..35f9dee9d10e --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json @@ -0,0 +1,200 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PrivatePreviewVault", + "backupPolicyName": "OSSDBPolicy", + "api-version": "2023-12-01", + "parameters": { + "properties": { + "policyRules": [ + { + "backupParameters": { + "backupType": "Full", + "objectType": "AzureBackupParams" + }, + "trigger": { + "schedule": { + "repeatingTimeIntervals": [ + "R/2019-11-20T08:00:00-08:00/P1W" + ] + }, + "taggingCriteria": [ + { + "tagInfo": { + "tagName": "Default" + }, + "taggingPriority": 99, + "isDefault": true + }, + { + "tagInfo": { + "tagName": "Weekly" + }, + "taggingPriority": 20, + "isDefault": false, + "criteria": [ + { + "scheduleTimes": [ + "2019-03-01T13:00:00Z" + ], + "daysOfTheWeek": [ + "Sunday" + ], + "objectType": "ScheduleBasedBackupCriteria" + } + ] + } + ], + "objectType": "ScheduleBasedTriggerContext" + }, + "dataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "name": "BackupWeekly", + "objectType": "AzureBackupRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P1W" + } + } + ], + "isDefault": true, + "name": "Default", + "objectType": "AzureRetentionRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P12W" + } + } + ], + "isDefault": false, + "name": "Weekly", + "objectType": "AzureRetentionRule" + } + ], + "datasourceTypes": [ + "OssDB" + ], + "objectType": "BackupPolicy" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy", + "name": "OSSDBPolicy", + "type": "Microsoft.DataProtection/backupVaults/backupPolicies", + "properties": { + "policyRules": [ + { + "backupParameters": { + "backupType": "Full", + "objectType": "AzureBackupParams" + }, + "trigger": { + "schedule": { + "repeatingTimeIntervals": [ + "R/2019-11-20T08:00:00-08:00/P1W" + ] + }, + "taggingCriteria": [ + { + "tagInfo": { + "tagName": "Default", + "id": "Default_" + }, + "taggingPriority": 99, + "isDefault": true + }, + { + "tagInfo": { + "tagName": "Weekly", + "id": "Weekly_" + }, + "taggingPriority": 20, + "isDefault": false, + "criteria": [ + { + "scheduleTimes": [ + "2019-03-01T13:00:00Z" + ], + "daysOfTheWeek": [ + "Sunday" + ], + "objectType": "ScheduleBasedBackupCriteria" + } + ] + } + ], + "objectType": "ScheduleBasedTriggerContext" + }, + "dataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "name": "BackupWeekly", + "objectType": "AzureBackupRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P1W" + } + } + ], + "isDefault": true, + "name": "Default", + "objectType": "AzureRetentionRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P12W" + } + } + ], + "isDefault": false, + "name": "Weekly", + "objectType": "AzureRetentionRule" + } + ], + "datasourceTypes": [ + "OssDB" + ], + "objectType": "BackupPolicy" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/PolicyCRUD/DeleteBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/PolicyCRUD/DeleteBackupPolicy.json new file mode 100644 index 000000000000..647e4fda3af0 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/PolicyCRUD/DeleteBackupPolicy.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PrivatePreviewVault", + "backupPolicyName": "OSSDBPolicy", + "api-version": "2023-12-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/PolicyCRUD/GetBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/PolicyCRUD/GetBackupPolicy.json new file mode 100644 index 000000000000..a12232c0e5c5 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/PolicyCRUD/GetBackupPolicy.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PrivatePreviewVault", + "backupPolicyName": "OSSDBPolicy", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy", + "name": "OSSDBPolicy", + "type": "Microsoft.DataProtection/backupVaults/backupPolicies", + "properties": { + "policyRules": [ + { + "backupParameters": { + "backupType": "Full", + "objectType": "AzureBackupParams" + }, + "trigger": { + "schedule": { + "repeatingTimeIntervals": [ + "R/2019-11-20T08:00:00-08:00/P1W" + ] + }, + "taggingCriteria": [ + { + "tagInfo": { + "tagName": "Default", + "id": "Default_" + }, + "taggingPriority": 99, + "isDefault": true + }, + { + "tagInfo": { + "tagName": "Weekly", + "id": "Weekly_" + }, + "taggingPriority": 20, + "isDefault": false, + "criteria": [ + { + "scheduleTimes": [ + "2019-03-01T13:00:00Z" + ], + "daysOfTheWeek": [ + "Sunday" + ], + "objectType": "ScheduleBasedBackupCriteria" + } + ] + } + ], + "objectType": "ScheduleBasedTriggerContext" + }, + "dataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "name": "BackupWeekly", + "objectType": "AzureBackupRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P1W" + } + } + ], + "isDefault": true, + "name": "Default", + "objectType": "AzureRetentionRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P12W" + } + } + ], + "isDefault": false, + "name": "Weekly", + "objectType": "AzureRetentionRule" + } + ], + "datasourceTypes": [ + "OssDB" + ], + "objectType": "BackupPolicy" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/PolicyCRUD/ListBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/PolicyCRUD/ListBackupPolicy.json new file mode 100644 index 000000000000..ba4c3c3ebbcb --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/PolicyCRUD/ListBackupPolicy.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "000pikumar", + "vaultName": "PrivatePreviewVault", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy", + "name": "OSSDBPolicy", + "type": "Microsoft.DataProtection/backupVaults/backupPolicies", + "properties": { + "policyRules": [ + { + "backupParameters": { + "backupType": "Full", + "objectType": "AzureBackupParams" + }, + "trigger": { + "schedule": { + "repeatingTimeIntervals": [ + "R/2019-11-20T08:00:00-08:00/P1W" + ] + }, + "taggingCriteria": [ + { + "tagInfo": { + "tagName": "Default", + "id": "Default_" + }, + "taggingPriority": 99, + "isDefault": true + }, + { + "tagInfo": { + "tagName": "Weekly", + "id": "Weekly_" + }, + "taggingPriority": 20, + "isDefault": false, + "criteria": [ + { + "scheduleTimes": [ + "2019-03-01T13:00:00Z" + ], + "daysOfTheWeek": [ + "Sunday" + ], + "objectType": "ScheduleBasedBackupCriteria" + } + ] + } + ], + "objectType": "ScheduleBasedTriggerContext" + }, + "dataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "name": "BackupWeekly", + "objectType": "AzureBackupRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P1W" + } + } + ], + "isDefault": true, + "name": "Default", + "objectType": "AzureRetentionRule" + }, + { + "lifecycles": [ + { + "sourceDataStore": { + "dataStoreType": "VaultStore", + "objectType": "DataStoreInfoBase" + }, + "deleteAfter": { + "objectType": "AbsoluteDeleteOption", + "duration": "P12W" + } + } + ], + "isDefault": false, + "name": "Weekly", + "objectType": "AzureRetentionRule" + } + ], + "datasourceTypes": [ + "OssDB" + ], + "objectType": "BackupPolicy" + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/DeleteResourceGuard.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/DeleteResourceGuard.json new file mode 100644 index 000000000000..ec639f3ab795 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/DeleteResourceGuard.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultBackupSecurityPINRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultBackupSecurityPINRequests.json new file mode 100644 index 000000000000..7892d69c954c --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultBackupSecurityPINRequests.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "requestName": "default", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/getBackupSecurityPINRequests/default", + "name": "default", + "type": "Microsoft.DataProtection/resourceGuards/getBackupSecurityPINRequests" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultDeleteProtectedItemRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultDeleteProtectedItemRequests.json new file mode 100644 index 000000000000..fe7c824270fe --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultDeleteProtectedItemRequests.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "requestName": "default", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/deleteProtectedItemRequests/default", + "name": "default", + "type": "Microsoft.DataProtection/resourceGuards/deleteProtectedItemRequests" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultDeleteResourceGuardProxyRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultDeleteResourceGuardProxyRequests.json new file mode 100644 index 000000000000..c6e2399e5312 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultDeleteResourceGuardProxyRequests.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "requestName": "default", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/deleteResourceGuardProxyRequests/default", + "name": "default", + "type": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultDisableSoftDeleteRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultDisableSoftDeleteRequests.json new file mode 100644 index 000000000000..21a1f4c03523 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultDisableSoftDeleteRequests.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "requestName": "default", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/disableSoftDeleteRequests/default", + "name": "default", + "type": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultUpdateProtectedItemRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultUpdateProtectedItemRequests.json new file mode 100644 index 000000000000..aebd5539aada --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultUpdateProtectedItemRequests.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "requestName": "default", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/updateProtectedItemRequests/default", + "name": "default", + "type": "Microsoft.DataProtection/resourceGuards/updateProtectedItemRequests" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultUpdateProtectionPolicyRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultUpdateProtectionPolicyRequests.json new file mode 100644 index 000000000000..eb33e663d8f4 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetDefaultUpdateProtectionPolicyRequests.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "requestName": "default", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/updateProtectionPolicyRequests/default", + "name": "default", + "type": "Microsoft.DataProtection/resourceGuards/updateProtectionPolicyRequests" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetResourceGuard.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetResourceGuard.json new file mode 100644 index 000000000000..371de1ea49f2 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetResourceGuard.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "location": "eastus", + "tags": { + "TestKey": "TestValue" + }, + "id": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "name": "ResourceGuardTestNew", + "type": "Microsoft.DataProtection/resourceGuards", + "properties": { + "provisioningState": "Succeeded", + "allowAutoApprovals": true, + "resourceGuardOperations": [ + { + "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete", + "requestResourceType": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" + }, + { + "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupconfig/write", + "requestResourceType": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" + } + ], + "description": "Please take JIT access before performing any of the critical operation", + "vaultCriticalOperationExclusionList": [] + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetResourceGuardsInResourceGroup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetResourceGuardsInResourceGroup.json new file mode 100644 index 000000000000..be55b679c37b --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetResourceGuardsInResourceGroup.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "eastus", + "tags": { + "TestKey": "TestValue" + }, + "id": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "name": "VaultGuardTestNew", + "type": "Microsoft.DataProtection/resourceGuards", + "properties": { + "provisioningState": "Succeeded", + "allowAutoApprovals": true, + "resourceGuardOperations": [ + { + "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete", + "requestResourceType": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" + }, + { + "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupconfig/write", + "requestResourceType": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" + } + ], + "description": "Please take JIT access before performing any of the critical operation", + "vaultCriticalOperationExclusionList": [] + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetResourceGuardsInSubscription.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetResourceGuardsInSubscription.json new file mode 100644 index 000000000000..60a9c44d9e78 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/GetResourceGuardsInSubscription.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "eastus", + "tags": { + "TestKey": "TestValue" + }, + "id": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "name": "VaultGuardTestNew", + "type": "Microsoft.DataProtection/resourceGuards", + "properties": { + "provisioningState": "Succeeded", + "allowAutoApprovals": true, + "resourceGuardOperations": [ + { + "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete", + "requestResourceType": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" + }, + { + "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupconfig/write", + "requestResourceType": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" + } + ], + "description": "Please take JIT access before performing any of the critical operation", + "vaultCriticalOperationExclusionList": [] + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListBackupSecurityPINRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListBackupSecurityPINRequests.json new file mode 100644 index 000000000000..9a43c987ae27 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListBackupSecurityPINRequests.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/getBackupSecurityPINRequests/default", + "name": "default", + "type": "Microsoft.DataProtection/resourceGuards/getBackupSecurityPINRequests" + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListDeleteProtectedItemRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListDeleteProtectedItemRequests.json new file mode 100644 index 000000000000..e38d44466a48 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListDeleteProtectedItemRequests.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/deleteProtectedItemRequests/default", + "name": "default", + "type": "Microsoft.DataProtection/resourceGuards/deleteProtectedItemRequests" + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListDeleteResourceGuardProxyRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListDeleteResourceGuardProxyRequests.json new file mode 100644 index 000000000000..d6ac17353f20 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListDeleteResourceGuardProxyRequests.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/deleteResourceGuardProxyRequests/default", + "name": "default", + "type": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListDisableSoftDeleteRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListDisableSoftDeleteRequests.json new file mode 100644 index 000000000000..755bd9273202 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListDisableSoftDeleteRequests.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/disableSoftDeleteRequests/default", + "name": "default", + "type": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListUpdateProtectedItemRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListUpdateProtectedItemRequests.json new file mode 100644 index 000000000000..ae6fa257615a --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListUpdateProtectedItemRequests.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/updateProtectedItemRequests/default", + "name": "default", + "type": "Microsoft.DataProtection/resourceGuards/updateProtectedItemRequests" + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListUpdateProtectionPolicyRequests.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListUpdateProtectionPolicyRequests.json new file mode 100644 index 000000000000..c83324ec1a60 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/ListUpdateProtectionPolicyRequests.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriotions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/resourceGuards/swaggerExample/updateProtectionPolicyRequests/default", + "name": "default", + "type": "Microsoft.DataProtection/resourceGuards/updateProtectionPolicyRequests" + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/PatchResourceGuard.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/PatchResourceGuard.json new file mode 100644 index 000000000000..9a0ddfc9ca43 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/PatchResourceGuard.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "api-version": "2023-12-01", + "parameters": { + "tags": { + "newKey": "newVal" + } + } + }, + "responses": { + "200": { + "body": { + "location": "eastus", + "tags": { + "TestKey": "TestValue" + }, + "id": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "name": "VaultGuardTestNew", + "type": "Microsoft.DataProtection/resourceGuards", + "properties": { + "provisioningState": "Succeeded", + "allowAutoApprovals": true, + "resourceGuardOperations": [ + { + "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete", + "requestResourceType": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" + }, + { + "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupconfig/write", + "requestResourceType": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" + } + ], + "description": "Please take JIT access before performing any of the critical operation" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/PutResourceGuard.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/PutResourceGuard.json new file mode 100644 index 000000000000..cc59ee041563 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardCRUD/PutResourceGuard.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardsName": "swaggerExample", + "api-version": "2023-12-01", + "parameters": { + "location": "WestUS", + "tags": { + "key1": "val1" + } + } + }, + "responses": { + "200": { + "body": { + "location": "eastus", + "tags": { + "TestKey": "TestValue" + }, + "id": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "name": "VaultGuardTestNew", + "type": "Microsoft.DataProtection/resourceGuards", + "properties": { + "provisioningState": "Succeeded", + "allowAutoApprovals": true, + "resourceGuardOperations": [ + { + "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete", + "requestResourceType": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" + }, + { + "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupconfig/write", + "requestResourceType": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" + } + ], + "description": "Please take JIT access before performing any of the critical operation", + "vaultCriticalOperationExclusionList": [] + } + } + }, + "201": { + "body": { + "location": "eastus", + "tags": { + "TestKey": "TestValue" + }, + "id": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "name": "VaultGuardTestNew", + "type": "Microsoft.DataProtection/resourceGuards", + "properties": { + "provisioningState": "Succeeded", + "allowAutoApprovals": true, + "resourceGuardOperations": [ + { + "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete", + "requestResourceType": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" + }, + { + "vaultCriticalOperation": "Microsoft.RecoveryServices/vaults/backupconfig/write", + "requestResourceType": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" + } + ], + "description": "Please take JIT access before performing any of the critical operation", + "vaultCriticalOperationExclusionList": [] + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json new file mode 100644 index 000000000000..5ef9e4be4bc6 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "5e13b949-1218-4d18-8b99-7e12155ec4f7", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json new file mode 100644 index 000000000000..610f38df7490 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "5e13b949-1218-4d18-8b99-7e12155ec4f7", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5e13b949-1218-4d18-8b99-7e12155ec4f7/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/sampleVault/backupResourceGuardProxies/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource", + "resourceGuardOperationDetails": [ + { + "vaultCriticalOperation": "Microsoft.DataProtection/backupVaults/backupInstances/delete", + "defaultResourceRequest": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteBackupInstanceRequests/default" + }, + { + "vaultCriticalOperation": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/delete", + "defaultResourceRequest": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteResourceGuardProxyRequests/default" + } + ], + "lastUpdatedTime": "2022-09-16T11:44:37.6130487Z", + "description": "Please take JIT access before performing any of the critical operation" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json new file mode 100644 index 000000000000..d9c18193ab62 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "5e13b949-1218-4d18-8b99-7e12155ec4f7", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5e13b949-1218-4d18-8b99-7e12155ec4f7/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/sampleVault/backupResourceGuardProxies/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource", + "resourceGuardOperationDetails": [ + { + "vaultCriticalOperation": "Microsoft.DataProtection/backupVaults/backupInstances/delete", + "defaultResourceRequest": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteBackupInstanceRequests/default" + }, + { + "vaultCriticalOperation": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/delete", + "defaultResourceRequest": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteResourceGuardProxyRequests/default" + } + ], + "lastUpdatedTime": "2022-09-16T11:44:37.6130487Z", + "description": "Please take JIT access before performing any of the critical operation" + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json new file mode 100644 index 000000000000..984e37c11e67 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "5e13b949-1218-4d18-8b99-7e12155ec4f7", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2023-12-01", + "parameters": { + "properties": { + "resourceGuardResourceId": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5e13b949-1218-4d18-8b99-7e12155ec4f7/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/sampleVault/backupResourceGuardProxies/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource", + "resourceGuardOperationDetails": [ + { + "vaultCriticalOperation": "Microsoft.DataProtection/backupVaults/backupInstances/delete", + "defaultResourceRequest": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteBackupInstanceRequests/default" + }, + { + "vaultCriticalOperation": "Microsoft.DataProtection/backupVaults/backupResourceGuardProxies/delete", + "defaultResourceRequest": "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteResourceGuardProxyRequests/default" + } + ], + "lastUpdatedTime": "2022-09-16T11:44:37.6130487Z", + "description": "Please take JIT access before performing any of the critical operation" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json new file mode 100644 index 000000000000..901c4c7151f5 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "5e13b949-1218-4d18-8b99-7e12155ec4f7", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2023-12-01", + "parameters": { + "resourceGuardOperationRequests": [ + "/subscriptions/f9e67185-f313-4e79-aa71-6458d429369d/resourceGroups/ResourceGuardSecurityAdminRG/providers/Microsoft.DataProtection/resourceGuards/ResourceGuardTestResource/deleteBackupInstanceRequests/default" + ], + "resourceToBeDeleted": "/subscriptions/5e13b949-1218-4d18-8b99-7e12155ec4f7/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/sampleVault/backupInstances/TestBI9779f4de" + } + }, + "responses": { + "200": { + "body": { + "unlockDeleteExpiryTime": "2022-09-16T12:50:10.7039695Z" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json new file mode 100644 index 000000000000..a527e22ae2fc --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "location": "westus", + "api-version": "2023-12-01", + "parameters": { + "type": "Microsoft.DataProtection/BackupVaults", + "name": "swaggerExample" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/DeleteBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/DeleteBackupVault.json new file mode 100644 index 000000000000..338b182fb15b --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/DeleteBackupVault.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01", + "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetBackupVault.json new file mode 100644 index 000000000000..2df9c51a6684 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetBackupVault.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "identity": { + "type": "None" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled" + } + }, + "provisioningState": "Succeeded", + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ], + "featureSettings": { + "crossRegionRestoreSettings": { + "state": "Enabled" + } + }, + "securitySettings": { + "softDeleteSettings": { + "state": "Enabled", + "retentionDurationInDays": 14 + } + }, + "secureScore": "Adequate" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetBackupVaultWithMSI.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetBackupVaultWithMSI.json new file mode 100644 index 000000000000..2b6433ad2de9 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetBackupVaultWithMSI.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "identity": { + "principalId": "c009b9a0-0024-417c-83cd-025d3776045d", + "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc", + "type": "SystemAssigned" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ], + "featureSettings": { + "crossRegionRestoreSettings": { + "state": "Enabled" + } + }, + "securitySettings": { + "softDeleteSettings": { + "state": "Enabled", + "retentionDurationInDays": 14 + } + }, + "secureScore": "Adequate" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json new file mode 100644 index 000000000000..5387d66a2e79 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identity": { + "type": "None" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault1", + "name": "ExampleVault1", + "type": "Microsoft.DataProtection/BackupVaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ], + "featureSettings": { + "crossRegionRestoreSettings": { + "state": "Enabled" + } + }, + "securitySettings": { + "softDeleteSettings": { + "state": "Enabled", + "retentionDurationInDays": 14 + } + }, + "secureScore": "Adequate" + } + }, + { + "identity": { + "principalId": "c009b9a0-0024-417c-83cd-025d3776045d", + "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc", + "type": "SystemAssigned" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault2", + "name": "ExampleVault2", + "type": "Microsoft.DataProtection/BackupVaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled" + } + }, + "provisioningState": "Succeeded", + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ], + "featureSettings": { + "crossRegionRestoreSettings": { + "state": "Enabled" + } + }, + "securitySettings": { + "softDeleteSettings": { + "state": "Enabled", + "retentionDurationInDays": 14 + } + }, + "secureScore": "Adequate" + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetBackupVaultsInSubscription.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetBackupVaultsInSubscription.json new file mode 100644 index 000000000000..74e32605974a --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetBackupVaultsInSubscription.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identity": { + "type": "None" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup2/providers/Microsoft.DataProtection/BackupVaults/ExampleVault1", + "name": "ExampleVault1", + "type": "Microsoft.DataProtection/BackupVaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ], + "featureSettings": { + "crossRegionRestoreSettings": { + "state": "Enabled" + } + }, + "securitySettings": { + "softDeleteSettings": { + "state": "Enabled", + "retentionDurationInDays": 14 + } + }, + "secureScore": "Adequate" + } + }, + { + "identity": { + "type": "None" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault2", + "name": "ExampleVault2", + "type": "Microsoft.DataProtection/BackupVaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ], + "featureSettings": { + "crossRegionRestoreSettings": { + "state": "Enabled" + } + }, + "securitySettings": { + "softDeleteSettings": { + "state": "Enabled", + "retentionDurationInDays": 14 + } + }, + "secureScore": "Adequate" + } + } + ] + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetOperationResultPatch.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetOperationResultPatch.json new file mode 100644 index 000000000000..8ae04eba2a77 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/GetOperationResultPatch.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "api-version": "2023-12-01" + }, + "responses": { + "200": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01", + "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01" + }, + "body": { + "identity": { + "type": "None" + }, + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "provisioningState": "Succeeded", + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/backupVaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01", + "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01", + "Retry-After": "60" + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/PatchBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/PatchBackupVault.json new file mode 100644 index 000000000000..02bdcadf3c0e --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/PatchBackupVault.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2023-12-01", + "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "parameters": { + "tags": { + "newKey": "newVal" + }, + "properties": { + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled" + } + } + } + } + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01", + "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01" + } + }, + "200": { + "body": { + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "newKey": "newVal" + }, + "properties": { + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled" + } + }, + "provisioningState": "Succeeded", + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ] + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/PutBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/PutBackupVault.json new file mode 100644 index 000000000000..ab68b666fbfb --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/PutBackupVault.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2023-12-01", + "parameters": { + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "identity": { + "type": "None" + }, + "properties": { + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled" + } + }, + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ], + "featureSettings": { + "crossRegionRestoreSettings": { + "state": "Enabled" + } + }, + "securitySettings": { + "softDeleteSettings": { + "state": "Enabled", + "retentionDurationInDays": 14 + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled" + } + }, + "provisioningState": "Provisioning", + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ], + "featureSettings": { + "crossRegionRestoreSettings": { + "state": "Enabled" + } + }, + "securitySettings": { + "softDeleteSettings": { + "state": "Enabled", + "retentionDurationInDays": 14 + } + }, + "secureScore": "Adequate" + } + }, + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01" + } + }, + "200": { + "body": { + "identity": { + "type": "None" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled" + } + }, + "provisioningState": "Succeeded", + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ], + "featureSettings": { + "crossRegionRestoreSettings": { + "state": "Enabled" + } + }, + "securitySettings": { + "softDeleteSettings": { + "state": "Enabled", + "retentionDurationInDays": 14 + } + }, + "secureScore": "Adequate" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/PutBackupVaultWithMSI.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/PutBackupVaultWithMSI.json new file mode 100644 index 000000000000..442190d0b0d5 --- /dev/null +++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-12-01/examples/VaultCRUD/PutBackupVaultWithMSI.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "resourceGroupName": "SampleResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2023-12-01", + "parameters": { + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "identity": { + "type": "systemAssigned" + }, + "properties": { + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled" + } + }, + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ], + "featureSettings": { + "crossRegionRestoreSettings": { + "state": "Enabled" + } + }, + "securitySettings": { + "softDeleteSettings": { + "state": "Enabled", + "retentionDurationInDays": 14 + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled" + } + }, + "provisioningState": "Provisioning", + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ], + "featureSettings": { + "crossRegionRestoreSettings": { + "state": "Enabled" + } + }, + "securitySettings": { + "softDeleteSettings": { + "state": "Enabled", + "retentionDurationInDays": 14 + } + }, + "secureScore": "Adequate" + } + }, + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2023-12-01" + } + }, + "200": { + "body": { + "identity": { + "principalId": "c009b9a0-0024-417c-83cd-025d3776045d", + "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc", + "type": "SystemAssigned" + }, + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.DataProtection/Backupvaults", + "location": "WestUS", + "tags": { + "key1": "val1" + }, + "properties": { + "monitoringSettings": { + "azureMonitorAlertSettings": { + "alertsForAllJobFailures": "Enabled" + } + }, + "provisioningState": "Succeeded", + "storageSettings": [ + { + "datastoreType": "VaultStore", + "type": "LocallyRedundant" + } + ], + "featureSettings": { + "crossRegionRestoreSettings": { + "state": "Enabled" + } + }, + "securitySettings": { + "softDeleteSettings": { + "state": "Enabled", + "retentionDurationInDays": 14 + } + }, + "secureScore": "Adequate" + } + } + } + } +} diff --git a/specification/dataprotection/resource-manager/readme.md b/specification/dataprotection/resource-manager/readme.md index 0178f7c1295a..44892f309ffa 100644 --- a/specification/dataprotection/resource-manager/readme.md +++ b/specification/dataprotection/resource-manager/readme.md @@ -28,15 +28,14 @@ These are the global settings for the DataProtection API. title: Data Protection Client description: Open API 2.0 Specs for Azure Data Protection service openapi-type: arm -tag: package-2023-11 +tag: package-2023-12 csharp-sdks-folder: ./Generated/CSharp python-sdks-folder: ./Generated/Python go-sdk-folder: ./Generated/Golang license-header: MICROSOFT_MIT suppressions: - - code: ResourceNameRestriction - reason: BackupInstance Resource is created by DPP Service, so regex wont add much value here. - + - code: ResourceNameRestriction + reason: 'BackupInstance Resource is created by DPP Service, so regex wont add much value here.' ``` ### Validations @@ -51,11 +50,19 @@ message-format: json ``` +### Tag: package-2023-12 + +These settings apply only when `--tag=package-2023-12` is specified on the command line. + +```yaml $(tag) == 'package-2023-12' +input-file: + - Microsoft.DataProtection/stable/2023-12-01/dataprotection.json +``` ### Tag: package-2023-11 These settings apply only when `--tag=package-2023-11` is specified on the command line. -```yaml $(tag) == 'package-2023-11' +``` yaml $(tag) == 'package-2023-11' input-file: - Microsoft.DataProtection/stable/2023-11-01/dataprotection.json ``` @@ -64,7 +71,7 @@ input-file: These settings apply only when `--tag=package-preview-2023-08` is specified on the command line. -```yaml $(tag) == 'package-preview-2023-08' +``` yaml $(tag) == 'package-preview-2023-08' input-file: - Microsoft.DataProtection/preview/2023-08-01-preview/dataprotection.json ``` @@ -300,6 +307,7 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) ## Suppression + ``` yaml directive: - suppress: ParametersInPost diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-11-01-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-11-01-preview/desktopvirtualization.json index 52c208aaa174..179527b9f24a 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-11-01-preview/desktopvirtualization.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-11-01-preview/desktopvirtualization.json @@ -2769,72 +2769,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default/validateSessionHostUpdate": { - "post": { - "tags": [ - "SessionHostManagement" - ], - "operationId": "ValidateSessionHostUpdate_Post", - "description": "Validates a session host update operation for validation errors. When Session Host Configuration and Session Host Management values are not provided the ones saved in the Host Pool will be used.", - "x-ms-examples": { - "HostPools_Update_Post": { - "$ref": "./examples/SessionHostManagements_ValidateSessionHostUpdate_Post.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/HostPoolNameParameter" - }, - { - "name": "validateSessionHostUpdateRequestBody", - "description": "Object containing the definition for properties to be used in the sessionHostUpdate validation.", - "in": "body", - "schema": { - "$ref": "#/definitions/ValidateSessionHostUpdateRequestBody" - } - } - ], - "responses": { - "202": { - "description": "Successfully initiated hostpool update.", - "headers": { - "Location": { - "description": "The URL of the resource used to check the status of the asynchronous operation.", - "type": "string" - }, - "Azure-AsyncOperation": { - "description": "The URL of the resource used to check the status of the asynchronous operation.", - "type": "string" - }, - "Retry-After": { - "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", - "type": "integer", - "format": "int32" - } - } - }, - "default": { - "description": "Automation error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default/initiateSessionHostUpdate": { "post": { "tags": [ @@ -6419,25 +6353,6 @@ } } }, - "ValidateSessionHostUpdateRequestBody": { - "description": "Object containing the definition for properties to be used in the sessionHostUpdate validation.", - "type": "object", - "properties": { - "sessionHostConfiguration": { - "description": "Object containing the definition for the SessionHostConfiguration to be validated. If none is provided the update will use the SessionHostConfiguration settings associated with the HostPool.", - "$ref": "#/definitions/SessionHostConfiguration" - }, - "sessionHostManagement": { - "description": "Object containing the definition for the SessionHostManagement to be validated. If none is provided the update will use the settings saved in the sessionHostManagement object.", - "$ref": "#/definitions/SessionHostManagement" - }, - "scheduledDateTime": { - "type": "string", - "format": "date-time", - "description": "The timestamp that the update validation is scheduled for. If none is provided, the update will be executed immediately" - } - } - }, "UpdateSessionHostsRequestBody": { "description": "Object containing the definition for properties to be used for a sessionHostUpdate operation.", "type": "object", diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-11-01-preview/examples/SessionHostManagements_ValidateSessionHostUpdate_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-11-01-preview/examples/SessionHostManagements_ValidateSessionHostUpdate_Post.json deleted file mode 100644 index bb2526a77aff..000000000000 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-11-01-preview/examples/SessionHostManagements_ValidateSessionHostUpdate_Post.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "parameters": { - "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", - "resourceGroupName": "resourceGroup1", - "hostPoolName": "hostPool1", - "api-version": "2023-11-01-preview", - "validateSessionHostUpdateRequestBody": { - "sessionHostConfiguration": { - "properties": { - "friendlyName": "InitialConfiguration", - "vmTags": { - "Department": "myDepartment", - "Team": "myTeam" - }, - "vmLocation": "eastus2", - "vmResourceGroup": "myResourceGroup", - "vmNamePrefix": "westus2-vm", - "availabilityZones": [ - 1, - 3 - ], - "networkInfo": { - "subnetId": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Network/virtualNetworks/.../subnets/subnet1", - "securityGroupId": "/subscriptions/.../resourceGroups/.../provider s/Microsoft.Network/networkSecurityGroups/nsg1" - }, - "vmSizeId": "Standard_D2s_v3", - "diskInfo": { - "type": "Standard_LRS" - }, - "customConfigurationScriptUrl": "https://storageaccountname.blob.core.windows.net/blobcontainer/file", - "imageInfo": { - "type": "Marketplace", - "marketplaceInfo": { - "offer": "Windows-10", - "publisher": "MicrosoftWindowsDesktop", - "sku": "19h2-ent", - "exactVersion": "2019.0.20190115" - }, - "customInfo": { - "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName" - } - }, - "domainInfo": { - "joinType": "ActiveDirectory", - "activeDirectoryInfo": { - "domainCredentials": { - "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", - "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" - }, - "ouPath": "OU=testOU,DC=domain,DC=Domain,DC=com", - "domainName": "wvdarmtest1.net" - }, - "azureActiveDirectoryInfo": { - "mdmProviderGuid": "bdefabc0-95b4-48b3-b645-8a753a63c4fa" - } - }, - "securityInfo": { - "type": "TrustedLaunch", - "secureBootEnabled": true, - "vTpmEnabled": true - }, - "vmAdminCredentials": { - "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", - "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" - }, - "bootDiagnosticsInfo": { - "enabled": true, - "storageUri": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroupName/providers/Microsoft.Storage/storageAccounts/storageAccountName" - } - } - }, - "sessionHostManagement": { - "properties": { - "scheduledDateTimeZone": "Alaskan Standard Time", - "update": { - "deleteOriginalVm": true, - "maxVmsRemoved": 4, - "logOffDelayMinutes": 10, - "logOffMessage": "logging off for hostpool update" - } - } - }, - "scheduledDateTime": "2008-09-22T14:01:54.9571247Z" - } - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostManagements/default/operationResults/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostManagements/default/operationStatuses/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d", - "Retry-After": "60" - } - } - } -} diff --git a/specification/developersigning/DeveloperSigning/examples/2023-06-15-preview/CertificateProfileOperations_GetSignRootCertificate.json b/specification/developersigning/DeveloperSigning/examples/2023-06-15-preview/CertificateProfileOperations_GetSignRootCertificate.json new file mode 100644 index 000000000000..69952e1dd5ad --- /dev/null +++ b/specification/developersigning/DeveloperSigning/examples/2023-06-15-preview/CertificateProfileOperations_GetSignRootCertificate.json @@ -0,0 +1,14 @@ +{ + "operationId": "CertificateProfileOperations_GetSignRootCertificate", + "title": "Gets the codesigning root certificate on the certificate chain for that account and profile name.", + "parameters": { + "accountName": "YourAccountName", + "certificateProfile": "YourCertificateProfileName", + "api-version": "2023-06-15-preview" + }, + "responses": { + "200": { + "body": "MjUzNjlhMDQ3Yzc0YTQ3NjdiNjYzZTIzMWFlMTAxMDVkODMxM2Y5ZjNkNmU0YTVlOTQ1ZGZiMWQ5NDgzOWU0NQ==" + } + } +} diff --git a/specification/developersigning/DeveloperSigning/examples/2023-06-15-preview/CertificateProfileOperations_GetSigningStatus.json b/specification/developersigning/DeveloperSigning/examples/2023-06-15-preview/CertificateProfileOperations_GetSigningStatus.json new file mode 100644 index 000000000000..310e73519040 --- /dev/null +++ b/specification/developersigning/DeveloperSigning/examples/2023-06-15-preview/CertificateProfileOperations_GetSigningStatus.json @@ -0,0 +1,22 @@ +{ + "operationId": "CertificateProfileOperations_GetSigningStatus", + "title": "Gets the status of a codesign operation.", + "parameters": { + "accountName": "YourAccountName", + "certificateProfile": "YourCertificateProfileName", + "api-version": "2023-06-15-preview", + "operationId": "9797c668-5b3c-4586-8e0c-2768c8160bad" + }, + "responses": { + "200": { + "body": { + "id": "76f60a30-d088-42e0-b16d-b76b88d3cbe1", + "status": "Succeeded", + "result": { + "signature": "OWY4NmQwODE4ODRjN2Q2NTlhMmZlYWEwYzU1YWQwMTVhM2JmNGYxYjJiMGI4MjJjZDE1ZDZjMTViMGYwMGEwOA==", + "signingCertificate": "N2IzZDk3OWNhODMzMGE5NGZhN2U5ZTFiNDY2ZDhiOTllMGJjZGVhMWVjOTA1OTZjMGRjYzhkN2VmNmI0MzAwYw==" + } + } + } + } +} diff --git a/specification/developersigning/DeveloperSigning/examples/2023-06-15-preview/CertificateProfileOperations_ListExtendedKeyUsages.json b/specification/developersigning/DeveloperSigning/examples/2023-06-15-preview/CertificateProfileOperations_ListExtendedKeyUsages.json new file mode 100644 index 000000000000..9538df056a42 --- /dev/null +++ b/specification/developersigning/DeveloperSigning/examples/2023-06-15-preview/CertificateProfileOperations_ListExtendedKeyUsages.json @@ -0,0 +1,24 @@ +{ + "operationId": "CertificateProfileOperations_ListExtendedKeyUsages", + "title": "Gets a list of extended key usage object identifiers that are allowed.", + "parameters": { + "accountName": "YourAccountName", + "certificateProfile": "YourCertificateProfileName", + "api-version": "2023-06-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "eku": "1.3.6.1.5.5.7.3.8" + }, + { + "eku": "1.3.6.1.5.5.7.3.10" + } + ], + "nextLink": "https://localhost:5001/codesigningaccount/account/certificateprofile/profile/eku?continuationToken=&api-version=2023-06-15-preview" + } + } + } +} diff --git a/specification/developersigning/DeveloperSigning/examples/2023-06-15-preview/CertificateProfileOperations_Sign.json b/specification/developersigning/DeveloperSigning/examples/2023-06-15-preview/CertificateProfileOperations_Sign.json new file mode 100644 index 000000000000..528fd57ec211 --- /dev/null +++ b/specification/developersigning/DeveloperSigning/examples/2023-06-15-preview/CertificateProfileOperations_Sign.json @@ -0,0 +1,35 @@ +{ + "operationId": "CertificateProfileOperations_Sign", + "title": "Submit a codesign operation.", + "parameters": { + "accountName": "YourAccountName", + "certificateProfile": "YourCertificateProfileName", + "api-version": "2023-06-15-preview", + "x-correlation-id": "9797c668-5b3c-4586-8e0c-2768c8160bad", + "client-version": "serviceName@1.0.0.0", + "body": { + "signatureAlgorithm": "RS256", + "digest": "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=", + "fileHashList": [ + "Y29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0", + "c2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQ=" + ], + "authenticodeHashList": [ + "dXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWE=", + "IFV0IGVuaW0gYWQgbWluaW0gdmVuaWFt" + ] + } + }, + "responses": { + "202": { + "headers": { + "operation-location": "https://localhost:5001/codesigningaccount/account/certificateprofile/profile/sign/76f60a30-d088-42e0-b16d-b76b88d3cbe1" + }, + "body": { + "id": "76f60a30-d088-42e0-b16d-b76b88d3cbe1", + "status": "In Progress", + "result": {} + } + } + } +} diff --git a/specification/developersigning/DeveloperSigning/main.tsp b/specification/developersigning/DeveloperSigning/main.tsp new file mode 100644 index 000000000000..4e6581534ee3 --- /dev/null +++ b/specification/developersigning/DeveloperSigning/main.tsp @@ -0,0 +1,197 @@ +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using TypeSpec.Versioning; +using Azure.Core; + +@useAuth( + OAuth2Auth<[ + { + type: OAuth2FlowType.implicit, + authorizationUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", + scopes: ["https://codesigning.azure.net/.default"], + } + ]> +) +@service({ + title: "Azure Developer Signing", + summary: "Azure Developer Signing is a service that provides managed artifact signing for all.", +}) +@versioned(Azure.Developer.Signing.Versions) +@server( + "https://{region}.codesigning.azure.net/", + "Sign and retrieve relevant information pertaining signing process.", + { + @doc("The Azure region wherein requests for signing will be sent.") + region: string, + } +) +@doc("Azure Developer Signing is a service that provides managed artifact signing for all.") +namespace Azure.Developer.Signing; + +@doc("Versions info.") +enum Versions { + @doc("The 2023-06-15-preview version.") + @useDependency(Azure.Core.Versions.v1_0_Preview_2) + v2023_06_15_preview: "2023-06-15-preview", +} + +interface CertificateProfileOperations { + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is a custom operation status endpoint." + @summary("Gets the status of a signing operation.") + @doc("This status operation requires that a Sign request has been submitted and the operationId is known.") + @route("/codesigningaccounts/{accountName}/certificateprofiles/{certificateProfile}/sign") + getSigningStatus is Foundations.GetOperationStatus< + SigningOptions, + SignResult + >; + + #suppress "@azure-tools/typespec-azure-core/rpc-operation-request-body" "no body included, bytesbody is the response object." + #suppress "@azure-tools/typespec-azure-core/no-rpc-path-params" "Service needs rpc paths to follow pattern of other services." + @summary("Gets the signing root certificate on the certificate chain for that account and profile name.") + @doc("The root certificate is generated as part of the initial account creation and it is used to sign the bits for the profile provided.") + @route("/codesigningaccounts/{accountName}/certificateprofiles/{certificateProfile}/sign/rootcert") + getSignRootCertificate is RpcOperation< + SigningOptions, + BytesBody<"application/x-x509-ca-cert"> + >; + + @summary("Gets a list of extended key usage object identifiers that are allowed for this account and profile combination.") + @doc("The list of extended key usages are used to determine the purpose of the certificate usage as part of the signing operation.") + listExtendedKeyUsages is StandardResourceOperations.ResourceList; + + @summary("Submit a sign operation.") + @doc("Submit a sign operation under the created account and profile name provided.") + @pollingOperation(CertificateProfileOperations.getSigningStatus) + sign is StandardResourceOperations.LongRunningResourceAction< + CertificateProfileName, + SigningPayloadOptions, + SignResult, + Foundations.ErrorResponse, + SigningRequestHeadersTraits + >; +} + +@doc("Algorithms supported for signing.") +enum SignatureAlgorithm { + @doc("RSASSA-PKCS1-v1_5 using SHA-256 hash algorithm.") + RS256, + + @doc("RSASSA-PKCS1-v1_5 using SHA-384 hash algorithm.") + RS384, + + @doc("RSASSA-PKCS1-v1_5 using SHA-512 hash algorithm.") + RS512, + + @doc("RSASSA-PSS using SHA-256 hash algorithm.") + PS256, + + @doc("RSASSA-PSS using SHA-384 hash algorithm.") + PS384, + + @doc("RSASSA-PSS using SHA-512 hash algorithm.") + PS512, + + @doc("ECDSA using P-256 and SHA-256 hash algorithm.") + ES256, + + @doc("ECDSA using P-384 and SHA-384 hash algorithm.") + ES384, + + @doc("ECDSA using P-521 and SHA-512 hash algorithm.") + ES512, + + @doc("ECDSA using secp256k1 and SHA-256 hash algorithm.") + ES256K, +} + +@doc("Azure Developer Signing customer account created upon registration on the service.") +@resource("codesigningaccounts") +model SigningAccount { + @key("accountName") + @visibility("read", "update") + @doc("Azure Developer Signing account name.") + accountName: string; +} + +@doc("Azure Developer Signing certificate profile configured on an account.") +@resource("certificateprofiles") +@parentResource(SigningAccount) +model CertificateProfileName { + @key("certificateProfile") + @visibility("read", "update") + @doc("Azure Developer Signing certificate profile name under an account.") + certificateProfile: string; +} + +@doc("The artifact request information to be signed by the service.") +model SigningPayloadOptions { + @doc("The supported signature algorithm identifiers.") + signatureAlgorithm: SignatureAlgorithm; + + @doc("Content digest to sign.") + digest: bytes; + + @doc("List of full file digital signatures.") + fileHashList?: bytes[]; + + @doc("List of authenticode digital signatures.") + authenticodeHashList?: bytes[]; +} + +@doc("The sign status model.") +model SignResult { + @doc("Digital signature of the requested content digest.") + signature?: bytes; + + @doc(""" +Signing certificate corresponding to the private key used to sign the requested +digest. +""") + signingCertificate?: bytes; +} + +@doc("Signing option parameters corresponding to the account and certificate profile name.") +model SigningOptions { + @doc("Signing account name.") + @path + accountName: string; + + @doc("Signing Certificate profile name.") + @path + certificateProfile: string; +} + +@doc("Extended key usage object identifier that are allowable.") +@resource("sign/eku") +@parentResource(CertificateProfileName) +model ExtendedKeyUsage { + @key("eku") + @visibility("read") + @doc("An oid string that represents an eku.") + eku: string; +} + +@doc("Public root certificate from the certificate chain.") +model BytesBody { + @doc("The root certificate of the certificate chain of this profile.") + @body + body: bytes; + + @doc("The content type of the x509 cert.") + @header + contentType: ContentType; +} + +alias SigningRequestHeadersTraits = Azure.Core.Traits.RequestHeadersTrait<{ + @doc("An optional client version.") + @header + clientVersion?: string; + + @doc("An identifier used to batch multiple requests.") + @header + xCorrelationId?: string; +}>; diff --git a/specification/developersigning/DeveloperSigning/tspconfig.yaml b/specification/developersigning/DeveloperSigning/tspconfig.yaml new file mode 100644 index 000000000000..d093ab3fd5d9 --- /dev/null +++ b/specification/developersigning/DeveloperSigning/tspconfig.yaml @@ -0,0 +1,33 @@ +parameters: + "service-dir": + default: "sdk/developer-signing" +emit: + - "@azure-tools/typespec-autorest" +linter: + extends: + - "@azure-tools/typespec-azure-core/all" +options: + "@azure-tools/typespec-autorest": + azure-resource-provider-folder: "data-plane" + emitter-output-dir: "{project-root}/.." + examples-directory: "examples" + omit-unreachable-types: true + output-file: "{azure-resource-provider-folder}/Azure.Developer.Signing/{version-status}/{version}/azure.developer.signing.json" + "@azure-tools/typespec-python": + package-dir: "azure-developer-signing" + package-name: "{package-dir}" + "@azure-tools/typespec-csharp": + clear-output-folder: true + package-dir: "Azure.Developer.Signing" + model-namespace: false + namespace: "{package-dir}" + "@azure-tools/typespec-ts": + package-dir: "azure-developer-signing-rest" + generateMetadata: true + generateTest: true + packageDetails: + name: "@azure-rest/developer-signing" + description: "Azure developer signing service" + "@azure-tools/typespec-java": + package-dir: "com.azure.developer.signing" + namespace: Azure.Developer.Signing diff --git a/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/azure.developer.signing.json b/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/azure.developer.signing.json new file mode 100644 index 000000000000..167577681423 --- /dev/null +++ b/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/azure.developer.signing.json @@ -0,0 +1,631 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Developer Signing", + "version": "2023-06-15-preview", + "description": "Azure Developer Signing is a service that provides managed artifact signing for all.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "x-ms-parameterized-host": { + "hostTemplate": "https://{region}.codesigning.azure.net/", + "useSchemePrefix": false, + "parameters": [ + { + "name": "region", + "in": "path", + "description": "The Azure region wherein requests for signing will be sent.", + "required": true, + "type": "string" + } + ] + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "OAuth2Auth": [ + "https://codesigning.azure.net/.default" + ] + } + ], + "securityDefinitions": { + "OAuth2Auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", + "scopes": { + "https://codesigning.azure.net/.default": "" + } + } + }, + "tags": [], + "paths": { + "/codesigningaccounts/{accountName}/certificateprofiles/{certificateProfile}:sign": { + "post": { + "operationId": "CertificateProfileOperations_Sign", + "summary": "Submit a sign operation.", + "description": "Submit a sign operation under the created account and profile name provided.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "accountName", + "in": "path", + "description": "Azure Developer Signing account name.", + "required": true, + "type": "string" + }, + { + "name": "certificateProfile", + "in": "path", + "description": "Azure Developer Signing certificate profile name under an account.", + "required": true, + "type": "string" + }, + { + "name": "client-version", + "in": "header", + "description": "An optional client version.", + "required": false, + "type": "string", + "x-ms-client-name": "clientVersion" + }, + { + "name": "x-correlation-id", + "in": "header", + "description": "An identifier used to batch multiple requests.", + "required": false, + "type": "string", + "x-ms-client-name": "xCorrelationId" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SigningPayloadOptions" + } + } + ], + "responses": { + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "type": "object", + "description": "Provides status details for long running operations.", + "properties": { + "id": { + "type": "string", + "description": "The unique ID of the operation." + }, + "status": { + "$ref": "#/definitions/Azure.Core.Foundations.OperationState", + "description": "The status of the operation" + }, + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse", + "description": "Error object that describes the error when status is \"Failed\"." + }, + "result": { + "$ref": "#/definitions/SignResult", + "description": "The result of the operation." + } + }, + "required": [ + "id", + "status" + ] + }, + "headers": { + "Operation-Location": { + "type": "string", + "format": "uri", + "description": "The location for monitoring the operation state." + }, + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Submit a codesign operation.": { + "$ref": "./examples/CertificateProfileOperations_Sign.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/codesigningaccounts/{accountName}/certificateprofiles/{certificateProfile}/sign/{operationId}": { + "get": { + "operationId": "CertificateProfileOperations_GetSigningStatus", + "summary": "Gets the status of a signing operation.", + "description": "This status operation requires that a Sign request has been submitted and the operationId is known.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "$ref": "#/parameters/SigningOptions.accountName" + }, + { + "$ref": "#/parameters/SigningOptions.certificateProfile" + }, + { + "name": "operationId", + "in": "path", + "description": "The unique ID of the operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "type": "object", + "description": "Provides status details for long running operations.", + "properties": { + "id": { + "type": "string", + "description": "The unique ID of the operation." + }, + "status": { + "$ref": "#/definitions/Azure.Core.Foundations.OperationState", + "description": "The status of the operation" + }, + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "Error object that describes the error when status is \"Failed\"." + }, + "result": { + "$ref": "#/definitions/SignResult", + "description": "The result of the operation." + } + }, + "required": [ + "id", + "status" + ] + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets the status of a codesign operation.": { + "$ref": "./examples/CertificateProfileOperations_GetSigningStatus.json" + } + } + } + }, + "/codesigningaccounts/{accountName}/certificateprofiles/{certificateProfile}/sign/eku": { + "get": { + "operationId": "CertificateProfileOperations_ListExtendedKeyUsages", + "summary": "Gets a list of extended key usage object identifiers that are allowed for this account and profile combination.", + "description": "The list of extended key usages are used to determine the purpose of the certificate usage as part of the signing operation.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "accountName", + "in": "path", + "description": "Azure Developer Signing account name.", + "required": true, + "type": "string" + }, + { + "name": "certificateProfile", + "in": "path", + "description": "Azure Developer Signing certificate profile name under an account.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedExtendedKeyUsage" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets a list of extended key usage object identifiers that are allowed.": { + "$ref": "./examples/CertificateProfileOperations_ListExtendedKeyUsages.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/codesigningaccounts/{accountName}/certificateprofiles/{certificateProfile}/sign/rootcert": { + "get": { + "operationId": "CertificateProfileOperations_GetSignRootCertificate", + "summary": "Gets the signing root certificate on the certificate chain for that account and profile name.", + "description": "The root certificate is generated as part of the initial account creation and it is used to sign the bits for the profile provided.", + "produces": [ + "application/x-x509-ca-cert", + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "$ref": "#/parameters/SigningOptions.accountName" + }, + { + "$ref": "#/parameters/SigningOptions.certificateProfile" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "type": "file" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Gets the codesigning root certificate on the certificate chain for that account and profile name.": { + "$ref": "./examples/CertificateProfileOperations_GetSignRootCertificate.json" + } + } + } + } + }, + "definitions": { + "Azure.Core.Foundations.Error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "type": "string", + "description": "One of a server-defined set of error codes." + }, + "message": { + "type": "string", + "description": "A human-readable representation of the error." + }, + "target": { + "type": "string", + "description": "The target of the error." + }, + "details": { + "type": "array", + "description": "An array of details about specific errors that led to this reported error.", + "items": { + "$ref": "#/definitions/Azure.Core.Foundations.Error" + }, + "x-ms-identifiers": [] + }, + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "An object containing more specific information than the current object about the error." + } + }, + "required": [ + "code", + "message" + ] + }, + "Azure.Core.Foundations.ErrorResponse": { + "type": "object", + "description": "A response containing error details.", + "properties": { + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "The error object." + } + }, + "required": [ + "error" + ] + }, + "Azure.Core.Foundations.InnerError": { + "type": "object", + "description": "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.", + "properties": { + "code": { + "type": "string", + "description": "One of a server-defined set of error codes." + }, + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "Inner error." + } + } + }, + "Azure.Core.Foundations.OperationState": { + "type": "string", + "description": "Enum describing allowed operation states.", + "enum": [ + "NotStarted", + "Running", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "OperationState", + "modelAsString": true, + "values": [ + { + "name": "NotStarted", + "value": "NotStarted", + "description": "The operation has not started." + }, + { + "name": "Running", + "value": "Running", + "description": "The operation is in progress." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The operation has completed successfully." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The operation has failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "The operation has been canceled by the user." + } + ] + } + }, + "ExtendedKeyUsage": { + "type": "object", + "description": "Extended key usage object identifier that are allowable.", + "properties": { + "eku": { + "type": "string", + "description": "An oid string that represents an eku.", + "readOnly": true + } + }, + "required": [ + "eku" + ] + }, + "PagedExtendedKeyUsage": { + "type": "object", + "description": "Paged collection of ExtendedKeyUsage items", + "properties": { + "value": { + "type": "array", + "description": "The ExtendedKeyUsage items on this page", + "items": { + "$ref": "#/definitions/ExtendedKeyUsage" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "SignResult": { + "type": "object", + "description": "The sign status model.", + "properties": { + "signature": { + "type": "string", + "format": "byte", + "description": "Digital signature of the requested content digest." + }, + "signingCertificate": { + "type": "string", + "format": "byte", + "description": "Signing certificate corresponding to the private key used to sign the requested \ndigest." + } + } + }, + "SignatureAlgorithm": { + "type": "string", + "description": "Algorithms supported for signing.", + "enum": [ + "RS256", + "RS384", + "RS512", + "PS256", + "PS384", + "PS512", + "ES256", + "ES384", + "ES512", + "ES256K" + ], + "x-ms-enum": { + "name": "SignatureAlgorithm", + "modelAsString": true, + "values": [ + { + "name": "RS256", + "value": "RS256", + "description": "RSASSA-PKCS1-v1_5 using SHA-256 hash algorithm." + }, + { + "name": "RS384", + "value": "RS384", + "description": "RSASSA-PKCS1-v1_5 using SHA-384 hash algorithm." + }, + { + "name": "RS512", + "value": "RS512", + "description": "RSASSA-PKCS1-v1_5 using SHA-512 hash algorithm." + }, + { + "name": "PS256", + "value": "PS256", + "description": "RSASSA-PSS using SHA-256 hash algorithm." + }, + { + "name": "PS384", + "value": "PS384", + "description": "RSASSA-PSS using SHA-384 hash algorithm." + }, + { + "name": "PS512", + "value": "PS512", + "description": "RSASSA-PSS using SHA-512 hash algorithm." + }, + { + "name": "ES256", + "value": "ES256", + "description": "ECDSA using P-256 and SHA-256 hash algorithm." + }, + { + "name": "ES384", + "value": "ES384", + "description": "ECDSA using P-384 and SHA-384 hash algorithm." + }, + { + "name": "ES512", + "value": "ES512", + "description": "ECDSA using P-521 and SHA-512 hash algorithm." + }, + { + "name": "ES256K", + "value": "ES256K", + "description": "ECDSA using secp256k1 and SHA-256 hash algorithm." + } + ] + } + }, + "SigningPayloadOptions": { + "type": "object", + "description": "The artifact request information to be signed by the service.", + "properties": { + "signatureAlgorithm": { + "$ref": "#/definitions/SignatureAlgorithm", + "description": "The supported signature algorithm identifiers." + }, + "digest": { + "type": "string", + "format": "byte", + "description": "Content digest to sign." + }, + "fileHashList": { + "type": "array", + "description": "List of full file digital signatures.", + "items": { + "type": "string", + "format": "byte" + } + }, + "authenticodeHashList": { + "type": "array", + "description": "List of authenticode digital signatures.", + "items": { + "type": "string", + "format": "byte" + } + } + }, + "required": [ + "signatureAlgorithm", + "digest" + ] + } + }, + "parameters": { + "Azure.Core.Foundations.ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" + }, + "SigningOptions.accountName": { + "name": "accountName", + "in": "path", + "description": "Signing account name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SigningOptions.certificateProfile": { + "name": "certificateProfile", + "in": "path", + "description": "Signing Certificate profile name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/examples/CertificateProfileOperations_GetSignRootCertificate.json b/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/examples/CertificateProfileOperations_GetSignRootCertificate.json new file mode 100644 index 000000000000..69952e1dd5ad --- /dev/null +++ b/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/examples/CertificateProfileOperations_GetSignRootCertificate.json @@ -0,0 +1,14 @@ +{ + "operationId": "CertificateProfileOperations_GetSignRootCertificate", + "title": "Gets the codesigning root certificate on the certificate chain for that account and profile name.", + "parameters": { + "accountName": "YourAccountName", + "certificateProfile": "YourCertificateProfileName", + "api-version": "2023-06-15-preview" + }, + "responses": { + "200": { + "body": "MjUzNjlhMDQ3Yzc0YTQ3NjdiNjYzZTIzMWFlMTAxMDVkODMxM2Y5ZjNkNmU0YTVlOTQ1ZGZiMWQ5NDgzOWU0NQ==" + } + } +} diff --git a/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/examples/CertificateProfileOperations_GetSigningStatus.json b/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/examples/CertificateProfileOperations_GetSigningStatus.json new file mode 100644 index 000000000000..310e73519040 --- /dev/null +++ b/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/examples/CertificateProfileOperations_GetSigningStatus.json @@ -0,0 +1,22 @@ +{ + "operationId": "CertificateProfileOperations_GetSigningStatus", + "title": "Gets the status of a codesign operation.", + "parameters": { + "accountName": "YourAccountName", + "certificateProfile": "YourCertificateProfileName", + "api-version": "2023-06-15-preview", + "operationId": "9797c668-5b3c-4586-8e0c-2768c8160bad" + }, + "responses": { + "200": { + "body": { + "id": "76f60a30-d088-42e0-b16d-b76b88d3cbe1", + "status": "Succeeded", + "result": { + "signature": "OWY4NmQwODE4ODRjN2Q2NTlhMmZlYWEwYzU1YWQwMTVhM2JmNGYxYjJiMGI4MjJjZDE1ZDZjMTViMGYwMGEwOA==", + "signingCertificate": "N2IzZDk3OWNhODMzMGE5NGZhN2U5ZTFiNDY2ZDhiOTllMGJjZGVhMWVjOTA1OTZjMGRjYzhkN2VmNmI0MzAwYw==" + } + } + } + } +} diff --git a/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/examples/CertificateProfileOperations_ListExtendedKeyUsages.json b/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/examples/CertificateProfileOperations_ListExtendedKeyUsages.json new file mode 100644 index 000000000000..9538df056a42 --- /dev/null +++ b/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/examples/CertificateProfileOperations_ListExtendedKeyUsages.json @@ -0,0 +1,24 @@ +{ + "operationId": "CertificateProfileOperations_ListExtendedKeyUsages", + "title": "Gets a list of extended key usage object identifiers that are allowed.", + "parameters": { + "accountName": "YourAccountName", + "certificateProfile": "YourCertificateProfileName", + "api-version": "2023-06-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "eku": "1.3.6.1.5.5.7.3.8" + }, + { + "eku": "1.3.6.1.5.5.7.3.10" + } + ], + "nextLink": "https://localhost:5001/codesigningaccount/account/certificateprofile/profile/eku?continuationToken=&api-version=2023-06-15-preview" + } + } + } +} diff --git a/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/examples/CertificateProfileOperations_Sign.json b/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/examples/CertificateProfileOperations_Sign.json new file mode 100644 index 000000000000..528fd57ec211 --- /dev/null +++ b/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/examples/CertificateProfileOperations_Sign.json @@ -0,0 +1,35 @@ +{ + "operationId": "CertificateProfileOperations_Sign", + "title": "Submit a codesign operation.", + "parameters": { + "accountName": "YourAccountName", + "certificateProfile": "YourCertificateProfileName", + "api-version": "2023-06-15-preview", + "x-correlation-id": "9797c668-5b3c-4586-8e0c-2768c8160bad", + "client-version": "serviceName@1.0.0.0", + "body": { + "signatureAlgorithm": "RS256", + "digest": "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=", + "fileHashList": [ + "Y29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0", + "c2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQ=" + ], + "authenticodeHashList": [ + "dXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWE=", + "IFV0IGVuaW0gYWQgbWluaW0gdmVuaWFt" + ] + } + }, + "responses": { + "202": { + "headers": { + "operation-location": "https://localhost:5001/codesigningaccount/account/certificateprofile/profile/sign/76f60a30-d088-42e0-b16d-b76b88d3cbe1" + }, + "body": { + "id": "76f60a30-d088-42e0-b16d-b76b88d3cbe1", + "status": "In Progress", + "result": {} + } + } + } +} diff --git a/specification/developersigning/data-plane/readme.md b/specification/developersigning/data-plane/readme.md new file mode 100644 index 000000000000..3b101d3d2514 --- /dev/null +++ b/specification/developersigning/data-plane/readme.md @@ -0,0 +1,51 @@ +# Azure.Developer.Signing + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Azure.Developer.Signing. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the Azure.Developer.Signing. + +```yaml +openapi-type: data-plane +tag: 2023-06-15-preview +``` + +### Tag: 2023-06-15-preview + +These settings apply only when `--tag=2023-06-15-preview` is specified on the command line. + +```yaml $(tag) == '2023-06-15-preview' +input-file: + - Azure.Developer.Signing/preview/2023-06-15-preview/azure.developer.signing.json +``` + +## Suppression + + +``` yaml +directive: + - suppress: AvoidAnonymousTypes + reason: The spec is autogenerated, I have no control over how models are defined. +``` + +--- + diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/deviceupdate.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/deviceupdate.json new file mode 100644 index 000000000000..23d85e5fc01b --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/deviceupdate.json @@ -0,0 +1,4546 @@ +{ + "swagger": "2.0", + "info": { + "title": "DeviceUpdateClient", + "description": "Device Update for IoT Hub is an Azure service that enables customers to publish updates for their IoT devices to the cloud, and then deploy that update to their devices (approve updates to groups of devices managed and provisioned in IoT Hub). It leverages the proven security and reliability of the Windows Update platform, optimized for IoT devices. It works globally and knows when and how to update devices, enabling customers to focus on their business goals and let Device Update for IoT Hub handle the updates.", + "version": "2023-10-01-preview" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": true, + "parameters": [ + { + "$ref": "#/parameters/EndpointParameter" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "https://api.adu.microsoft.com/.default" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "https://api.adu.microsoft.com/.default": "Default authorization scope." + } + } + }, + "paths": { + "/deviceUpdate/{instanceId}/updates": { + "get": { + "tags": [ + "Update management" + ], + "description": "Get a list of all updates that have been imported to Device Update for IoT Hub.", + "operationId": "DeviceUpdate_ListUpdates", + "x-ms-examples": { + "DeviceUpdate_ListUpdates": { + "$ref": "./examples/DeviceUpdate_ListUpdates.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "search", + "in": "query", + "required": false, + "type": "string", + "description": "Request updates matching a free-text search expression." + }, + { + "name": "filter", + "in": "query", + "required": false, + "type": "string", + "description": "Optional to filter updates by isDeployable property." + } + ], + "responses": { + "200": { + "description": "All imported updates, or empty list if there is none.", + "schema": { + "$ref": "#/definitions/UpdateList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/UpdateFilter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/updates:import": { + "post": { + "tags": [ + "Update management" + ], + "operationId": "DeviceUpdate_ImportUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeviceUpdate_ImportUpdate": { + "$ref": "./examples/DeviceUpdate_ImportUpdate.json" + } + }, + "description": "Import new update version. This is a long-running-operation; use Operation-Location response header value to check for operation status.", + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "updateToImport", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ImportUpdateInput" + }, + "description": "The update to be imported (see schema https://json.schemastore.org/azure-deviceupdate-import-manifest-5.0.json for details)." + } + ], + "responses": { + "202": { + "description": "Accepted update import request; background operation location to track status is specified in Operation-Location response header.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "Url to retrieve the import operation status." + } + } + }, + "200": { + "description": "The requested update version.", + "schema": { + "$ref": "#/definitions/Update" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/updates/providers/{provider}/names/{name}/versions/{version}": { + "get": { + "tags": [ + "Update management" + ], + "description": "Get a specific update version.", + "operationId": "DeviceUpdate_GetUpdate", + "x-ms-examples": { + "DeviceUpdate_GetUpdate": { + "$ref": "./examples/DeviceUpdate_GetUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/UpdateProviderParameter" + }, + { + "$ref": "#/parameters/UpdateNameParameter" + }, + { + "$ref": "#/parameters/UpdateVersionParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + } + ], + "responses": { + "200": { + "description": "The requested update version.", + "schema": { + "$ref": "#/definitions/Update" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Update management" + ], + "description": "Delete a specific update version. This is a long-running-operation; use Operation-Location response header value to check for operation status.", + "operationId": "DeviceUpdate_DeleteUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeviceUpdate_DeleteUpdate": { + "$ref": "./examples/DeviceUpdate_DeleteUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/UpdateProviderParameter" + }, + { + "$ref": "#/parameters/UpdateNameParameter" + }, + { + "$ref": "#/parameters/UpdateVersionParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted update deletion request; background operation location to track status is specified in Operation-Location response header.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "Url to retrieve the operation status" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/updates/providers": { + "get": { + "tags": [ + "Update management" + ], + "description": "Get a list of all update providers that have been imported to Device Update for IoT Hub.", + "operationId": "DeviceUpdate_ListProviders", + "x-ms-examples": { + "DeviceUpdate_ListProviders": { + "$ref": "./examples/DeviceUpdate_ListProviders.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "All imported update providers, or empty list if there is none.", + "schema": { + "$ref": "#/definitions/StringsList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/updates/providers/{provider}/names": { + "get": { + "tags": [ + "Update management" + ], + "description": "Get a list of all update names that match the specified provider.", + "operationId": "DeviceUpdate_ListNames", + "x-ms-examples": { + "DeviceUpdate_ListNames": { + "$ref": "./examples/DeviceUpdate_ListNames.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/UpdateProviderParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "All update names that match the specified provider, or empty list if there is none.", + "schema": { + "$ref": "#/definitions/StringsList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/updates/providers/{provider}/names/{name}/versions": { + "get": { + "tags": [ + "Update management" + ], + "description": "Get a list of all update versions that match the specified provider and name.", + "operationId": "DeviceUpdate_ListVersions", + "x-ms-examples": { + "DeviceUpdate_ListVersions": { + "$ref": "./examples/DeviceUpdate_ListVersions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/UpdateProviderParameter" + }, + { + "$ref": "#/parameters/UpdateNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "filter", + "in": "query", + "required": false, + "type": "string", + "description": "Optional to filter updates by isDeployable property." + } + ], + "responses": { + "200": { + "description": "All update versions that match the specified provider and name, or empty list if there is none.", + "schema": { + "$ref": "#/definitions/StringsList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/UpdateFilter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/updates/providers/{provider}/names/{name}/versions/{version}/files": { + "get": { + "tags": [ + "Update management" + ], + "description": "Get a list of all update file identifiers for the specified version.", + "operationId": "DeviceUpdate_ListFiles", + "x-ms-examples": { + "DeviceUpdate_ListFiles": { + "$ref": "./examples/DeviceUpdate_ListFiles.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/UpdateProviderParameter" + }, + { + "$ref": "#/parameters/UpdateNameParameter" + }, + { + "$ref": "#/parameters/UpdateVersionParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "All update file identifiers for the specified version.", + "schema": { + "$ref": "#/definitions/StringsList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/updates/providers/{provider}/names/{name}/versions/{version}/files/{fileId}": { + "get": { + "tags": [ + "Update management" + ], + "description": "Get a specific update file from the version.", + "operationId": "DeviceUpdate_GetFile", + "x-ms-examples": { + "DeviceUpdate_GetFile": { + "$ref": "./examples/DeviceUpdate_GetFile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/UpdateProviderParameter" + }, + { + "$ref": "#/parameters/UpdateNameParameter" + }, + { + "$ref": "#/parameters/UpdateVersionParameter" + }, + { + "$ref": "#/parameters/FileIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + } + ], + "responses": { + "200": { + "description": "The requested file entity.", + "schema": { + "$ref": "#/definitions/UpdateFile" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/updates/operations": { + "get": { + "tags": [ + "Update management" + ], + "operationId": "DeviceUpdate_ListOperationStatuses", + "description": "Get a list of all import update operations. Completed operations are kept for 7 days before auto-deleted. Delete operations are not returned by this API version.", + "x-ms-examples": { + "DeviceUpdate_ListOperationStatuses": { + "$ref": "./examples/DeviceUpdate_ListOperationStatuses.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "name": "filter", + "in": "query", + "required": false, + "type": "string", + "description": "Optional to filter operations by status property. Only one specific filter is supported: \"status eq 'NotStarted' or status eq 'Running'\"" + }, + { + "name": "top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation details.", + "schema": { + "$ref": "#/definitions/UpdateOperationsList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/OperationFilter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/updates/operations/{operationId}": { + "get": { + "tags": [ + "Update management" + ], + "operationId": "DeviceUpdate_GetOperationStatus", + "description": "Retrieve operation status.", + "x-ms-examples": { + "DeviceUpdate_GetOperationStatus": { + "$ref": "./examples/DeviceUpdate_GetOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + } + ], + "responses": { + "200": { + "description": "Operation status.", + "headers": { + "Retry-After": { + "type": "string", + "description": "Number of seconds to wait before checking the operation status again." + } + }, + "schema": { + "$ref": "#/definitions/UpdateOperation" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/deviceClasses": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets a list of all device classes (sets of devices compatible with the same updates based on the model Id and compat properties reported in the Device Update PnP interface in IoT Hub) for all devices connected to Device Update for IoT Hub.", + "operationId": "DeviceManagement_ListDeviceClasses", + "x-ms-examples": { + "DeviceManagement_ListDeviceClasses": { + "$ref": "./examples/DeviceManagement_ListDeviceClasses.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of device classes returned. You can filter on friendly name." + } + ], + "responses": { + "200": { + "description": "All device classes.", + "schema": { + "$ref": "#/definitions/DeviceClassesList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/DeviceClassFilter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/management/deviceClasses/{deviceClassId}": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets the properties of a device class.", + "operationId": "DeviceManagement_GetDeviceClass", + "x-ms-examples": { + "DeviceManagement_GetDeviceClass": { + "$ref": "./examples/DeviceManagement_GetDeviceClass.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device class properties.", + "schema": { + "$ref": "#/definitions/DeviceClass" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Device and deployment management" + ], + "description": "Update device class details.", + "operationId": "DeviceManagement_UpdateDeviceClass", + "consumes": [ + "application/merge-patch+json" + ], + "x-ms-examples": { + "DeviceManagement_UpdateDeviceClass": { + "$ref": "./examples/DeviceManagement_UpdateDeviceClass.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "deviceClassPatch", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PatchBody" + }, + "description": "The device class json merge patch body. Currently only supports patching friendlyName." + } + ], + "responses": { + "200": { + "description": "The updated device class subgroup details.", + "schema": { + "$ref": "#/definitions/DeviceClass" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Device and deployment management" + ], + "description": "Deletes a device class. Device classes are created automatically when Device Update-enabled devices are connected to the hub but are not automatically cleaned up since they are referenced by DeviceClassSubgroups. If the user has deleted all DeviceClassSubgroups for a device class they can also delete the device class to remove the records from the system and to stop checking the compatibility of this device class with new updates. If a device is ever reconnected for this device class it will be re-created.", + "operationId": "DeviceManagement_DeleteDeviceClass", + "x-ms-examples": { + "DeviceManagement_DeleteDeviceClass": { + "$ref": "./examples/DeviceManagement_DeleteDeviceClass.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content." + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/deviceClasses/{deviceClassId}/installableUpdates": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets a list of installable updates for a device class.", + "operationId": "DeviceManagement_ListInstallableUpdatesForDeviceClass", + "x-ms-examples": { + "DeviceManagement_ListInstallableUpdatesForDeviceClass": { + "$ref": "./examples/DeviceManagement_ListInstallableUpdatesForDeviceClass.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The installable update information for the device class. Returns empty list in case of no installable updates", + "schema": { + "$ref": "#/definitions/UpdateInfoList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/management/devices": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets a list of devices connected to Device Update for IoT Hub.", + "operationId": "DeviceManagement_ListDevices", + "x-ms-examples": { + "DeviceManagement_ListDevices": { + "$ref": "./examples/DeviceManagement_ListDevices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "name": "filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of devices returned. You can filter on GroupId, DeviceClassId, or GroupId and DeploymentStatus. Use DeploymentStatus eq null to query for devices with no deployment status (that have never been deployed to)." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "All devices connected to Device Update for IoT Hub.", + "schema": { + "$ref": "#/definitions/DevicesList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/DeviceFilter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/management/devices:import": { + "post": { + "tags": [ + "Device and deployment management" + ], + "operationId": "DeviceManagement_ImportDevices", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeviceManagement_ImportDevices": { + "$ref": "./examples/DeviceManagement_ImportDevices.json" + } + }, + "description": "Import existing devices from IoT Hub. This is a long-running-operation; use Operation-Location response header value to check for operation status.", + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "importType", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ImportType" + }, + "description": "The types of devices to import." + } + ], + "responses": { + "202": { + "description": "Accepted device import request; background operation location to track status is specified in Operation-Location response header.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "Url to retrieve the device import operation status." + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/devices/{deviceId}": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets the device properties and latest deployment status for a device connected to Device Update for IoT Hub.", + "operationId": "DeviceManagement_GetDevice", + "x-ms-examples": { + "DeviceManagement_GetDevice": { + "$ref": "./examples/DeviceManagement_GetDevice.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/DeviceIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device properties and latest deployment status.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/devices/{deviceId}/modules/{moduleId}": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets the device module properties and latest deployment status for a device module connected to Device Update for IoT Hub.", + "operationId": "DeviceManagement_GetDeviceModule", + "x-ms-examples": { + "DeviceManagement_GetDevice": { + "$ref": "./examples/DeviceManagement_GetDeviceModule.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/DeviceIdParameter" + }, + { + "$ref": "#/parameters/ModuleIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device properties and latest deployment status.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/updateCompliance": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets the breakdown of how many devices are on their latest update, have new updates available, or are in progress receiving new updates.", + "operationId": "DeviceManagement_GetUpdateCompliance", + "x-ms-examples": { + "DeviceManagement_GetUpdateCompliance": { + "$ref": "./examples/DeviceManagement_GetUpdateCompliance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The count of devices that have the latest update, have updates available, or are in progress receiving new updates.", + "schema": { + "$ref": "#/definitions/UpdateCompliance" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/limits": { + "get": { + "tags": [ + "Instance management" + ], + "description": "Gets the instance limits for active deployments, devices, device classes, and groups.", + "operationId": "InstanceManagement_GetLimits", + "x-ms-examples": { + "InstanceManagement_GetLimits": { + "$ref": "./examples/InstanceManagement_GetLimits.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The instance limits for active deployments, devices, device classes, and groups.", + "schema": { + "$ref": "#/definitions/LimitsResponse" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/groups": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets a list of all device groups. The $default group will always be returned first.", + "operationId": "DeviceManagement_ListGroups", + "x-ms-examples": { + "DeviceManagement_ListGroups": { + "$ref": "./examples/DeviceManagement_ListGroups.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "name": "orderby", + "in": "query", + "required": false, + "type": "string", + "x-ms-client-name": "orderBy", + "description": "Orders the set of groups returned. You can order by groupId, deviceCount, createdDate, subgroupsWithNewUpdatesAvailableCount, subgroupsWithUpdatesInProgressCount, or subgroupsOnLatestUpdateCount." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device groups.", + "schema": { + "$ref": "#/definitions/GroupsList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/GroupOrderBy", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets the device group properties.", + "operationId": "DeviceManagement_GetGroup", + "x-ms-examples": { + "DeviceManagement_GetGroup": { + "$ref": "./examples/DeviceManagement_GetGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device group properties.", + "schema": { + "$ref": "#/definitions/Group" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Device and deployment management" + ], + "description": "Deletes a device group. This group is automatically created when a Device Update-enabled device is connected to the hub and reports its properties. Groups, subgroups, and deployments are not automatically cleaned up but are retained for history purposes. Users can call this method to delete a group if they do not need to retain any of the history of the group and no longer need it. If a device is ever connected again for this group after the group was deleted it will be automatically re-created but there will be no history.", + "operationId": "DeviceManagement_DeleteGroup", + "x-ms-examples": { + "DeviceManagement_DeleteGroup": { + "$ref": "./examples/DeviceManagement_DeleteGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content." + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/updateCompliance": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Get device group update compliance information such as how many devices are on their latest update, how many need new updates, and how many are in progress on receiving a new update.", + "operationId": "DeviceManagement_GetUpdateComplianceForGroup", + "x-ms-examples": { + "DeviceManagement_GetUpdateComplianceForGroup": { + "$ref": "./examples/DeviceManagement_GetUpdateComplianceForGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device group update compliance information.", + "schema": { + "$ref": "#/definitions/UpdateCompliance" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/bestUpdates": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Get the best available updates for a device group and a count of how many devices need each update.", + "operationId": "DeviceManagement_ListBestUpdatesForGroup", + "x-ms-examples": { + "DeviceManagement_ListBestUpdatesForGroup": { + "$ref": "./examples/DeviceManagement_ListBestUpdatesForGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The best available updates for a device group, the device class subgroup, and a count of how many devices need each update.", + "schema": { + "$ref": "#/definitions/DeviceClassSubgroupUpdatableDevicesList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deployments": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets a list of deployments for a device group.", + "operationId": "DeviceManagement_ListDeploymentsForGroup", + "x-ms-examples": { + "DeviceManagement_ListDeploymentsForGroup": { + "$ref": "./examples/DeviceManagement_ListDeploymentsForGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "orderby", + "in": "query", + "required": false, + "type": "string", + "x-ms-client-name": "orderBy", + "description": "Orders the set of deployments returned. You can order by start date." + } + ], + "responses": { + "200": { + "description": "All deployments for the group.", + "schema": { + "$ref": "#/definitions/DeploymentsList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/DeploymentOrderBy", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deployments/{deploymentId}": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets the deployment properties.", + "operationId": "DeviceManagement_GetDeployment", + "x-ms-examples": { + "DeviceManagement_GetDeployment": { + "$ref": "./examples/DeviceManagement_GetDeployment.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deployment properties.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Device and deployment management" + ], + "description": "Creates or updates a deployment.", + "operationId": "DeviceManagement_CreateOrUpdateDeployment", + "x-ms-examples": { + "DeviceManagement_CreateOrUpdateDeployment": { + "$ref": "./examples/DeviceManagement_CreateOrUpdateDeployment.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "deployment", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "The deployment properties." + } + ], + "responses": { + "200": { + "description": "The deployment properties.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Deployment management" + ], + "description": "Deletes a deployment.", + "operationId": "DeviceManagement_DeleteDeployment", + "x-ms-examples": { + "DeviceManagement_DeleteDeployment": { + "$ref": "./examples/DeviceManagement_DeleteDeployment.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content." + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deployments/{deploymentId}/status": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets the status of a deployment including a breakdown of how many devices in the deployment are in progress, completed, or failed.", + "operationId": "DeviceManagement_GetDeploymentStatus", + "x-ms-examples": { + "DeviceManagement_GetDeploymentStatus": { + "$ref": "./examples/DeviceManagement_GetDeploymentStatus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The status of the deployment.", + "schema": { + "$ref": "#/definitions/DeploymentStatus" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deviceClassSubgroups": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Get the device class subgroups for the group. A device class subgroup is the set of devices within the group that share the same device class. All devices within the same device class are compatible with the same updates.", + "operationId": "DeviceManagement_ListDeviceClassSubgroupsForGroup", + "x-ms-examples": { + "DeviceManagement_ListDeviceClassSubgroupsForGroup": { + "$ref": "./examples/DeviceManagement_ListDeviceClassSubgroupsForGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "name": "filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of device class subgroups returned. You can filter on compat properties by name and value. (i.e. filter=compatProperties/propertyName1 eq 'value1' and compatProperties/propertyName2 eq 'value2')" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device class subgroup details.", + "schema": { + "$ref": "#/definitions/DeviceClassSubgroupsList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/DeviceClassSubgroupFilter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deviceClassSubgroups/{deviceClassId}": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets device class subgroup details. A device class subgroup is the set of devices within the group that share the same device class. All devices within the same device class are compatible with the same updates.", + "operationId": "DeviceManagement_GetDeviceClassSubgroup", + "x-ms-examples": { + "DeviceManagement_GetGroupUpdateCompliance": { + "$ref": "./examples/DeviceManagement_GetDeviceClassSubgroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device class subgroup details.", + "schema": { + "$ref": "#/definitions/DeviceClassSubgroup" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Device and deployment management" + ], + "description": "Deletes a device class subgroup. This subgroup is automatically created when a Device Update-enabled device is connected to the hub and reports its properties. Groups, subgroups, and deployments are not automatically cleaned up but are retained for history purposes. Users can call this method to delete a subgroup if they do not need to retain any of the history of the subgroup and no longer need it. If a device is ever connected again for this subgroup after the subgroup was deleted it will be automatically re-created but there will be no history.", + "operationId": "DeviceManagement_DeleteDeviceClassSubgroup", + "x-ms-examples": { + "DeviceManagement_DeleteDeviceClassSubgroup": { + "$ref": "./examples/DeviceManagement_DeleteDeviceClassSubgroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content." + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deviceClassSubgroups/{deviceClassId}/updateCompliance": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Get device class subgroup update compliance information such as how many devices are on their latest update, how many need new updates, and how many are in progress on receiving a new update.", + "operationId": "DeviceManagement_GetDeviceClassSubgroupUpdateCompliance", + "x-ms-examples": { + "DeviceManagement_GetDeviceClassSubgroupUpdateCompliance": { + "$ref": "./examples/DeviceManagement_GetDeviceClassSubgroupUpdateCompliance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device class subgroup update compliance information.", + "schema": { + "$ref": "#/definitions/UpdateCompliance" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deviceClassSubgroups/{deviceClassId}/bestUpdates": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Get the best available update for a device class subgroup and a count of how many devices need this update.", + "operationId": "DeviceManagement_GetBestUpdatesForDeviceClassSubgroup", + "x-ms-examples": { + "DeviceManagement_ListBestUpdatesForDeviceClassSubgroup": { + "$ref": "./examples/DeviceManagement_GetBestUpdatesForDeviceClassSubgroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The best available update for a device class subgroup and a count of how many devices need this update.", + "schema": { + "$ref": "#/definitions/DeviceClassSubgroupUpdatableDevices" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deviceClassSubgroups/{deviceClassId}/deployments": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets a list of deployments for a device class subgroup.", + "operationId": "DeviceManagement_ListDeploymentsForDeviceClassSubgroup", + "x-ms-examples": { + "DeviceManagement_ListDeploymentsForDeviceClassSubgroup": { + "$ref": "./examples/DeviceManagement_ListDeploymentsForDeviceClassSubgroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "orderby", + "in": "query", + "required": false, + "type": "string", + "x-ms-client-name": "orderBy", + "description": "Orders the set of deployments returned. You can order by start date." + } + ], + "responses": { + "200": { + "description": "All deployments for the device class subgroup.", + "schema": { + "$ref": "#/definitions/DeploymentsList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/DeploymentOrderBy", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deviceClassSubgroups/{deviceClassId}/deployments/{deploymentId}": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets the deployment properties.", + "operationId": "DeviceManagement_GetDeploymentForDeviceClassSubgroup", + "x-ms-examples": { + "DeviceManagement_GetDeploymentForDeviceClassSubgroup": { + "$ref": "./examples/DeviceManagement_GetDeploymentForDeviceClassSubgroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/DeploymentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deployment properties.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Deployment management" + ], + "description": "Deletes a device class subgroup deployment.", + "operationId": "DeviceManagement_DeleteDeploymentForDeviceClassSubgroup", + "x-ms-examples": { + "DeviceManagement_DeleteDeploymentForDeviceClassSubgroup": { + "$ref": "./examples/DeviceManagement_DeleteDeploymentForDeviceClassSubgroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/DeploymentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content." + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deviceClassSubgroups/{deviceClassId}/deployments/{deploymentId}:cancel": { + "post": { + "tags": [ + "Device and deployment management" + ], + "description": "Stops a deployment.", + "operationId": "DeviceManagement_StopDeployment", + "x-ms-examples": { + "DeviceManagement_CancelOrRetryDeployment": { + "$ref": "./examples/DeviceManagement_StopDeployment.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/DeploymentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deployment properties.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deviceClassSubgroups/{deviceClassId}/deployments/{deploymentId}:retry": { + "post": { + "tags": [ + "Device and deployment management" + ], + "description": "Retries a deployment with failed devices.", + "operationId": "DeviceManagement_RetryDeployment", + "x-ms-examples": { + "DeviceManagement_CancelOrRetryDeployment": { + "$ref": "./examples/DeviceManagement_RetryDeployment.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/DeploymentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deployment properties.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deviceClassSubgroups/{deviceClassId}/deployments/{deploymentId}/status": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets the status of a deployment including a breakdown of how many devices in the deployment are in progress, completed, or failed.", + "operationId": "DeviceManagement_GetDeviceClassSubgroupDeploymentStatus", + "x-ms-examples": { + "DeviceManagement_GetDeviceClassSubgroupDeploymentStatus": { + "$ref": "./examples/DeviceManagement_GetDeviceClassSubgroupDeploymentStatus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/DeploymentIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The status of the device class subgroup deployment.", + "schema": { + "$ref": "#/definitions/DeviceClassSubgroupDeploymentStatus" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/groups/{groupId}/deviceClassSubgroups/{deviceClassId}/deployments/{deploymentId}/devicestates": { + "get": { + "tags": [ + "Device and deployment management" + ], + "description": "Gets a list of devices in a deployment along with their state. Useful for getting a list of failed devices.", + "operationId": "DeviceManagement_ListDeviceStatesForDeviceClassSubgroupDeployment", + "x-ms-examples": { + "DeviceManagement_ListDeviceStatesForDeviceClassSubgroupDeployment": { + "$ref": "./examples/DeviceManagement_ListDeviceStatesForDeviceClassSubgroupDeployment.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeviceClassIdParameter" + }, + { + "$ref": "#/parameters/DeploymentIdParameter" + }, + { + "name": "filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of deployment device states returned. You can filter on deviceId and moduleId and/or deviceState." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The devices in the deployment along with their states.", + "schema": { + "$ref": "#/definitions/DeploymentDeviceStatesList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/DeploymentDeviceStatesFilter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/management/operations/{operationId}": { + "get": { + "tags": [ + "Device and deployment management" + ], + "operationId": "DeviceManagement_GetOperationStatus", + "description": "Retrieve operation status.", + "x-ms-examples": { + "DeviceManagement_GetOperationStatus": { + "$ref": "./examples/DeviceManagement_GetOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + } + ], + "responses": { + "200": { + "description": "Operation status.", + "headers": { + "Retry-After": { + "type": "string", + "description": "Number of seconds to wait before checking the operation status again." + } + }, + "schema": { + "$ref": "#/definitions/DeviceOperation" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/operations": { + "get": { + "tags": [ + "Device and deployment management" + ], + "operationId": "DeviceManagement_ListOperationStatuses", + "description": "Get a list of all device import operations. Completed operations are kept for 7 days before auto-deleted.", + "x-ms-examples": { + "DeviceManagement_ListOperationStatuses": { + "$ref": "./examples/DeviceManagement_ListOperationStatuses.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "name": "filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of operations returned. Only one specific filter is supported: \"status eq 'NotStarted' or status eq 'Running'\"" + }, + { + "name": "top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation details.", + "schema": { + "$ref": "#/definitions/DeviceOperationsList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/OperationFilter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/management/deviceDiagnostics/logCollections/{operationId}": { + "put": { + "tags": [ + "Device and deployment management" + ], + "operationId": "DeviceManagement_StartLogCollection", + "description": "Start the device diagnostics log collection on specified devices.", + "x-ms-examples": { + "DeviceManagement_StartLogCollection": { + "$ref": "./examples/DeviceManagement_StartLogCollection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/LogCollectionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "logCollection", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LogCollection" + }, + "description": "The log collection properties." + } + ], + "responses": { + "201": { + "description": "Log collection created.", + "schema": { + "$ref": "#/definitions/LogCollection" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Device and deployment management" + ], + "operationId": "DeviceManagement_GetLogCollection", + "description": "Get the device diagnostics log collection", + "x-ms-examples": { + "DeviceManagement_GetLogCollection": { + "$ref": "./examples/DeviceManagement_GetLogCollection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/LogCollectionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation resource", + "schema": { + "$ref": "#/definitions/LogCollection" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/deviceDiagnostics/logCollections": { + "get": { + "tags": [ + "Device and deployment management" + ], + "operationId": "DeviceManagement_ListLogCollections", + "description": "Get all device diagnostics log collections", + "x-ms-examples": { + "DeviceManagement_ListLogCollections": { + "$ref": "./examples/DeviceManagement_ListLogCollections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of all log collections", + "schema": { + "$ref": "#/definitions/LogCollectionList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/deviceUpdate/{instanceId}/management/deviceDiagnostics/logCollections/{operationId}/detailedStatus": { + "get": { + "tags": [ + "Device and deployment management" + ], + "operationId": "DeviceManagement_GetLogCollectionDetailedStatus", + "description": "Get log collection with detailed status", + "x-ms-examples": { + "DeviceManagement_GetLogCollectionDetailedStatus": { + "$ref": "./examples/DeviceManagement_GetLogCollectionDetailedStatus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/LogCollectionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Device diagnostics operation with detailed status", + "schema": { + "$ref": "#/definitions/LogCollectionOperationDetailedStatus" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/deviceUpdate/{instanceId}/management/deviceDiagnostics/deviceHealth": { + "get": { + "tags": [ + "Device and deployment management" + ], + "operationId": "DeviceManagement_ListHealthOfDevices", + "description": "Get list of device health", + "x-ms-examples": { + "DeviceManagement_ListHealthOfDevices": { + "$ref": "./examples/DeviceManagement_ListHealthOfDevices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/InstanceIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "filter", + "in": "query", + "required": true, + "type": "string", + "description": "Restricts the set of devices for which device health is returned. You can filter on status, device id and module id." + } + ], + "responses": { + "200": { + "description": "Agent check response list", + "schema": { + "$ref": "#/definitions/DeviceHealthList" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/DeviceHealthFilter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ArrayOfStrings": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of strings." + }, + "StringsList": { + "description": "The list of strings with server paging support.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "ImportUpdateInput": { + "type": "array", + "items": { + "$ref": "#/definitions/ImportUpdateInputItem" + }, + "minItems": 1, + "maxItems": 11, + "description": "Import update input metadata." + }, + "ImportUpdateInputItem": { + "type": "object", + "properties": { + "importManifest": { + "$ref": "#/definitions/ImportManifestMetadata", + "description": "Import manifest metadata like source URL, file size/hashes, etc." + }, + "friendlyName": { + "type": "string", + "minLength": 1, + "maxLength": 512, + "description": "Friendly update name." + }, + "files": { + "type": "array", + "items": { + "$ref": "#/definitions/FileImportMetadata" + }, + "minItems": 1, + "maxItems": 5, + "description": "One or more update file properties like filename and source URL." + } + }, + "required": [ + "importManifest" + ], + "description": "Import update input item metadata." + }, + "ImportManifestMetadata": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "Azure Blob location from which the import manifest can be downloaded by Device Update for IoT Hub. This is typically a read-only SAS-protected blob URL with an expiration set to at least 4 hours." + }, + "sizeInBytes": { + "type": "integer", + "description": "File size in number of bytes.", + "format": "int64" + }, + "hashes": { + "type": "object", + "additionalProperties": { + "type": "string", + "minItems": 1 + }, + "description": "A JSON object containing the hash(es) of the file. At least SHA256 hash is required. This object can be thought of as a set of key-value pairs where the key is the hash algorithm, and the value is the hash of the file calculated using that algorithm." + } + }, + "required": [ + "url", + "sizeInBytes", + "hashes" + ], + "description": "Metadata describing the import manifest, a document which describes the files and other metadata about an update version." + }, + "FileImportMetadata": { + "type": "object", + "properties": { + "filename": { + "type": "string", + "description": "Update file name as specified inside import manifest." + }, + "url": { + "type": "string", + "description": "Azure Blob location from which the update file can be downloaded by Device Update for IoT Hub. This is typically a read-only SAS-protected blob URL with an expiration set to at least 4 hours." + } + }, + "required": [ + "filename", + "url" + ], + "description": "Metadata describing an update file." + }, + "Update": { + "type": "object", + "properties": { + "updateId": { + "$ref": "#/definitions/UpdateId", + "description": "Update identity." + }, + "description": { + "type": "string", + "description": "Update description specified by creator.", + "minLength": 1, + "maxLength": 512 + }, + "friendlyName": { + "type": "string", + "description": "Friendly update name specified by importer.", + "minLength": 1, + "maxLength": 512 + }, + "isDeployable": { + "type": "boolean", + "description": "Whether the update can be deployed to a device on its own.", + "default": true + }, + "updateType": { + "type": "string", + "description": "Update type. Deprecated in latest import manifest schema." + }, + "installedCriteria": { + "type": "string", + "description": "String interpreted by Device Update client to determine if the update is installed on the device. Deprecated in latest import manifest schema." + }, + "compatibility": { + "type": "array", + "items": { + "$ref": "#/definitions/Compatibility" + }, + "minItems": 1, + "maxItems": 10, + "description": "List of update compatibility information." + }, + "instructions": { + "$ref": "#/definitions/Instructions", + "description": "Update install instructions." + }, + "referencedBy": { + "type": "array", + "items": { + "$ref": "#/definitions/UpdateId" + }, + "minItems": 1, + "description": "List of update identities that reference this update." + }, + "scanResult": { + "type": "string", + "description": "Update aggregate scan result (calculated from payload file scan results)." + }, + "manifestVersion": { + "type": "string", + "description": "Schema version of manifest used to import the update." + }, + "importedDateTime": { + "type": "string", + "description": "Date and time in UTC when the update was imported.", + "format": "date-time" + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "Date and time in UTC when the update was created." + }, + "etag": { + "type": "string", + "description": "Update ETag." + } + }, + "required": [ + "updateId", + "compatibility", + "manifestVersion", + "importedDateTime", + "createdDateTime" + ], + "description": "Update metadata." + }, + "UpdateList": { + "description": "The list of updates.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/Update" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "UpdateId": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "Update provider." + }, + "name": { + "type": "string", + "description": "Update name." + }, + "version": { + "type": "string", + "description": "Update version." + } + }, + "required": [ + "provider", + "name", + "version" + ], + "description": "Update identifier." + }, + "UpdateInfo": { + "type": "object", + "properties": { + "updateId": { + "$ref": "#/definitions/UpdateId", + "description": "Update identifier." + }, + "description": { + "type": "string", + "description": "Update description.", + "readOnly": true + }, + "friendlyName": { + "type": "string", + "description": "Friendly update name.", + "readOnly": true + } + }, + "required": [ + "updateId" + ], + "description": "Update information." + }, + "UpdateInfoList": { + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/UpdateInfo" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ], + "description": "List of update information." + }, + "Compatibility": { + "type": "object", + "additionalProperties": { + "type": "string", + "minItems": 1, + "maxItems": 5 + }, + "description": "Key-value pairs representing update compatibility information." + }, + "Instructions": { + "type": "object", + "properties": { + "steps": { + "description": "Collection of installation steps.", + "type": "array", + "items": { + "$ref": "#/definitions/Step" + }, + "minItems": 1, + "maxItems": 10 + } + }, + "required": [ + "steps" + ] + }, + "Step": { + "description": "Update install instruction step.", + "type": "object", + "properties": { + "type": { + "description": "Step type.", + "type": "string", + "enum": [ + "inline", + "reference" + ], + "default": "inline", + "x-ms-enum": { + "name": "StepType", + "modelAsString": true, + "values": [ + { + "value": "Inline", + "name": "Inline", + "description": "Step type that performs code execution." + }, + { + "value": "Reference", + "name": "Reference", + "description": "Step type that installs another update." + } + ] + } + }, + "description": { + "description": "Step description.", + "type": "string", + "minLength": 1, + "maxLength": 64 + }, + "handler": { + "description": "Identity of handler that will execute this step. Required if step type is inline.", + "type": "string", + "minLength": 1, + "maxLength": 32 + }, + "handlerProperties": { + "description": "Parameters to be passed to handler during execution.", + "type": "object" + }, + "files": { + "description": "Collection of file names to be passed to handler during execution. Required if step type is inline.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1, + "maxItems": 5 + }, + "updateId": { + "description": "Referenced child update identity. Required if step type is reference.", + "$ref": "#/definitions/UpdateId" + } + }, + "minProperties": 2 + }, + "UpdateFileBase": { + "type": "object", + "properties": { + "fileName": { + "type": "string", + "description": "File name." + }, + "sizeInBytes": { + "type": "integer", + "description": "File size in number of bytes.", + "format": "int64" + }, + "hashes": { + "type": "object", + "additionalProperties": { + "type": "string", + "minItems": 1 + }, + "description": "Mapping of hashing algorithm to base64 encoded hash values." + }, + "mimeType": { + "type": "string", + "description": "File MIME type." + }, + "scanResult": { + "type": "string", + "description": "Anti-malware scan result." + }, + "scanDetails": { + "type": "string", + "description": "Anti-malware scan details." + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "string", + "minItems": 0 + }, + "description": "Optional file properties (not consumed by service but pass-through to device)." + } + }, + "required": [ + "fileName", + "sizeInBytes", + "hashes" + ], + "description": "Update file basic metadata." + }, + "UpdateFile": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateFileBase" + } + ], + "properties": { + "fileId": { + "type": "string", + "description": "File identity, generated by server at import time." + }, + "relatedFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/UpdateFileBase" + }, + "description": "Optional related files metadata used together DownloadHandler metadata to download payload file." + }, + "downloadHandler": { + "$ref": "#/definitions/UpdateFileDownloadHandler", + "description": "Optional download handler for utilizing related files to download payload file." + }, + "etag": { + "type": "string", + "description": "File ETag." + } + }, + "required": [ + "fileId" + ], + "description": "Update file metadata." + }, + "UpdateFileDownloadHandler": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Download handler identifier." + } + }, + "required": [ + "id" + ], + "description": "Download handler for utilizing related files to download payload file." + }, + "UpdateOperation": { + "type": "object", + "properties": { + "operationId": { + "type": "string", + "description": "Operation Id." + }, + "status": { + "$ref": "#/definitions/OperationStatus", + "description": "Operation status." + }, + "update": { + "$ref": "#/definitions/UpdateInfo", + "description": "The update being imported or deleted. For import, this property will only be populated after import manifest is processed successfully." + }, + "resourceLocation": { + "type": "string", + "description": "Location of the imported update when operation is successful." + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Operation error encountered, if any." + }, + "traceId": { + "type": "string", + "description": "Operation correlation identity that can used by Microsoft Support for troubleshooting." + }, + "lastActionDateTime": { + "type": "string", + "format": "date-time", + "description": "Date and time in UTC when the operation status was last updated." + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "Date and time in UTC when the operation was created." + }, + "etag": { + "type": "string", + "description": "Operation ETag." + } + }, + "required": [ + "operationId", + "status", + "lastActionDateTime", + "createdDateTime" + ], + "description": "Operation metadata." + }, + "DeviceOperation": { + "type": "object", + "properties": { + "operationId": { + "type": "string", + "description": "Operation Id." + }, + "status": { + "$ref": "#/definitions/OperationStatus", + "description": "Operation status." + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Operation error encountered, if any." + }, + "traceId": { + "type": "string", + "description": "Operation correlation identity that can used by Microsoft Support for troubleshooting." + }, + "lastActionDateTime": { + "type": "string", + "format": "date-time", + "description": "Date and time in UTC when the operation status was last updated." + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "Date and time in UTC when the operation was created." + }, + "etag": { + "type": "string", + "description": "Operation ETag." + } + }, + "required": [ + "operationId", + "status", + "lastActionDateTime", + "createdDateTime" + ], + "description": "Operation metadata." + }, + "OperationStatus": { + "type": "string", + "enum": [ + "NotStarted", + "Running", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": true, + "values": [ + { + "value": "NotStarted", + "name": "NotStarted", + "description": "Background operation created but not started yet." + }, + { + "value": "Running", + "name": "Running", + "description": "Background operation is currently running." + }, + { + "value": "Succeeded", + "name": "Succeeded", + "description": "Background operation finished with success." + }, + { + "value": "Failed", + "name": "Failed", + "description": "Background operation finished with failure." + } + ] + }, + "description": "Operation status." + }, + "OperationStatusWithoutUndefinedOption": { + "type": "string", + "enum": [ + "NotStarted", + "Running", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": true, + "values": [ + { + "value": "NotStarted", + "name": "NotStarted", + "description": "Background operation created but not started yet." + }, + { + "value": "Running", + "name": "Running", + "description": "Background operation is currently running." + }, + { + "value": "Succeeded", + "name": "Succeeded", + "description": "Background operation finished with success." + }, + { + "value": "Failed", + "name": "Failed", + "description": "Background operation finished with failure." + } + ] + }, + "description": "Operation status." + }, + "ErrorResponse": { + "description": "Common error response.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/Error", + "description": "The error details." + } + }, + "required": [ + "error" + ] + }, + "Error": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Server defined error code." + }, + "message": { + "type": "string", + "description": "A human-readable representation of the error." + }, + "target": { + "type": "string", + "description": "The target of the error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + }, + "description": "An array of errors that led to the reported error." + }, + "innererror": { + "$ref": "#/definitions/InnerError", + "description": "An object containing more specific information than the current object about the error." + }, + "occurredDateTime": { + "type": "string", + "description": "Date and time in UTC when the error occurred.", + "format": "date-time" + } + }, + "required": [ + "code", + "message" + ], + "description": "Error details." + }, + "InnerError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "A more specific error code than what was provided by the containing error." + }, + "message": { + "type": "string", + "description": "A human-readable representation of the error." + }, + "errorDetail": { + "type": "string", + "description": "The internal error or exception message." + }, + "innerError": { + "$ref": "#/definitions/InnerError", + "description": "An object containing more specific information than the current object about the error." + } + }, + "required": [ + "code" + ], + "description": "An object containing more specific information than the current object about the error." + }, + "LimitsResponse": { + "type": "object", + "description": "The list of limits of how many of each resource are currently in use and how many are allowed.", + "properties": { + "counters": { + "$ref": "#/definitions/Counters", + "description": "The list of current counts of each limited resource and the maximum quota that are allowed." + } + } + }, + "Counters": { + "type": "object", + "description": "The list of counts of each limited resource with both current usage and overall quota.", + "properties": { + "deviceCount": { + "$ref": "#/definitions/UsageQuotaCounter", + "description": "The current usage and quota of devices." + }, + "deviceClassCount": { + "$ref": "#/definitions/UsageQuotaCounter", + "description": "The current usage and quota of device classes." + }, + "deviceGroupCount": { + "$ref": "#/definitions/UsageQuotaCounter", + "description": "The current usage and quota of device groups." + }, + "activeDeploymentCount": { + "$ref": "#/definitions/UsageQuotaCounter", + "description": "The current usage and quota of active deployments." + }, + "deploymentCount": { + "$ref": "#/definitions/UsageQuotaCounter", + "description": "The current usage and quota of deployments." + } + } + }, + "UsageQuotaCounter": { + "type": "object", + "description": "A counter with both usage and quota information.", + "properties": { + "usage": { + "type": "integer", + "format": "int32", + "description": "The current number of the resource that exist" + }, + "quota": { + "type": "integer", + "format": "int32", + "description": "The maximum number of the resource that can be created" + } + } + }, + "UpdateOperationsList": { + "description": "The list of operations with server paging support.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/UpdateOperation" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "DeviceOperationsList": { + "description": "The list of device operations with server paging support.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/DeviceOperation" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "DeviceClass": { + "type": "object", + "properties": { + "deviceClassId": { + "type": "string", + "description": "The device class identifier. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash." + }, + "friendlyName": { + "type": "string", + "description": "The device class friendly name. This can be updated by callers after the device class has been automatically created." + }, + "deviceClassProperties": { + "$ref": "#/definitions/DeviceClassProperties", + "description": "The device class properties that are used to calculate the device class Id" + }, + "bestCompatibleUpdate": { + "$ref": "#/definitions/UpdateInfo", + "description": "Update that is the highest version compatible with this device class." + } + }, + "required": [ + "deviceClassId", + "deviceClassProperties" + ], + "description": "Device class metadata." + }, + "DeviceClassProperties": { + "type": "object", + "description": "The device class properties that are used to calculate the device class Id", + "properties": { + "contractModel": { + "$ref": "#/definitions/ContractModel", + "description": "The Device Update agent contract model." + }, + "compatProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The compat properties of the device class. This object can be thought of as a set of key-value pairs where the key is the name of the compatibility property and the value is the value of the compatibility property. There will always be at least 1 compat property" + } + }, + "required": [ + "compatProperties" + ] + }, + "ContractModel": { + "type": "object", + "description": "The Device Update agent contract model.", + "properties": { + "id": { + "type": "string", + "description": "The Device Update agent contract model Id of the device class. This is also used to calculate the device class Id." + }, + "name": { + "type": "string", + "description": "The Device Update agent contract model name of the device class. Intended to be a more readable form of the contract model Id." + } + }, + "required": [ + "id", + "name" + ] + }, + "DeviceClassesList": { + "description": "The list of device classes.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/DeviceClass" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "PatchBody": { + "type": "object", + "properties": { + "friendlyName": { + "type": "string", + "description": "The device class friendly name. Friendly name can be 1-100 characters, alphanumeric, dot, and dash." + } + }, + "required": [ + "friendlyName" + ], + "description": "Device Class JSON Merge Patch request body" + }, + "Device": { + "type": "object", + "properties": { + "deviceId": { + "type": "string", + "description": "Device identity." + }, + "moduleId": { + "type": "string", + "description": "Device module identity." + }, + "deviceClassId": { + "type": "string", + "description": "Device class identity." + }, + "groupId": { + "type": "string", + "description": "Device group identity." + }, + "lastAttemptedUpdate": { + "$ref": "#/definitions/UpdateInfo", + "description": "The update that device last attempted to install." + }, + "deploymentStatus": { + "$ref": "#/definitions/DeviceDeploymentState", + "description": "State of the device in its last deployment." + }, + "installedUpdate": { + "$ref": "#/definitions/UpdateInfo", + "description": "Currently installed update on device." + }, + "onLatestUpdate": { + "type": "boolean", + "description": "Boolean flag indicating whether the latest update (the best compatible update for the device's device class and group) is installed on the device" + }, + "lastDeploymentId": { + "type": "string", + "description": "The deployment identifier for the last deployment to the device" + }, + "lastInstallResult": { + "$ref": "#/definitions/InstallResult", + "description": "Last install result." + } + }, + "required": [ + "deviceId", + "deviceClassId", + "onLatestUpdate" + ], + "description": "Device metadata." + }, + "DeviceDeploymentState": { + "type": "string", + "enum": [ + "Succeeded", + "InProgress", + "Canceled", + "Failed" + ], + "x-ms-enum": { + "name": "DeviceDeploymentState", + "modelAsString": true, + "values": [ + { + "value": "Succeeded", + "name": "Succeeded", + "description": "Deployment has completed with success." + }, + { + "value": "InProgress", + "name": "InProgress", + "description": "Deployment is in progress." + }, + { + "value": "Canceled", + "name": "Canceled", + "description": "Deployment was canceled." + }, + { + "value": "Failed", + "name": "Failed", + "description": "Deployment has completed with failure." + } + ] + }, + "description": "Deployment state." + }, + "DeviceFilter": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Device group identity." + }, + "deviceClassId": { + "type": "string", + "description": "Device class identity." + }, + "deploymentStatus": { + "$ref": "#/definitions/DeviceDeploymentState", + "description": "State of the device in its last deployment." + } + }, + "description": "Device filter." + }, + "DeviceClassSubgroupFilter": { + "type": "object", + "properties": { + "compatPropertyName": { + "type": "string", + "description": "The name of the compat property to use in the filter. E.g. compatProperties/manufacturer" + }, + "compatPropertyValue": { + "type": "string", + "description": "The value the compat property to use in the filter. E.g. Contoso" + } + }, + "description": "Device class subgroups filter. Filters device class subgroups based on device class compat property names and values" + }, + "DeviceClassFilter": { + "type": "object", + "properties": { + "friendlyName": { + "type": "string", + "description": "The friendly name of the device class to use in the filter" + } + }, + "description": "Device class filter. Filters device classes based on device class friendly name" + }, + "DevicesList": { + "description": "The list of devices.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/Device" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "UpdateCompliance": { + "type": "object", + "properties": { + "totalDeviceCount": { + "type": "integer", + "description": "Total number of devices." + }, + "onLatestUpdateDeviceCount": { + "type": "integer", + "description": "Number of devices on the latest update." + }, + "newUpdatesAvailableDeviceCount": { + "type": "integer", + "description": "Number of devices with a newer update available." + }, + "updatesInProgressDeviceCount": { + "type": "integer", + "description": "Number of devices with update in-progress." + } + }, + "required": [ + "totalDeviceCount", + "onLatestUpdateDeviceCount", + "newUpdatesAvailableDeviceCount", + "updatesInProgressDeviceCount" + ], + "description": "Update compliance information." + }, + "DeviceClassSubgroupUpdatableDevices": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The group Id" + }, + "deviceClassId": { + "type": "string", + "description": "The device class subgroup's device class Id" + }, + "update": { + "$ref": "#/definitions/UpdateInfo", + "description": "Update information." + }, + "deviceCount": { + "type": "integer", + "description": "Total number of devices for which the update is applicable." + } + }, + "required": [ + "groupId", + "deviceClassId", + "update", + "deviceCount" + ], + "description": "Device class subgroup, update information, and the number of devices for which the update is applicable." + }, + "DeviceClassSubgroupUpdatableDevicesList": { + "description": "The list of updatable devices for a device class subgroup.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/DeviceClassSubgroupUpdatableDevices" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "Group": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Group identity. This is created from the value of the ADUGroup tag in the Iot Hub's device/module twin or $default for devices with no tag." + }, + "groupType": { + "$ref": "#/definitions/GroupType", + "description": "Group type." + }, + "createdDateTime": { + "type": "string", + "description": "Date and time when the update was created." + }, + "deviceCount": { + "type": "integer", + "description": "The number of devices in the group." + }, + "subgroupsWithNewUpdatesAvailableCount": { + "type": "integer", + "description": "The count of subgroups with new updates available." + }, + "subgroupsWithUpdatesInProgressCount": { + "type": "integer", + "description": "The count of subgroups with updates in progress." + }, + "subgroupsWithOnLatestUpdateCount": { + "type": "integer", + "description": "The count of subgroups with devices on the latest update." + }, + "deployments": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The active deployment Ids for the group" + } + }, + "required": [ + "groupId", + "groupType", + "createdDateTime" + ], + "description": "Group details." + }, + "GroupType": { + "type": "string", + "enum": [ + "IoTHubTag", + "DefaultNoTag" + ], + "x-ms-enum": { + "name": "GroupType", + "modelAsString": true, + "values": [ + { + "value": "IoTHubTag", + "name": "IoTHubTag", + "description": "IoT Hub tag based group, all devices in the group share an ADUGroup tag value." + }, + { + "value": "DefaultNoTag", + "name": "DefaultNoTag", + "description": "Default group for untagged devices." + } + ] + }, + "description": "Supported group types." + }, + "GroupsList": { + "description": "The list of groups.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/Group" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "DeviceClassSubgroup": { + "type": "object", + "properties": { + "deviceClassId": { + "type": "string", + "description": "Device class subgroup identity. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash." + }, + "groupId": { + "type": "string", + "description": "Group identity." + }, + "createdDateTime": { + "type": "string", + "description": "Date and time when the device class subgroup was created." + }, + "deviceCount": { + "type": "integer", + "description": "The number of devices in the device class subgroup." + }, + "deploymentId": { + "type": "string", + "description": "The active deployment Id for the device class subgroup." + } + }, + "required": [ + "deviceClassId", + "groupId", + "createdDateTime" + ], + "description": "Device class subgroup details. A device class subgroup is a subset of devices in a group that share the same device class id." + }, + "DeviceClassSubgroupsList": { + "description": "The list of device class subgroups within a group.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/DeviceClassSubgroup" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "Deployment": { + "type": "object", + "properties": { + "deploymentId": { + "type": "string", + "description": "The caller-provided deployment identifier. This cannot be longer than 73 characters, must be all lower-case, and cannot contain '&', '^', '[', ']', '{', '}', '|', '<', '>', forward slash, backslash, or double quote. The Updates view in the Azure Portal IoT Hub resource generates a GUID for deploymentId when you create a deployment." + }, + "startDateTime": { + "type": "string", + "description": "The deployment start datetime.", + "format": "date-time" + }, + "update": { + "$ref": "#/definitions/UpdateInfo", + "description": "Update information for the update in the deployment." + }, + "groupId": { + "type": "string", + "description": "The group identity for the devices the deployment is intended to update." + }, + "deviceClassSubgroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The device class subgroups the deployment is compatible with and subgroup deployments have been created for. This is not provided by the caller during CreateOrUpdateDeployment but is automatically determined by Device Update" + }, + "isCanceled": { + "type": "boolean", + "description": "Boolean flag indicating whether the deployment was canceled." + }, + "isRetried": { + "type": "boolean", + "description": "Boolean flag indicating whether the deployment has been retried." + }, + "rollbackPolicy": { + "$ref": "#/definitions/CloudInitiatedRollbackPolicy", + "description": "The rollback policy for the deployment." + }, + "isCloudInitiatedRollback": { + "type": "boolean", + "description": "Boolean flag indicating whether the deployment is a rollback deployment." + } + }, + "required": [ + "deploymentId", + "startDateTime", + "update", + "groupId" + ], + "description": "Deployment metadata." + }, + "DeploymentsList": { + "description": "The list of deployments.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/Deployment" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "DeploymentStatus": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The group identity" + }, + "deploymentState": { + "$ref": "#/definitions/DeploymentState", + "description": "The state of the deployment." + }, + "error": { + "$ref": "#/definitions/Error", + "description": "The error details of the Failed state. This is not present if the deployment state is not Failed." + }, + "subgroupStatus": { + "type": "array", + "description": "The collection of device class subgroup status objects", + "items": { + "$ref": "#/definitions/DeviceClassSubgroupDeploymentStatus" + } + } + }, + "required": [ + "groupId", + "deploymentState", + "subgroupStatus" + ], + "description": "Deployment status metadata." + }, + "DeploymentState": { + "type": "string", + "enum": [ + "Active", + "ActiveWithSubgroupFailures", + "Failed", + "Inactive", + "Canceled" + ], + "x-ms-enum": { + "name": "DeploymentState", + "modelAsString": true, + "values": [ + { + "value": "Active", + "name": "Active", + "description": "The deployment can be sent to devices targeted in the deployment." + }, + { + "value": "ActiveWithSubgroupFailures", + "name": "ActiveWithSubgroupFailures", + "description": "The deployment can be sent to some devices targeted in the deployment but at least 1 subgroup is in a failed state." + }, + { + "value": "Failed", + "name": "Failed", + "description": "The deployment will not be sent to any devices. Consult error for more details about what failed." + }, + { + "value": "Inactive", + "name": "Inactive", + "description": "A newer deployment for this group has been created and no devices in the group will receive this deployment." + }, + { + "value": "Canceled", + "name": "Canceled", + "description": "The deployment has been canceled and no devices will receive it." + } + ] + }, + "description": "Deployment state." + }, + "DeviceClassSubgroupDeploymentStatus": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The group identity" + }, + "deviceClassId": { + "type": "string", + "description": "The device class subgroup identity" + }, + "deploymentState": { + "$ref": "#/definitions/DeviceClassSubgroupDeploymentState", + "description": "The state of the subgroup deployment." + }, + "error": { + "$ref": "#/definitions/Error", + "description": "The error details of the Failed state. This is not present if the deployment state is not Failed." + }, + "totalDevices": { + "type": "integer", + "description": "The total number of devices in the deployment.", + "format": "int32" + }, + "devicesInProgressCount": { + "type": "integer", + "description": "The number of devices that are currently in deployment.", + "format": "int32" + }, + "devicesCompletedFailedCount": { + "type": "integer", + "description": "The number of devices that have completed deployment with a failure.", + "format": "int32" + }, + "devicesCompletedSucceededCount": { + "type": "integer", + "description": "The number of devices which have successfully completed deployment.", + "format": "int32" + }, + "devicesCanceledCount": { + "type": "integer", + "description": "The number of devices which have had their deployment canceled.", + "format": "int32" + } + }, + "required": [ + "groupId", + "deviceClassId", + "deploymentState" + ], + "description": "Device class subgroup deployment status metadata." + }, + "DeviceClassSubgroupDeploymentState": { + "type": "string", + "enum": [ + "Active", + "Failed", + "Inactive", + "Canceled" + ], + "x-ms-enum": { + "name": "DeviceClassSubgroupDeploymentState", + "modelAsString": true, + "values": [ + { + "value": "Active", + "name": "Active", + "description": "The subgroup deployment can be sent to devices targeted in the deployment." + }, + { + "value": "Failed", + "name": "Failed", + "description": "The subgroup deployment failed and will not be sent to any devices." + }, + { + "value": "Inactive", + "name": "Inactive", + "description": "A newer deployment for this subgroup has been created and no devices in the subgroup will receive this deployment." + }, + { + "value": "Canceled", + "name": "Canceled", + "description": "The subgroup deployment has been canceled and no devices will receive it." + } + ] + }, + "description": "Device class subgroup deployment state." + }, + "DeploymentDeviceState": { + "type": "object", + "properties": { + "deviceId": { + "type": "string", + "description": "Device identity." + }, + "moduleId": { + "type": "string", + "description": "Device module identity." + }, + "retryCount": { + "type": "integer", + "description": "The number of times this deployment has been retried on this device.", + "format": "int32" + }, + "movedOnToNewDeployment": { + "type": "boolean", + "description": "Boolean flag indicating whether this device is in a newer deployment and can no longer retry this deployment." + }, + "deviceState": { + "$ref": "#/definitions/DeviceDeploymentState", + "description": "Deployment device state." + } + }, + "required": [ + "deviceId", + "retryCount", + "movedOnToNewDeployment", + "deviceState" + ], + "description": "Deployment device status." + }, + "DeploymentDeviceStatesList": { + "description": "The list of deployment device states.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentDeviceState" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "CloudInitiatedRollbackPolicyFailure": { + "type": "object", + "properties": { + "devicesFailedPercentage": { + "type": "integer", + "description": "Percentage of devices that failed." + }, + "devicesFailedCount": { + "type": "integer", + "description": "Number of devices that failed." + } + }, + "required": [ + "devicesFailedPercentage", + "devicesFailedCount" + ], + "description": "Failure conditions to initiate rollback policy" + }, + "CloudInitiatedRollbackPolicy": { + "type": "object", + "properties": { + "update": { + "$ref": "#/definitions/UpdateInfo", + "description": "Update to rollback to." + }, + "failure": { + "$ref": "#/definitions/CloudInitiatedRollbackPolicyFailure", + "description": "Failure conditions to initiate rollback policy." + } + }, + "required": [ + "update", + "failure" + ], + "description": "Rollback policy for deployment" + }, + "UpdateFilter": { + "type": "object", + "properties": { + "isDeployable": { + "type": "boolean", + "description": "Update isDeployable property." + } + }, + "description": "Update filter." + }, + "OperationFilterStatus": { + "type": "string", + "enum": [ + "Running", + "NotStarted" + ], + "x-ms-enum": { + "name": "OperationFilterStatus", + "modelAsString": true + }, + "description": "Operation status filter." + }, + "OperationFilter": { + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/OperationFilterStatus", + "description": "Operation status filter." + } + }, + "description": "Operation status filter." + }, + "GroupOrderBy": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The group Id." + }, + "deviceCount": { + "type": "string", + "description": "The group device count." + }, + "createdDate": { + "type": "string", + "description": "The group created date." + }, + "subgroupsWithNewUpdatesAvailableCount": { + "type": "string", + "description": "The number of subgroups with new updates available" + }, + "subgroupsWithUpdatesInProgressCount": { + "type": "string", + "description": "The number of subgroups with updates in progress" + }, + "subgroupsOnLatestUpdateCount": { + "type": "string", + "description": "The number of subgroups with devices on the latest update" + } + }, + "description": "Groups order by." + }, + "DeploymentOrderBy": { + "type": "object", + "properties": { + "startDateTime": { + "type": "string", + "description": "The deployment start datetime.", + "format": "date-time" + } + }, + "description": "Deployment order by." + }, + "DeploymentDeviceStatesFilter": { + "type": "object", + "properties": { + "deviceId": { + "type": "string", + "description": "Device Identifier." + }, + "moduleId": { + "type": "string", + "description": "Device module Identifier." + }, + "deviceState": { + "$ref": "#/definitions/DeviceDeploymentState", + "description": "The deployment device state." + } + }, + "description": "Deployment device state filter." + }, + "ImportType": { + "type": "string", + "description": "The device import type.", + "enum": [ + "Devices", + "Modules", + "All" + ], + "x-ms-enum": { + "name": "ImportType", + "modelAsString": true, + "values": [ + { + "value": "Devices", + "name": "Devices", + "description": "Import only devices but not modules." + }, + { + "value": "Modules", + "name": "Modules", + "description": "Import only modules but not devices." + }, + { + "value": "All", + "name": "All", + "description": "Import both devices and modules." + } + ] + } + }, + "StepResult": { + "type": "object", + "properties": { + "update": { + "$ref": "#/definitions/UpdateInfo", + "description": "The update that this step installs if it is of reference type." + }, + "description": { + "type": "string", + "description": "Step description." + }, + "resultCode": { + "type": "integer", + "description": "Install result code." + }, + "extendedResultCode": { + "type": "integer", + "description": "Install extended result code" + }, + "resultDetails": { + "type": "string", + "description": "A string containing further details about the install result" + } + }, + "required": [ + "resultCode", + "extendedResultCode" + ], + "description": "The step result under an update." + }, + "InstallResult": { + "type": "object", + "properties": { + "resultCode": { + "type": "integer", + "description": "Install result code." + }, + "extendedResultCode": { + "type": "integer", + "description": "Install extended result code" + }, + "resultDetails": { + "type": "string", + "description": "A string containing further details about the install result" + }, + "stepResults": { + "type": "array", + "items": { + "$ref": "#/definitions/StepResult", + "description": "Step results" + }, + "description": "Array of step results" + } + }, + "required": [ + "resultCode", + "extendedResultCode" + ], + "description": "The install result of an update and any step results under it." + }, + "DeviceUpdateAgentId": { + "type": "object", + "properties": { + "deviceId": { + "type": "string", + "description": "Device Id" + }, + "moduleId": { + "type": "string", + "description": "Module Id" + } + }, + "required": [ + "deviceId" + ], + "description": "Device Update agent id" + }, + "LogCollection": { + "type": "object", + "properties": { + "operationId": { + "type": "string", + "description": "The log collection id.", + "x-ms-client-name": "logCollectionId" + }, + "deviceList": { + "type": "array", + "description": "Array of Device Update agent ids", + "items": { + "$ref": "#/definitions/DeviceUpdateAgentId" + } + }, + "description": { + "type": "string", + "maxLength": 512, + "description": "Description of the diagnostics operation." + }, + "createdDateTime": { + "type": "string", + "description": "The timestamp when the operation was created.", + "readOnly": true + }, + "lastActionDateTime": { + "type": "string", + "description": "A timestamp for when the current state was entered.", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/OperationStatusWithoutUndefinedOption", + "description": "Operation status.", + "readOnly": true + } + }, + "required": [ + "deviceList" + ], + "description": "Diagnostics request body" + }, + "LogCollectionOperationDetailedStatus": { + "type": "object", + "properties": { + "operationId": { + "type": "string", + "description": "The device diagnostics operation id.", + "x-ms-client-name": "logCollectionId" + }, + "createdDateTime": { + "type": "string", + "description": "The timestamp when the operation was created." + }, + "lastActionDateTime": { + "type": "string", + "description": "A timestamp for when the current state was entered." + }, + "status": { + "$ref": "#/definitions/OperationStatusWithoutUndefinedOption", + "description": "Operation status." + }, + "deviceStatus": { + "type": "array", + "items": { + "$ref": "#/definitions/LogCollectionOperationDeviceStatus" + }, + "description": "Status of the devices in the operation" + }, + "description": { + "type": "string", + "description": "Device diagnostics operation description." + } + }, + "description": "Device diagnostics operation detailed status" + }, + "LogCollectionList": { + "description": "The list of log collections with server paging support.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/LogCollection" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "LogCollectionDetailedStatusList": { + "description": "The list of log collections with detailed status, with server paging support.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/LogCollectionOperationDetailedStatus" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "LogCollectionOperationDeviceStatus": { + "type": "object", + "properties": { + "deviceId": { + "type": "string", + "description": "Device id" + }, + "moduleId": { + "type": "string", + "description": "Module id." + }, + "status": { + "$ref": "#/definitions/OperationStatusWithoutUndefinedOption", + "description": "Log upload status" + }, + "resultCode": { + "type": "string", + "description": "Log upload result code" + }, + "extendedResultCode": { + "type": "string", + "description": "Log upload extended result code" + }, + "logLocation": { + "type": "string", + "description": "Log upload location" + } + }, + "required": [ + "deviceId", + "status" + ], + "description": "Diagnostics operation device status" + }, + "HealthCheckResult": { + "type": "string", + "enum": [ + "success", + "userError" + ], + "x-ms-enum": { + "name": "HealthCheckResult", + "modelAsString": true, + "values": [ + { + "value": "success", + "name": "success", + "description": "Health check succeeded" + }, + { + "value": "userError", + "name": "userError", + "description": "Health check failed due to user error" + } + ] + }, + "description": "Health check result" + }, + "DeviceHealth": { + "description": "Device Health", + "type": "object", + "properties": { + "deviceId": { + "type": "string", + "description": "Device id" + }, + "moduleId": { + "type": "string", + "description": "Module id" + }, + "state": { + "$ref": "#/definitions/DeviceHealthState", + "description": "Aggregate device health state" + }, + "digitalTwinModelId": { + "type": "string", + "description": "Digital twin model Id" + }, + "healthChecks": { + "type": "array", + "description": "Array of health checks and their results", + "items": { + "$ref": "#/definitions/HealthCheck" + } + } + }, + "required": [ + "deviceId", + "state", + "healthChecks" + ] + }, + "DeviceHealthState": { + "description": "Device health states", + "type": "string", + "enum": [ + "healthy", + "unhealthy" + ], + "x-ms-enum": { + "name": "DeviceHealthState", + "modelAsString": true, + "values": [ + { + "value": "healthy", + "name": "healthy", + "description": "Agent is healthy" + }, + { + "value": "unhealthy", + "name": "unhealthy", + "description": "Agent is in an unhealthy state" + } + ] + } + }, + "DeviceHealthList": { + "description": "Array of Device Health, with server paging support.", + "type": "object", + "properties": { + "value": { + "description": "The collection of pageable items.", + "type": "array", + "items": { + "$ref": "#/definitions/DeviceHealth" + } + }, + "nextLink": { + "description": "The link to the next page of items.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "HealthCheck": { + "description": "Health check", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Health check name" + }, + "result": { + "$ref": "#/definitions/HealthCheckResult", + "description": "Health check result" + } + } + }, + "DeviceHealthFilter": { + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/DeviceHealthState", + "description": "Device health state" + }, + "deviceId": { + "type": "string", + "description": "Device Id" + }, + "moduleId": { + "type": "string", + "description": "Module Id" + } + }, + "description": "Device health filter." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request." + }, + "EndpointParameter": { + "name": "endpoint", + "in": "path", + "required": true, + "format": "url", + "type": "string", + "x-ms-skip-url-encoding": true, + "description": "The Device Update for IoT Hub account endpoint (hostname only, no protocol).", + "x-ms-parameter-location": "client", + "x-ms-parameter-grouping": { + "name": "account-options" + } + }, + "InstanceIdParameter": { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "description": "The Device Update for IoT Hub account instance identifier.", + "x-ms-parameter-location": "client", + "x-ms-parameter-grouping": { + "name": "account-options" + } + }, + "UpdateProviderParameter": { + "name": "provider", + "in": "path", + "required": true, + "type": "string", + "description": "Update provider.", + "x-ms-parameter-location": "method" + }, + "UpdateNameParameter": { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Update name.", + "x-ms-parameter-location": "method" + }, + "UpdateVersionParameter": { + "name": "version", + "in": "path", + "required": true, + "type": "string", + "description": "Update version.", + "x-ms-parameter-location": "method" + }, + "FileIdParameter": { + "name": "fileId", + "in": "path", + "required": true, + "type": "string", + "description": "File identifier.", + "x-ms-parameter-location": "method" + }, + "IfNoneMatchParameter": { + "name": "If-None-Match", + "in": "header", + "required": false, + "description": "Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.", + "type": "string", + "x-ms-parameter-grouping": { + "name": "access-condition" + }, + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "description": "Operation identifier.", + "minLength": 1, + "maxLength": 256, + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "LogCollectionIdParameter": { + "name": "operationId", + "in": "path", + "description": "Log collection identifier.", + "minLength": 1, + "maxLength": 256, + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-client-name": "logCollectionId" + }, + "DeviceIdParameter": { + "name": "deviceId", + "in": "path", + "description": "Device identifier in Azure IoT Hub.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ModuleIdParameter": { + "name": "moduleId", + "in": "path", + "description": "Device module identifier in Azure IoT Hub.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeviceClassIdParameter": { + "name": "deviceClassId", + "in": "path", + "description": "Device class identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GroupIdParameter": { + "name": "groupId", + "in": "path", + "description": "Group identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeploymentIdParameter": { + "name": "deploymentId", + "in": "path", + "description": "Deployment identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DevicesImportActionParameter": { + "name": "action", + "in": "query", + "required": true, + "description": "Devices action.", + "type": "string", + "enum": [ + "import" + ], + "x-ms-enum": { + "name": "ImportAction", + "modelAsString": true, + "values": [ + { + "value": "import", + "name": "import", + "description": "Import action." + } + ] + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_CreateOrUpdateDeployment.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_CreateOrUpdateDeployment.json new file mode 100644 index 000000000000..f4c12298318f --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_CreateOrUpdateDeployment.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "TestGroup", + "deploymentId": "deploymentId", + "api-version": "2023-10-01-preview", + "deployment": { + "deploymentId": "deploymentId", + "groupId": "TestGroup", + "startDateTime": "2020-04-22T12:12:12.0000000+00:00", + "update": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.2.3.4" + } + }, + "rollbackPolicy": { + "update": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.2.3.3" + } + }, + "failure": { + "devicesFailedPercentage": 50, + "devicesFailedCount": 100 + } + } + } + }, + "responses": { + "200": { + "body": { + "deploymentId": "deploymentId", + "groupId": "TestGroup", + "deviceClassSubgroups": [ + "deviceClassId1", + "deviceClassId2" + ], + "startDateTime": "2020-04-22T12:12:12.0000000+00:00", + "update": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.2.3.4" + } + }, + "rollbackPolicy": { + "update": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.2.3.3" + } + }, + "failure": { + "devicesFailedPercentage": 50, + "devicesFailedCount": 100 + } + } + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteDeployment.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteDeployment.json new file mode 100644 index 000000000000..f3532707ff05 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteDeployment.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "TestGroup", + "deploymentId": "deploymentId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteDeploymentForDeviceClassSubgroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteDeploymentForDeviceClassSubgroup.json new file mode 100644 index 000000000000..15cb9f826bd1 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteDeploymentForDeviceClassSubgroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "TestGroup", + "deviceClassId": "deviceClassId", + "deploymentId": "deploymentId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteDeviceClass.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteDeviceClass.json new file mode 100644 index 000000000000..db84060010bb --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteDeviceClass.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "deviceClassId": "deviceClass1", + "api-version": "2023-10-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteDeviceClassSubgroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteDeviceClassSubgroup.json new file mode 100644 index 000000000000..6122f519ea96 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteDeviceClassSubgroup.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "group1", + "deviceClassId": "deviceClassId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteGroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteGroup.json new file mode 100644 index 000000000000..f1810cfb347f --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_DeleteGroup.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "group1", + "api-version": "2023-10-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetBestUpdatesForDeviceClassSubgroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetBestUpdatesForDeviceClassSubgroup.json new file mode 100644 index 000000000000..51774d263598 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetBestUpdatesForDeviceClassSubgroup.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "group1", + "deviceClassId": "deviceClassId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "groupId": "group1", + "deviceClassId": "deviceClassId", + "update": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.0.0.0" + }, + "friendlyName": "July 2022 Update" + }, + "deviceCount": 100 + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeployment.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeployment.json new file mode 100644 index 000000000000..015dd03a21f2 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeployment.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "TestGroup", + "deploymentId": "deploymentId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "deploymentId": "deploymentId", + "startDateTime": "2020-04-22T12:12:12.0000000+00:00", + "groupId": "TestGroup", + "deviceClassSubgroups": [ + "deviceClassId1", + "deviceClassId2" + ], + "update": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.2.3.4" + }, + "description": "This update fixes a security issue.", + "friendlyName": "Contoso Toaster v1.2.3.4" + }, + "rollbackPolicy": { + "update": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.2.3.3" + }, + "description": "This update fixes a security issue.", + "friendlyName": "Contoso Toaster v1.2.3.3" + }, + "failure": { + "devicesFailedPercentage": 50, + "devicesFailedCount": 100 + } + }, + "isCanceled": false, + "isRetried": false, + "isCloudInitiatedRollback": false + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeploymentForDeviceClassSubgroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeploymentForDeviceClassSubgroup.json new file mode 100644 index 000000000000..c40e6c0bdac3 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeploymentForDeviceClassSubgroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "TestGroup", + "deviceClassId": "deviceClassId", + "deploymentId": "deploymentId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "deploymentId": "deploymentId", + "startDateTime": "2020-04-22T12:12:12.0000000+00:00", + "groupId": "TestGroup", + "update": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.2.3.4" + } + }, + "rollbackPolicy": { + "update": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.2.3.3" + } + }, + "failure": { + "devicesFailedPercentage": 50, + "devicesFailedCount": 100 + } + }, + "isCanceled": false, + "isRetried": false, + "isCloudInitiatedRollback": false + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeploymentStatus.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeploymentStatus.json new file mode 100644 index 000000000000..1d2691f30fa7 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeploymentStatus.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "TestGroup", + "deploymentId": "deploymentId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "groupId": "TestGroup", + "deploymentState": "ActiveWithSubgroupFailures", + "subgroupStatus": [ + { + "groupId": "TestGroup", + "deviceClassId": "deviceClassId1", + "deploymentState": "Active", + "totalDevices": 1, + "devicesInProgressCount": 0, + "devicesCompletedFailedCount": 0, + "devicesCompletedSucceededCount": 1, + "devicesCanceledCount": 0 + }, + { + "groupId": "TestGroup", + "deviceClassId": "deviceClassId2", + "deploymentState": "Failed", + "error": { + "code": "ADMConfigurationLimitExceeded", + "message": "The subgroup deployment failed to be created due to hitting the ADM configuration limit" + }, + "totalDevices": 2, + "devicesInProgressCount": 0, + "devicesCompletedFailedCount": 1, + "devicesCompletedSucceededCount": 1, + "devicesCanceledCount": 0 + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDevice.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDevice.json new file mode 100644 index 000000000000..5daa9b87f5ab --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDevice.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "deviceId": "deviceId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "deviceId": "device1", + "deviceClassId": "deviceClass1", + "lastAttemptedUpdate": { + "updateId": { + "provider": "provider1", + "name": "name1", + "version": "2.0.0.0" + }, + "description": "Fixes performance issue." + }, + "deploymentStatus": "Failed", + "installedUpdate": { + "updateId": { + "provider": "provider1", + "name": "name1", + "version": "1.0.0.0" + }, + "description": "Fixes security issue." + }, + "onLatestUpdate": false, + "lastInstallResult": { + "resultCode": 200, + "extendedResultCode": 0, + "resultDetails": "", + "stepResults": [ + { + "update": { + "updateId": { + "provider": "microsoft", + "name": "peripheralcamera", + "version": "1.0" + }, + "friendlyName": "Microsoft Peripheral Camera 1.0" + }, + "resultCode": 200, + "extendedResultCode": 0, + "resultDetails": "" + }, + { + "update": { + "updateId": { + "provider": "microsoft", + "name": "peripheralspeaker", + "version": "1.0" + }, + "friendlyName": "Microsoft Peripheral Speaker 1.0" + }, + "resultCode": 200, + "extendedResultCode": 0, + "resultDetails": "" + } + ] + } + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceClass.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceClass.json new file mode 100644 index 000000000000..625c6c3c7742 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceClass.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "deviceClassId": "deviceClassId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "deviceClassId": "deviceClassId", + "friendlyName": "DeviceClass2020-04-22T12:12:12.0000000+00:00", + "deviceClassProperties": { + "contractModel": { + "id": "dtmi:azure:iot:deviceUpdateContractModel;2", + "name": "Device Update Model V2" + }, + "compatProperties": { + "manufacturer": "manufacturer1", + "model": "model1" + } + }, + "bestCompatibleUpdate": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.0.0.0" + }, + "friendlyName": "July 2022 Update" + } + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceClassSubgroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceClassSubgroup.json new file mode 100644 index 000000000000..75c72d358705 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceClassSubgroup.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "group1", + "deviceClassId": "deviceClassId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "deviceClassId": "DeviceClassId", + "groupId": "group1", + "createdDateTime": "2020-07-01T12:13:14.0000000Z", + "deviceCount": 149, + "deploymentId": "MyDeployment" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceClassSubgroupDeploymentStatus.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceClassSubgroupDeploymentStatus.json new file mode 100644 index 000000000000..41e153446044 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceClassSubgroupDeploymentStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "TestGroup", + "deviceClassId": "deviceClassId", + "deploymentId": "deploymentId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "groupId": "TestGroup", + "deviceClassId": "deviceClassId", + "deploymentState": "Active", + "totalDevices": 1, + "devicesInProgressCount": 0, + "devicesCompletedFailedCount": 0, + "devicesCompletedSucceededCount": 1, + "devicesCanceledCount": 0 + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceClassSubgroupUpdateCompliance.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceClassSubgroupUpdateCompliance.json new file mode 100644 index 000000000000..e1b7f8a1ad3b --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceClassSubgroupUpdateCompliance.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "group1", + "deviceClassId": "deviceClassId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "totalDeviceCount": 302204, + "onLatestUpdateDeviceCount": 256873, + "newUpdatesAvailableDeviceCount": 36265, + "updatesInProgressDeviceCount": 9066 + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceModule.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceModule.json new file mode 100644 index 000000000000..f7e15054469d --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetDeviceModule.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "deviceId": "deviceId", + "moduleId": "moduleId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "deviceId": "device1", + "moduleId": "module1", + "deviceClassId": "deviceClassId1", + "lastAttemptedUpdate": { + "updateId": { + "provider": "provider1", + "name": "name1", + "version": "2.0.0.0" + } + }, + "deploymentStatus": "Failed", + "installedUpdate": { + "updateId": { + "provider": "provider1", + "name": "name1", + "version": "1.0.0.0" + } + }, + "onLatestUpdate": false, + "lastInstallResult": { + "resultCode": 200, + "extendedResultCode": 0, + "resultDetails": "", + "stepResults": [ + { + "update": { + "updateId": { + "provider": "microsoft", + "name": "peripheralcamera", + "version": "1.0" + } + }, + "resultCode": 200, + "extendedResultCode": 0, + "resultDetails": "" + }, + { + "update": { + "updateId": { + "provider": "microsoft", + "name": "peripheralspeaker", + "version": "1.0" + } + }, + "resultCode": 200, + "extendedResultCode": 0, + "resultDetails": "" + } + ] + } + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetGroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetGroup.json new file mode 100644 index 000000000000..0d57c37e4538 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetGroup.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "group1", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "groupId": "MyGroup", + "groupType": "IoTHubTag", + "createdDateTime": "2020-07-01T12:13:14.0000000Z", + "deviceCount": 149, + "subgroupsWithNewUpdatesAvailableCount": 3, + "subgroupsWithUpdatesInProgressCount": 0, + "subgroupsWithOnLatestUpdateCount": 1 + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetLogCollection.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetLogCollection.json new file mode 100644 index 000000000000..80abae26235e --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetLogCollection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "operationId": "LogCollectionId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "operationId": "LogCollectionId", + "deviceList": [ + { + "deviceId": "DeviceA" + }, + { + "deviceId": "DeviceB", + "moduleId": "ModuleB" + } + ], + "description": "Log collection description", + "createdDateTime": "2021-09-30T02:23:41.59Z", + "lastActionDateTime": "2021-09-30T02:23:41.59Z", + "status": "NotStarted" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetLogCollectionDetailedStatus.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetLogCollectionDetailedStatus.json new file mode 100644 index 000000000000..e9fe287f52a6 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetLogCollectionDetailedStatus.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "operationId": "LogCollectionId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "operationId": "LogCollectionId", + "createdDateTime": "2021-09-30T02:23:41.59Z", + "lastActionDateTime": "2021-09-30T02:23:41.59Z", + "status": "NotStarted", + "deviceStatus": [ + { + "deviceId": "DeviceA", + "status": "NotStarted", + "resultCode": "200", + "extendedResultCode": "0", + "logLocation": "/storageAccount/deviceUpdateInstanceName/DeviceA/LogCollectionId" + }, + { + "deviceId": "DeviceB", + "moduleId": "ModuleB", + "status": "NotStarted", + "resultCode": "200", + "extendedResultCode": "0", + "logLocation": "/storageAccount/deviceUpdateInstanceName/DeviceB/ModuleB/LogCollectionId" + } + ], + "description": "Log collection description" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetOperationStatus.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetOperationStatus.json new file mode 100644 index 000000000000..ed897e0bfcbd --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetOperationStatus.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "operationId": "e4491c54-916f-443d-9094-bcca546ace2f", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "operationId": "e4491c54-916f-443d-9094-bcca546ace2f", + "status": "Succeeded", + "traceId": "2b881ef9deaf5d45b0a716ca5b4145ec", + "createdDateTime": "2020-04-22T21:00:53.2548897+00:00", + "lastActionDateTime": "2020-04-22T21:01:43.9401420+00:00", + "etag": "\"a0f7b6f2-3f6c-4eb6-8a59-2f5411c23888\"" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetUpdateCompliance.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetUpdateCompliance.json new file mode 100644 index 000000000000..bab4602714db --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetUpdateCompliance.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "totalDeviceCount": 302204, + "onLatestUpdateDeviceCount": 256873, + "newUpdatesAvailableDeviceCount": 36265, + "updatesInProgressDeviceCount": 9066 + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetUpdateComplianceForGroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetUpdateComplianceForGroup.json new file mode 100644 index 000000000000..d25ead38506d --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_GetUpdateComplianceForGroup.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "group1", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "totalDeviceCount": 302204, + "onLatestUpdateDeviceCount": 256873, + "newUpdatesAvailableDeviceCount": 36265, + "updatesInProgressDeviceCount": 9066 + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ImportDevices.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ImportDevices.json new file mode 100644 index 000000000000..ea862636e76d --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ImportDevices.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "api-version": "2023-10-01-preview", + "importType": "All" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/deviceUpdate/instanceId/devices/operations/e4491c54-916f-443d-9094-bcca546ace2f?api-version=2023-10-01-preview" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListBestUpdatesForGroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListBestUpdatesForGroup.json new file mode 100644 index 000000000000..cb42aefcd4a2 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListBestUpdatesForGroup.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "group1", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "groupId": "group1", + "deviceClassId": "deviceClassId1", + "update": { + "updateId": { + "provider": "provider1", + "name": "name1", + "version": "1.0.0.0" + } + }, + "deviceCount": 100 + }, + { + "groupId": "group1", + "deviceClassId": "deviceClassId2", + "update": { + "updateId": { + "provider": "provider2", + "name": "name2", + "version": "2.0.0.0" + } + }, + "deviceCount": 200 + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeploymentsForDeviceClassSubgroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeploymentsForDeviceClassSubgroup.json new file mode 100644 index 000000000000..bc5531420f45 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeploymentsForDeviceClassSubgroup.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "TestGroup", + "deviceClassId": "deviceClassId1", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "deploymentId": "deploymentId1", + "groupId": "TestGroup", + "startDateTime": "2020-07-01T12:13:14Z", + "update": { + "updateId": { + "provider": "provider1", + "name": "name1", + "version": "1.0.0.0" + } + }, + "rollbackPolicy": { + "update": { + "updateId": { + "provider": "provider1", + "name": "name1", + "version": "0.9.0" + } + }, + "failure": { + "devicesFailedPercentage": 50, + "devicesFailedCount": 100 + } + }, + "isCanceled": false, + "isRetried": false, + "isCloudInitiatedRollback": false + }, + { + "deploymentId": "deploymentId2", + "groupId": "TestGroup", + "startDateTime": "2020-08-01T12:13:14Z", + "update": { + "updateId": { + "provider": "provider2", + "name": "name2", + "version": "2.0.0.0" + } + }, + "rollbackPolicy": { + "update": { + "updateId": { + "provider": "provider2", + "name": "name2", + "version": "1.0.0.0" + } + }, + "failure": { + "devicesFailedPercentage": 20, + "devicesFailedCount": 150 + } + }, + "isCanceled": false, + "isRetried": false, + "isCloudInitiatedRollback": false + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeploymentsForGroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeploymentsForGroup.json new file mode 100644 index 000000000000..7ee36db80f4c --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeploymentsForGroup.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "TestGroup", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "deploymentId": "deploymentId1", + "groupId": "TestGroup", + "deviceClassSubgroups": [ + "deviceClassId1", + "deviceClassId2" + ], + "startDateTime": "2020-07-01T12:13:14Z", + "update": { + "updateId": { + "provider": "provider1", + "name": "name1", + "version": "1.0.0.0" + }, + "friendlyName": "Provider1 Name1 2022 Update" + }, + "rollbackPolicy": { + "update": { + "updateId": { + "provider": "provider1", + "name": "name1", + "version": "0.9.0" + }, + "friendlyName": "Provider1 Name1 2022 Update" + }, + "failure": { + "devicesFailedPercentage": 50, + "devicesFailedCount": 100 + } + }, + "isCanceled": false, + "isRetried": false, + "isCloudInitiatedRollback": false + }, + { + "deploymentId": "deploymentId2", + "groupId": "TestGroup", + "deviceClassSubgroups": [ + "deviceClassId1", + "deviceClassId2" + ], + "startDateTime": "2020-08-01T12:13:14Z", + "update": { + "updateId": { + "provider": "provider2", + "name": "name2", + "version": "2.0.0.0" + }, + "friendlyName": "Provider2 Name2 2022 Update" + }, + "rollbackPolicy": { + "update": { + "updateId": { + "provider": "provider2", + "name": "name2", + "version": "1.0.0.0" + }, + "friendlyName": "Provider2 Name2 2022 Update" + }, + "failure": { + "devicesFailedPercentage": 20, + "devicesFailedCount": 150 + } + }, + "isCanceled": false, + "isRetried": false, + "isCloudInitiatedRollback": false + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeviceClassSubgroupsForGroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeviceClassSubgroupsForGroup.json new file mode 100644 index 000000000000..fe31dbca76b2 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeviceClassSubgroupsForGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "group1", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "deviceClassId": "DeviceClassId", + "groupId": "group1", + "createdDateTime": "2020-07-01T12:13:14.0000000Z", + "deviceCount": 149, + "deploymentId": "MyDeployment" + }, + { + "deviceClassId": "DeviceClassId2", + "groupId": "group1", + "createdDateTime": "2020-07-01T12:13:14.0000000Z", + "deviceCount": 35, + "deploymentId": "MyDeployment2" + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeviceClasses.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeviceClasses.json new file mode 100644 index 000000000000..a6cd6e726171 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeviceClasses.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "deviceClassId": "deviceClassId", + "friendlyName": "DeviceClass2020-04-22T12:12:12.0000000+00:00", + "deviceClassProperties": { + "contractModel": { + "id": "dtmi:azure:iot:deviceUpdateContractModel;2", + "name": "Device Update Model V2" + }, + "compatProperties": { + "manufacturer": "manufacturer1", + "model": "model1" + } + }, + "bestCompatibleUpdate": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.0.0.0" + }, + "friendlyName": "July 2022 Update" + } + }, + { + "deviceClassId": "deviceClassId2", + "friendlyName": "DeviceClass2020-04-23T12:12:12.0000000+00:00", + "deviceClassProperties": { + "contractModel": { + "id": "dtmi:azure:iot:deviceUpdateContractModel;2", + "name": "Device Update Model V2" + }, + "compatProperties": { + "osArch": "osArch2" + } + } + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeviceStatesForDeviceClassSubgroupDeployment.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeviceStatesForDeviceClassSubgroupDeployment.json new file mode 100644 index 000000000000..782084ffd1ec --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDeviceStatesForDeviceClassSubgroupDeployment.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "TestGroup", + "deviceClassId": "deviceClassId", + "deploymentId": "deploymentId", + "deviceState": "Succeeded", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "deviceId": "deviceId1", + "retryCount": 1, + "movedOnToNewDeployment": false, + "deviceState": "Succeeded" + }, + { + "deviceId": "deviceId2", + "retryCount": 1, + "movedOnToNewDeployment": false, + "deviceState": "Succeeded" + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDevices.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDevices.json new file mode 100644 index 000000000000..f854fca65d2e --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListDevices.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "deviceId": "device1", + "deviceClassId": "deviceClassId1", + "lastAttemptedUpdate": { + "updateId": { + "provider": "provider1", + "name": "name1", + "version": "2.0.0.0" + } + }, + "deploymentStatus": "Failed", + "installedUpdate": { + "updateId": { + "provider": "provider1", + "name": "name1", + "version": "1.0.0.0" + } + }, + "onLatestUpdate": false, + "lastDeploymentId": "myDeployment123" + }, + { + "deviceId": "device2", + "deviceClassId": "deviceClassId2", + "lastAttemptedUpdate": { + "updateId": { + "provider": "provider2", + "name": "name2", + "version": "1.0.0.0" + } + }, + "deploymentStatus": "Succeeded", + "installedUpdate": { + "updateId": { + "provider": "provider2", + "name": "name2", + "version": "1.0.0.0" + } + }, + "onLatestUpdate": true, + "lastDeploymentId": "myDeployment234" + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListGroups.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListGroups.json new file mode 100644 index 000000000000..1d288db831c4 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListGroups.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "groupId": "MyGroup1", + "groupType": "IoTHubTag", + "createdDateTime": "2020-07-01T12:13:14.0000000Z", + "deviceCount": 100, + "subgroupsWithNewUpdatesAvailableCount": 2, + "subgroupsWithUpdatesInProgressCount": 0, + "subgroupsWithOnLatestUpdateCount": 1, + "deployments": [ + "deployment1", + "deployment2" + ] + }, + { + "groupId": "MyGroup2", + "groupType": "IoTHubTag", + "createdDateTime": "2020-08-01T12:13:14.0000000Z", + "deviceCount": 200, + "subgroupsWithNewUpdatesAvailableCount": 1, + "subgroupsWithUpdatesInProgressCount": 1, + "subgroupsWithOnLatestUpdateCount": 1, + "deployments": [ + "deployment3", + "deployment4" + ] + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListHealthOfDevices.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListHealthOfDevices.json new file mode 100644 index 000000000000..ec5706acbdb2 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListHealthOfDevices.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "filter": "state eq 'unhealthy'", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "deviceId": "device1", + "moduleId": "module1", + "digitalTwinModelId": "dtmi:foo;1", + "state": "unhealthy", + "healthChecks": [ + { + "name": "check1", + "result": "success" + }, + { + "name": "check2", + "result": "userError" + } + ] + } + ], + "nextLink": "http://foo" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListInstallableUpdatesForDeviceClass.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListInstallableUpdatesForDeviceClass.json new file mode 100644 index 000000000000..2e3e60417443 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListInstallableUpdatesForDeviceClass.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "deviceClassId": "deviceClassId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.2.3.4" + }, + "friendlyName": "July 2022 Update" + }, + { + "updateId": { + "provider": "provider2", + "name": "name2", + "version": "2.3.4.5" + } + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListLogCollections.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListLogCollections.json new file mode 100644 index 000000000000..8a0a6b146823 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListLogCollections.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "operationId": "LogCollectionId", + "deviceList": [ + { + "deviceId": "DeviceA" + }, + { + "deviceId": "DeviceB", + "moduleId": "ModuleB" + } + ], + "description": "Log collection description", + "createdDateTime": "2021-09-30T02:23:41.59Z", + "lastActionDateTime": "2021-09-30T02:23:41.59Z", + "status": "NotStarted" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListOperationStatuses.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListOperationStatuses.json new file mode 100644 index 000000000000..dc721d65fce9 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_ListOperationStatuses.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "operationId": "e4491c54-916f-443d-9094-bcca546ace2f", + "status": "Succeeded", + "traceId": "2b881ef9deaf5d45b0a716ca5b4145ec", + "createdDateTime": "2020-04-22T21:00:53.2548897+00:00", + "lastActionDateTime": "2020-04-22T21:01:43.9401420+00:00", + "etag": "\"a0f7b6f2-3f6c-4eb6-8a59-2f5411c23888\"" + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_RetryDeployment.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_RetryDeployment.json new file mode 100644 index 000000000000..ac1a55f65a49 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_RetryDeployment.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "TestGroup", + "deviceClassId": "deviceClassId", + "deploymentId": "deploymentId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "deploymentId": "deploymentId", + "groupId": "TestGroup", + "startDateTime": "2020-04-22T12:12:12.0000000+00:00", + "update": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.2.3.4" + } + }, + "isCanceled": false, + "isRetried": true + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_StartLogCollection.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_StartLogCollection.json new file mode 100644 index 000000000000..ad9251ebbcd1 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_StartLogCollection.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "operationId": "LogCollectionId", + "api-version": "2023-10-01-preview", + "logCollection": { + "deviceList": [ + { + "deviceId": "DeviceA" + }, + { + "deviceId": "DeviceB", + "moduleId": "ModuleB" + } + ], + "description": "Log collection description" + } + }, + "responses": { + "201": { + "body": { + "operationId": "LogCollectionId", + "deviceList": [ + { + "deviceId": "DeviceA" + }, + { + "deviceId": "DeviceB", + "moduleId": "ModuleB" + } + ], + "description": "og collection description", + "createdDateTime": "2021-09-30T02:23:41.59Z", + "lastActionDateTime": "2021-09-30T02:23:41.59Z", + "status": "NotStarted" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_StopDeployment.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_StopDeployment.json new file mode 100644 index 000000000000..cf95110f7e39 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_StopDeployment.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "groupId": "TestGroup", + "deviceClassId": "deviceClassId", + "deploymentId": "deploymentId", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "deploymentId": "deploymentId", + "groupId": "TestGroup", + "startDateTime": "2020-04-22T12:12:12.0000000+00:00", + "update": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.2.3.4" + } + }, + "isCanceled": true, + "isRetried": false + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_UpdateDeviceClass.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_UpdateDeviceClass.json new file mode 100644 index 000000000000..a400c4b79a72 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceManagement_UpdateDeviceClass.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "deviceClassId": "deviceClassId", + "api-version": "2023-10-01-preview", + "deviceClassPatch": { + "friendlyName": "GA Webcams" + } + }, + "responses": { + "200": { + "body": { + "deviceClassId": "deviceClassId", + "friendlyName": "GA Webcams", + "deviceClassProperties": { + "contractModel": { + "id": "dtmi:azure:iot:deviceUpdateContractModel;2", + "name": "Device Update Model V2" + }, + "compatProperties": { + "manufacturer": "manufacturer1", + "model": "model1" + } + }, + "bestCompatibleUpdate": { + "updateId": { + "provider": "provider", + "name": "name", + "version": "1.0.0.0" + }, + "friendlyName": "July 2022 Update" + } + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_DeleteUpdate.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_DeleteUpdate.json new file mode 100644 index 000000000000..7f43546001a7 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_DeleteUpdate.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "provider": "microsoft", + "name": "adu", + "version": "1.0.0.0", + "api-version": "2023-10-01-preview" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/deviceUpdate/blue/operations/e4491c54-916f-443d-9094-bcca546ace2f?api-version=2023-10-01-preview" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_GetFile.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_GetFile.json new file mode 100644 index 000000000000..a099826310d1 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_GetFile.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "provider": "microsoft", + "name": "adu", + "version": "1.0.0.0", + "fileId": "abc123", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "fileId": "abc123", + "fileName": "1v5uww1q.my2", + "sizeInBytes": 1862311, + "hashes": { + "sha256": "OVokcktf61lQXs17MzJCsM98lk48H1Wu1hy7Sp6lLfI=" + }, + "mimeType": "application/BuildAsync-s4jwikgq.44h", + "etag": "\"26bd8eba-4bb2-4960-a357-ca4d60b5fb4b\"" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_GetOperationStatus.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_GetOperationStatus.json new file mode 100644 index 000000000000..c16254962503 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_GetOperationStatus.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "operationId": "e4491c54-916f-443d-9094-bcca546ace2f", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "operationId": "e4491c54-916f-443d-9094-bcca546ace2f", + "status": "Succeeded", + "update": { + "updateId": { + "provider": "microsoft", + "name": "adu", + "version": "1.0.0.0" + }, + "friendlyName": "Microsoft ADU v1" + }, + "resourceLocation": "/deviceUpdate/blue/updates/providers/microsoft/names/adu/versions/1.0.0.0?api-version=2023-10-01-preview", + "traceId": "2b881ef9deaf5d45b0a716ca5b4145ec", + "createdDateTime": "2020-04-22T21:00:53.2548897+00:00", + "lastActionDateTime": "2020-04-22T21:01:43.9401420+00:00", + "etag": "\"a0f7b6f2-3f6c-4eb6-8a59-2f5411c23888\"" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_GetUpdate.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_GetUpdate.json new file mode 100644 index 000000000000..0343e1eb8abf --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_GetUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "provider": "microsoft", + "name": "adu", + "version": "1.0.0.0", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "updateId": { + "provider": "microsoft", + "name": "adu", + "version": "1.0.0.0" + }, + "friendlyName": "Lab Sensor Update v1", + "description": "Fix for critical vulnerability", + "compatibility": [ + { + "deviceManufacturer": "Microsoft", + "deviceModel": "Toaster" + } + ], + "instructions": { + "steps": [ + { + "description": "pre-install script", + "handler": "microsoft/script:1", + "handlerProperties": { + "arguments": "--pre-install" + }, + "files": [ + "configure.sh" + ] + }, + { + "type": "reference", + "updateId": { + "provider": "microsoft", + "name": "sensor", + "version": "1.0" + } + } + ] + }, + "manifestVersion": "5.0", + "importedDateTime": "2020-04-22T21:01:43.8408797+00:00", + "createdDateTime": "2019-09-12T00:00:00.0000000+00:00", + "etag": "\"3fed3378-0c67-47d2-b796-296962c66cbb\"" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ImportUpdate.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ImportUpdate.json new file mode 100644 index 000000000000..7f861ee3021e --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ImportUpdate.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "api-version": "2023-10-01-preview", + "updateToImport": [ + { + "importManifest": { + "url": "http://test.blob.core.windows.net/test/uploadimportMan.json", + "sizeInBytes": 816, + "hashes": { + "sha256": "O19LyyncPe1AGstOdkcmozLV8pSbBdqrE18HdYVohRc=" + } + }, + "files": [ + { + "filename": "file1.bin", + "url": "http://test.blob.core.windows.net/test/upload1v5uww1q" + }, + { + "filename": "file2.bin", + "url": "http://test.blob.core.windows.net/test/uploadkrmn5yw0" + }, + { + "filename": "file3.bin", + "url": "http://test.blob.core.windows.net/test/uploaddq52ky5m" + } + ] + } + ] + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/deviceUpdate/blue/updates/operations/e4491c54-916f-443d-9094-bcca546ace2f?api-version=2023-10-01-preview" + } + }, + "200": { + "body": { + "updateId": { + "provider": "microsoft", + "name": "adu", + "version": "1.0.0.0" + }, + "friendlyName": "Lab Sensor Update v1", + "description": "Fix for critical vulnerability", + "compatibility": [ + { + "deviceManufacturer": "Microsoft", + "deviceModel": "Toaster" + } + ], + "instructions": { + "steps": [ + { + "description": "pre-install script", + "handler": "microsoft/script:1", + "handlerProperties": { + "arguments": "--pre-install" + }, + "files": [ + "configure.sh" + ] + }, + { + "type": "reference", + "updateId": { + "provider": "microsoft", + "name": "sensor", + "version": "1.0" + } + } + ] + }, + "manifestVersion": "5.0", + "importedDateTime": "2020-04-22T21:01:43.8408797+00:00", + "createdDateTime": "2019-09-12T00:00:00.0000000+00:00", + "etag": "\"3fed3378-0c67-47d2-b796-296962c66cbb\"" + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListFiles.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListFiles.json new file mode 100644 index 000000000000..a09720665148 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListFiles.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "provider": "microsoft", + "name": "adu", + "version": "1.0.0.0", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + "abc123", + "def456" + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListNames.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListNames.json new file mode 100644 index 000000000000..d1250c9613b8 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListNames.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "provider": "microsoft", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + "adu" + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListOperationStatuses.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListOperationStatuses.json new file mode 100644 index 000000000000..4271778cb68d --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListOperationStatuses.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "operationId": "e4491c54-916f-443d-9094-bcca546ace2f", + "status": "Succeeded", + "update": { + "updateId": { + "provider": "microsoft", + "name": "adu", + "version": "1.0.0.0" + }, + "friendlyName": "Microsoft ADU v1" + }, + "resourceLocation": "/deviceUpdate/blue/updates/providers/microsoft/names/adu/versions/1.0.0.0?api-version=2023-10-01-preview", + "traceId": "2b881ef9deaf5d45b0a716ca5b4145ec", + "createdDateTime": "2020-04-22T21:00:53.2548897+00:00", + "lastActionDateTime": "2020-04-22T21:01:43.9401420+00:00", + "etag": "\"a0f7b6f2-3f6c-4eb6-8a59-2f5411c23888\"" + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListProviders.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListProviders.json new file mode 100644 index 000000000000..4a8db2d664cd --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListProviders.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + "microsoft" + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListUpdates.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListUpdates.json new file mode 100644 index 000000000000..418be56a06d4 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListUpdates.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "updateId": { + "provider": "microsoft", + "name": "adu", + "version": "1.0.0.0" + }, + "description": "Example update.", + "compatibility": [ + { + "deviceManufacturer": "Microsoft", + "deviceModel": "Toaster" + } + ], + "instructions": { + "steps": [ + { + "description": "pre-install script", + "handler": "microsoft/script:1", + "handlerProperties": { + "arguments": "--pre-install" + }, + "files": [ + "configure.sh" + ] + }, + { + "type": "reference", + "updateId": { + "provider": "microsoft", + "name": "sensor", + "version": "1.0" + } + } + ] + }, + "manifestVersion": "5.0", + "importedDateTime": "2020-04-22T21:01:43.8408797+00:00", + "createdDateTime": "2019-09-12T00:00:00.0000000+00:00", + "etag": "\"3fed3378-0c67-47d2-b796-296962c66cbb\"" + } + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListVersions.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListVersions.json new file mode 100644 index 000000000000..6fae55c9366a --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/DeviceUpdate_ListVersions.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "provider": "microsoft", + "name": "adu", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + "1.0.0.0", + "1.0.0.1" + ] + } + } + } +} diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/InstanceManagement_GetLimits.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/InstanceManagement_GetLimits.json new file mode 100644 index 000000000000..83653642df31 --- /dev/null +++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2023-10-01-preview/examples/InstanceManagement_GetLimits.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "endpoint": "contoso.api.adu.microsoft.com", + "instanceId": "blue", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "counters": { + "deviceCount": { + "usage": 5000, + "quota": 1000000 + }, + "deviceClassCount": { + "usage": 10, + "quota": 80 + }, + "deviceGroupCount": { + "usage": 50, + "quota": 100 + }, + "activeDeploymentCount": { + "usage": 15, + "quota": 50 + }, + "deploymentCount": { + "usage": 60, + "quota": 100 + } + } + } + } + } +} diff --git a/specification/deviceupdate/data-plane/readme.md b/specification/deviceupdate/data-plane/readme.md index 1b711d1d533e..f6aac9f6ab71 100644 --- a/specification/deviceupdate/data-plane/readme.md +++ b/specification/deviceupdate/data-plane/readme.md @@ -24,16 +24,25 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor These are the global settings for the deviceupdate. -```yaml +``` yaml openapi-type: data-plane -tag: package-2022-10-01 +tag: package-preview-2023-10 ``` + +### Tag: package-preview-2023-10 + +These settings apply only when `--tag=package-preview-2023-10` is specified on the command line. + +```yaml $(tag) == 'package-preview-2023-10' +input-file: + - Microsoft.DeviceUpdate/preview/2023-10-01-preview/deviceupdate.json +``` ### Tag: package-2020-09-01 These settings apply only when `--tag=package-2020-09-01` is specified on the command line. -```yaml $(tag) == 'package-2020-09-01' +``` yaml $(tag) == 'package-2020-09-01' input-file: - Microsoft.DeviceUpdate/preview/2020-09-01/deviceupdate.json ``` @@ -42,7 +51,7 @@ input-file: These settings apply only when `--tag=package-2021-06-01-preview` is specified on the command line. -```yaml $(tag) == 'package-2021-06-01-preview' +``` yaml $(tag) == 'package-2021-06-01-preview' input-file: - Microsoft.DeviceUpdate/preview/2021-06-01-preview/deviceupdate.json ``` @@ -51,7 +60,7 @@ input-file: These settings apply only when `--tag=package-2022-07-01-preview` is specified on the command line. -```yaml $(tag) == 'package-2022-07-01-preview' +``` yaml $(tag) == 'package-2022-07-01-preview' input-file: - Microsoft.DeviceUpdate/preview/2022-07-01-preview/deviceupdate.json ``` @@ -60,7 +69,7 @@ input-file: These settings apply only when `--tag=package-2022-10-01` is specified on the command line. -```yaml $(tag) == 'package-2022-10-01' +``` yaml $(tag) == 'package-2022-10-01' input-file: - Microsoft.DeviceUpdate/stable/2022-10-01/deviceupdate.json ``` @@ -91,7 +100,7 @@ directive: This section describes what SDK should be generated by the automatic system. This is not used by Autorest itself. -```yaml $(swagger-to-sdk) +``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java @@ -108,7 +117,7 @@ See configuration in [readme.python.md](./readme.python.md) See configuration in [readme.typescript.md](./readme.typescript.md) -## Multi-API/Profile support for AutoRest v3 generators +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -124,10 +133,10 @@ input-file: ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' -#exclude-file: +#exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` diff --git a/specification/deviceupdate/resource-manager/readme.typescript.md b/specification/deviceupdate/resource-manager/readme.typescript.md index 0b1cbfcb72ca..d980146b439c 100644 --- a/specification/deviceupdate/resource-manager/readme.typescript.md +++ b/specification/deviceupdate/resource-manager/readme.typescript.md @@ -9,4 +9,10 @@ typescript: package-name: "@azure/arm-deviceupdate" output-folder: "$(typescript-sdks-folder)/sdk/deviceupdate/arm-deviceupdate" generate-metadata: true + +directive: +- from: deviceupdate.json + where: $.definitions.Account + transform: > + $.properties.properties.properties.sku["x-ms-enum"].name = "Sku" ``` diff --git a/specification/dns/resource-manager/Microsoft.Network/preview/2023-07-01-preview/dns.json b/specification/dns/resource-manager/Microsoft.Network/preview/2023-07-01-preview/dns.json index 9f690ff19426..2870bd3578a1 100644 --- a/specification/dns/resource-manager/Microsoft.Network/preview/2023-07-01-preview/dns.json +++ b/specification/dns/resource-manager/Microsoft.Network/preview/2023-07-01-preview/dns.json @@ -413,6 +413,9 @@ "Create A recordset with alias target resource": { "$ref": "./examples/CreateOrUpdateARecordsetAlias.json" }, + "Create A recordset with traffic management profile": { + "$ref": "./examples/CreateOrUpdateARecordSetTrafficManagementProfile.json" + }, "Create AAAA recordset": { "$ref": "./examples/CreateOrUpdateAAAARecordset.json" }, @@ -1500,6 +1503,10 @@ "$ref": "#/definitions/SubResource", "description": "A reference to an azure resource from where the dns resource value is taken." }, + "trafficManagementProfile": { + "$ref": "#/definitions/SubResource", + "description": "A reference to an azure traffic manager profile resource from where the dns resource value is taken." + }, "ARecords": { "type": "array", "x-ms-identifiers": [], diff --git a/specification/dns/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/CreateOrUpdateARecordSetTrafficManagementProfile.json b/specification/dns/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/CreateOrUpdateARecordSetTrafficManagementProfile.json new file mode 100644 index 000000000000..ad1f2cffc125 --- /dev/null +++ b/specification/dns/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/CreateOrUpdateARecordSetTrafficManagementProfile.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "zoneName": "zone1", + "resourceGroupName": "rg1", + "api-version": "2023-07-01-preview", + "subscriptionId": "subid", + "relativeRecordSetName": "record1", + "recordType": "A", + "parameters": { + "properties": { + "metadata": { + "key1": "value1" + }, + "TTL": 3600, + "trafficManagementProfile": { + "id": "/subscriptions/726f8cd6-6459-4db4-8e6d-2cd2716904e2/resourceGroups/test/providers/Microsoft.Network/trafficManagerProfiles/testpp2" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/A/record1", + "etag": "00000000-0000-0000-0000-000000000000", + "name": "record1", + "type": "Microsoft.Network/dnsZones/A", + "properties": { + "metadata": { + "key1": "value1" + }, + "TTL": 3600, + "fqdn": "record1.zone1", + "trafficManagementProfile": { + "id": "/subscriptions/726f8cd6-6459-4db4-8e6d-2cd2716904e2/resourceGroups/test/providers/Microsoft.Network/trafficManagerProfiles/testpp2" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/A/record1", + "etag": "00000000-0000-0000-0000-000000000000", + "name": "record1", + "type": "Microsoft.Network/dnsZones/A", + "properties": { + "metadata": { + "key1": "value1" + }, + "TTL": 3600, + "fqdn": "record1.zone1", + "trafficManagementProfile": { + "id": "/subscriptions/726f8cd6-6459-4db4-8e6d-2cd2716904e2/resourceGroups/test/providers/Microsoft.Network/trafficManagerProfiles/testpp2" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/edgeorder.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/edgeorder.json new file mode 100644 index 000000000000..e8f0fd931c76 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/edgeorder.json @@ -0,0 +1,4361 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-01", + "title": "Edge Ordering Service-Customer" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.EdgeOrder/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "List all the supported operations.", + "operationId": "Operations_List", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The supported operations list.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/addresses": { + "get": { + "tags": [ + "Addresses" + ], + "description": "List all the addresses available under the subscription.", + "operationId": "Addresses_ListBySubscription", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "$filter is supported to filter based on shipping address properties. Filter supports only equals operation.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of addresses, which provides the next page in the list of addresses.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "$top is supported on fetching list of resources. $top=10 means that the first 10 items in the list will be returned to the API caller.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "List of addresses available under the subscription.", + "schema": { + "$ref": "#/definitions/AddressResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListAddressesAtSubscriptionLevel": { + "$ref": "./examples/ListAddressesAtSubscriptionLevel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/listConfigurations": { + "post": { + "tags": [ + "ProductsAndConfigurations" + ], + "description": "List configurations for the given product family, product line and product for the given subscription.", + "operationId": "ProductsAndConfigurations_ListConfigurations", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on list of configurations, which provides the next page in the list of configurations.", + "required": false, + "type": "string" + }, + { + "name": "configurationsRequest", + "in": "body", + "description": "Filters for showing the configurations.", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationsRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of configurations for the given product family, product line and product for the given subscription.", + "schema": { + "$ref": "#/definitions/Configurations" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListConfigurations": { + "$ref": "./examples/ListConfigurations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/listProductFamilies": { + "post": { + "tags": [ + "ProductsAndConfigurations" + ], + "description": "List product families for the given subscription.", + "operationId": "ProductsAndConfigurations_ListProductFamilies", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on configurations parameter for product, which provides details on the configurations for the product.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on list of product families, which provides the next page in the list of product families.", + "required": false, + "type": "string" + }, + { + "name": "productFamiliesRequest", + "in": "body", + "description": "Filters for showing the product families.", + "required": true, + "schema": { + "$ref": "#/definitions/ProductFamiliesRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of available product families for the given subscription.", + "schema": { + "$ref": "#/definitions/ProductFamilies" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListProductFamilies": { + "$ref": "./examples/ListProductFamilies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/orderItems": { + "get": { + "tags": [ + "OrderItems" + ], + "description": "List order items at subscription level.", + "operationId": "OrderItems_ListBySubscription", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "$filter is supported to filter based on order id and order Item Type. Filter supports only equals operation.", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on parent device details, device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Parent Device Details for order item provides details on the devices of the product, Device Details for order item provides details on the devices of the child configurations of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of order items, which provides the next page in the list of order items.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "$top is supported on fetching list of resources. $top=10 means that the first 10 items in the list will be returned to the API caller.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "List of order items available under the subscription.", + "schema": { + "$ref": "#/definitions/OrderItemResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListOrderItemsAtSubscriptionLevel": { + "$ref": "./examples/ListOrderItemsAtSubscriptionLevel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/orders": { + "get": { + "tags": [ + "Order" + ], + "description": "List orders at subscription level.", + "operationId": "Orders_ListBySubscription", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of orders, which provides the next page in the list of orders.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "$top is supported on fetching list of resources. $top=10 means that the first 10 items in the list will be returned to the API caller.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "List of orders available under the subscription.", + "schema": { + "$ref": "#/definitions/OrderResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListOrderAtSubscriptionLevel": { + "$ref": "./examples/ListOrderAtSubscriptionLevel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/productFamiliesMetadata": { + "post": { + "tags": [ + "ProductFamilyMetadata" + ], + "description": "List product families metadata for the given subscription.", + "operationId": "ProductsAndConfigurations_ListProductFamiliesMetadata", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on list of product families metadata, which provides the next page in the list of product families metadata.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The list of available product families for the given subscription.", + "schema": { + "$ref": "#/definitions/ProductFamiliesMetadata" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListProductFamiliesMetadata": { + "$ref": "./examples/ListProductFamiliesMetadata.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses": { + "get": { + "tags": [ + "Addresses" + ], + "description": "List all the addresses available under the given resource group.", + "operationId": "Addresses_ListByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "$filter is supported to filter based on shipping address properties. Filter supports only equals operation.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of addresses, which provides the next page in the list of addresses.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "$top is supported on fetching list of resources. $top=10 means that the first 10 items in the list will be returned to the API caller.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "List of addresses available under the resource group.", + "schema": { + "$ref": "#/definitions/AddressResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListAddressesAtResourceGroupLevel": { + "$ref": "./examples/ListAddressesAtResourceGroupLevel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}": { + "get": { + "tags": [ + "Addresses" + ], + "description": "Get information about the specified address.", + "operationId": "Addresses_Get", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/addressNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Address object.", + "schema": { + "$ref": "#/definitions/AddressResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetAddressByName": { + "$ref": "./examples/GetAddressByName.json" + } + } + }, + "put": { + "tags": [ + "Addresses" + ], + "description": "Create a new address with the specified parameters. Existing address cannot be updated with this API and should\r\ninstead be updated with the Update address API.", + "operationId": "Addresses_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/addressNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "addressResource", + "in": "body", + "description": "Address details from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/AddressResource" + } + } + ], + "responses": { + "200": { + "description": "Address resource object.", + "schema": { + "$ref": "#/definitions/AddressResource" + } + }, + "202": { + "description": "Accepted request for create Address.", + "headers": { + "Location": { + "description": "The URL to track the status of the long running operation.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CreateAddress": { + "$ref": "./examples/CreateAddress.json" + } + } + }, + "delete": { + "tags": [ + "Addresses" + ], + "description": "Delete an address.", + "operationId": "Addresses_Delete", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/addressNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted request for delete address.", + "headers": { + "Location": { + "description": "The URL to track the status of the long running operation.", + "type": "string" + } + } + }, + "204": { + "description": "No content. Address deleted." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeleteAddressByName": { + "$ref": "./examples/DeleteAddressByName.json" + } + } + }, + "patch": { + "tags": [ + "Addresses" + ], + "description": "Update the properties of an existing address.", + "operationId": "Addresses_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/addressNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "If-Match", + "in": "header", + "description": "Defines the If-Match condition. The patch will be performed only if the ETag of the job on the server matches this value.", + "required": false, + "type": "string" + }, + { + "name": "addressUpdateParameter", + "in": "body", + "description": "Address update parameters from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/AddressUpdateParameter" + } + } + ], + "responses": { + "202": { + "description": "Accepted request for address update.", + "headers": { + "Location": { + "description": "The URL to track the status of the long running operation.", + "type": "string" + } + } + }, + "200": { + "description": "Address resource object.", + "schema": { + "$ref": "#/definitions/AddressResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UpdateAddress": { + "$ref": "./examples/UpdateAddress.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/locations/{location}/orders/{orderName}": { + "get": { + "tags": [ + "Order" + ], + "description": "Get an order.", + "operationId": "Orders_Get", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/orderNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Order resource object.", + "schema": { + "$ref": "#/definitions/OrderResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetOrderByName": { + "$ref": "./examples/GetOrderByName.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems": { + "get": { + "tags": [ + "OrderItems" + ], + "description": "List order items at resource group level.", + "operationId": "OrderItems_ListByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "$filter is supported to filter based on order id and order Item Type. Filter supports only equals operation.", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on parent device details, device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Parent Device Details for order item provides details on the devices of the product, Device Details for order item provides details on the devices of the child configurations of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of order items, which provides the next page in the list of order items.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "$top is supported on fetching list of resources. $top=10 means that the first 10 items in the list will be returned to the API caller.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "List of order items available under the resource group.", + "schema": { + "$ref": "#/definitions/OrderItemResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListOrderItemsAtResourceGroupLevel": { + "$ref": "./examples/ListOrderItemsAtResourceGroupLevel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}": { + "get": { + "tags": [ + "OrderItems" + ], + "description": "Get an order item.", + "operationId": "OrderItems_Get", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/orderItemNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on parent device details, device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Parent Device Details for order item provides details on the devices of the product, Device Details for order item provides details on the devices of the child configurations of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Order item object.", + "schema": { + "$ref": "#/definitions/OrderItemResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetOrderItemByName": { + "$ref": "./examples/GetOrderItemByName.json" + } + } + }, + "put": { + "tags": [ + "OrderItems" + ], + "description": "Create an order item. Existing order item cannot be updated with this api and should instead be updated with the Update order item\r\nAPI.", + "operationId": "OrderItems_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/orderItemNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "orderItemResource", + "in": "body", + "description": "Order item details from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/OrderItemResource" + } + } + ], + "responses": { + "200": { + "description": "Order resource object.", + "schema": { + "$ref": "#/definitions/OrderItemResource" + } + }, + "202": { + "description": "Accepted request to create order item.", + "headers": { + "Location": { + "description": "The URL to track the status of the long running operation.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CreateOrderItem": { + "$ref": "./examples/CreateOrderItem.json" + } + } + }, + "delete": { + "tags": [ + "OrderItems" + ], + "description": "Delete an order item.", + "operationId": "OrderItems_Delete", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/orderItemNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted delete request for an order item.", + "headers": { + "Location": { + "description": "The URL to track the status of the long running operation.", + "type": "string" + } + } + }, + "204": { + "description": "No content. Order item deleted." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeleteOrderItemByName": { + "$ref": "./examples/DeleteOrderItemByName.json" + } + } + }, + "patch": { + "tags": [ + "OrderItems" + ], + "description": "Update the properties of an existing order item.", + "operationId": "OrderItems_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/orderItemNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "If-Match", + "in": "header", + "description": "Defines the If-Match condition. The patch will be performed only if the ETag of the order on the server matches this value.", + "required": false, + "type": "string" + }, + { + "name": "orderItemUpdateParameter", + "in": "body", + "description": "Order item update parameters from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/OrderItemUpdateParameter" + } + } + ], + "responses": { + "202": { + "description": "Accepted request for order item update.", + "headers": { + "Location": { + "description": "The URL to track the status of the long running operation.", + "type": "string" + } + } + }, + "200": { + "description": "Order item resource object.", + "schema": { + "$ref": "#/definitions/OrderItemResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UpdateOrderItem": { + "$ref": "./examples/UpdateOrderItem.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/cancel": { + "post": { + "tags": [ + "OrderItems" + ], + "description": "Cancel order item.", + "operationId": "OrderItems_Cancel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/orderItemNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "cancellationReason", + "in": "body", + "description": "Reason for cancellation.", + "required": true, + "schema": { + "$ref": "#/definitions/CancellationReason" + } + } + ], + "responses": { + "200": { + "description": "Order item cancelled." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CancelOrderItem": { + "$ref": "./examples/CancelOrderItem.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/return": { + "post": { + "tags": [ + "OrderItems" + ], + "description": "Return order item.", + "operationId": "OrderItems_Return", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/orderItemNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "returnOrderItemDetails", + "in": "body", + "description": "Return order item details.", + "required": true, + "schema": { + "$ref": "#/definitions/ReturnOrderItemDetails" + } + } + ], + "responses": { + "200": { + "description": "Success." + }, + "202": { + "description": "Return order item request accepted.", + "headers": { + "Location": { + "description": "The URL to track the status of the long running operation.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ReturnOrderItem": { + "$ref": "./examples/ReturnOrderItem.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orders": { + "get": { + "tags": [ + "Order" + ], + "description": "List orders at resource group level.", + "operationId": "Orders_ListByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of orders, which provides the next page in the list of orders.", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "$top is supported on fetching list of resources. $top=10 means that the first 10 items in the list will be returned to the API caller.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "List of orders available under the resource group.", + "schema": { + "$ref": "#/definitions/OrderResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListOrderAtResourceGroupLevel": { + "$ref": "./examples/ListOrderAtResourceGroupLevel.json" + } + } + } + } + }, + "definitions": { + "AdditionalConfiguration": { + "description": "Additional Configuration details.", + "required": [ + "hierarchyInformation", + "quantity" + ], + "type": "object", + "properties": { + "hierarchyInformation": { + "$ref": "#/definitions/HierarchyInformation", + "description": "Hierarchy of the product which uniquely identifies the configuration." + }, + "quantity": { + "format": "int32", + "description": "Quantity of the product.", + "type": "integer" + }, + "provisioningDetails": { + "description": "List Provisioning Details for Devices in Additional Config.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ProvisioningDetails" + }, + "x-ms-identifiers": [] + } + } + }, + "AddressClassification": { + "description": "Type of address based on its usage context.", + "enum": [ + "Shipping", + "Site" + ], + "type": "string", + "x-ms-enum": { + "name": "AddressClassification", + "modelAsString": true, + "values": [ + { + "value": "Shipping", + "description": "Shipping address for the order." + }, + { + "value": "Site", + "description": "Site Address." + } + ] + } + }, + "AddressDetails": { + "description": "Address details for an order item.", + "required": [ + "forwardAddress" + ], + "type": "object", + "properties": { + "forwardAddress": { + "$ref": "#/definitions/AddressProperties", + "description": "Customer address and contact details." + }, + "returnAddress": { + "$ref": "#/definitions/AddressProperties", + "description": "Return shipping address.", + "readOnly": true + } + } + }, + "AddressProperties": { + "description": "Address Properties.", + "type": "object", + "properties": { + "addressClassification": { + "$ref": "#/definitions/AddressClassification", + "description": "Type of address based on its usage context." + }, + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping details for the address." + }, + "contactDetails": { + "$ref": "#/definitions/ContactDetails", + "description": "Contact details for the address." + }, + "addressValidationStatus": { + "description": "Status of address validation.", + "enum": [ + "Valid", + "Invalid", + "Ambiguous" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddressValidationStatus", + "modelAsString": true, + "values": [ + { + "value": "Valid", + "description": "Address provided is valid." + }, + { + "value": "Invalid", + "description": "Address provided is invalid or not supported." + }, + { + "value": "Ambiguous", + "description": "Address provided is ambiguous, please choose one of the alternate addresses returned." + } + ] + } + }, + "provisioningState": { + "description": "Provisioning state", + "$ref": "#/definitions/ProvisioningState" + } + } + }, + "AddressResource": { + "description": "Address Resource.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AddressProperties", + "description": "Properties of an address.", + "x-ms-client-flatten": true + } + } + }, + "AddressResourceList": { + "description": "Address Resource Collection.", + "type": "object", + "properties": { + "value": { + "description": "List of address resources.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/AddressResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of job resources.", + "type": "string" + } + } + }, + "AddressUpdateParameter": { + "description": "The Address update parameters.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddressUpdateProperties", + "description": "Properties of an address to be updated.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "AddressUpdateProperties": { + "description": "Address Update Properties.", + "type": "object", + "properties": { + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping details for the address." + }, + "contactDetails": { + "$ref": "#/definitions/ContactDetails", + "description": "Contact details for the address." + } + } + }, + "AutoProvisioningStatus": { + "description": "Auto Provisioning Details.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoProvisioningStatus", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Provisioning Enabled. Will act as pre-approved, and arc extension will be enabled as soon as the device is verified to be at the right edge location." + }, + { + "value": "Disabled", + "description": "Provisioning Disabled." + } + ] + } + }, + "AvailabilityInformation": { + "description": "Availability information of a product system.", + "type": "object", + "properties": { + "availabilityStage": { + "description": "Current availability stage of the product.", + "enum": [ + "Available", + "Preview", + "Signup", + "Discoverable", + "ComingSoon", + "Unavailable", + "Deprecated" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AvailabilityStage", + "modelAsString": true, + "values": [ + { + "value": "Available", + "description": "Product is available." + }, + { + "value": "Preview", + "description": "Product is in preview." + }, + { + "value": "Signup", + "description": "Product is available only on signup." + }, + { + "value": "Discoverable", + "description": "Product is not available in our service but can be discovered from other sources." + }, + { + "value": "ComingSoon", + "description": "Product is coming soon." + }, + { + "value": "Unavailable", + "description": "Product is not available." + }, + { + "value": "Deprecated", + "description": "Product is deprecated." + } + ] + } + }, + "disabledReason": { + "description": "Reason why the product is disabled.", + "enum": [ + "None", + "Country", + "Region", + "Feature", + "OfferType", + "NoSubscriptionInfo", + "NotAvailable", + "OutOfStock" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DisabledReason", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Not disabled." + }, + { + "value": "Country", + "description": "Not available in the requested country." + }, + { + "value": "Region", + "description": "Not available to push data to the requested Azure region." + }, + { + "value": "Feature", + "description": "Required features are not enabled." + }, + { + "value": "OfferType", + "description": "Subscription does not have required offer types." + }, + { + "value": "NoSubscriptionInfo", + "description": "Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification." + }, + { + "value": "NotAvailable", + "description": "The product is not yet available." + }, + { + "value": "OutOfStock", + "description": "The product is out of stock." + } + ] + } + }, + "disabledReasonMessage": { + "description": "Message for why the product is disabled.", + "type": "string", + "readOnly": true + } + } + }, + "BasicInformation": { + "description": "Basic information for any product system.", + "type": "object", + "properties": { + "displayName": { + "description": "Display Name for the product system.", + "type": "string", + "readOnly": true + }, + "description": { + "$ref": "#/definitions/Description", + "description": "Description related to the product system.", + "readOnly": true + }, + "imageInformation": { + "description": "Image information for the product system.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ImageInformation" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "costInformation": { + "$ref": "#/definitions/CostInformation", + "description": "Cost information for the product system.", + "readOnly": true + }, + "availabilityInformation": { + "$ref": "#/definitions/AvailabilityInformation", + "description": "Availability information of the product system.", + "readOnly": true + }, + "hierarchyInformation": { + "$ref": "#/definitions/HierarchyInformation", + "description": "Hierarchy information of a product.", + "readOnly": true + }, + "fulfilledBy": { + "description": "The entity responsible for fulfillment of the item at the given hierarchy level.", + "enum": [ + "Microsoft", + "External" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "FulfillmentType", + "modelAsString": true, + "values": [ + { + "value": "Microsoft", + "description": "The fulfillment (the whole journey of the product offering) is handled by microsoft." + }, + { + "value": "External", + "description": "The fulfillment (the whole journey of the product offering) is handled by external third party entities." + } + ] + } + } + } + }, + "BillingMeterDetails": { + "description": "Holds billing meter details for each type of billing.", + "type": "object", + "properties": { + "name": { + "description": "Represents Billing type name.", + "type": "string", + "readOnly": true + }, + "meterDetails": { + "$ref": "#/definitions/MeterDetails", + "description": "Represents MeterDetails.", + "readOnly": true + }, + "meteringType": { + "description": "Represents Metering type (eg one-time or recurrent).", + "enum": [ + "OneTime", + "Recurring", + "Adhoc" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MeteringType", + "modelAsString": true, + "values": [ + { + "value": "OneTime", + "description": "One time billing." + }, + { + "value": "Recurring", + "description": "Recurring billing." + }, + { + "value": "Adhoc", + "description": "Adhoc billing." + } + ] + } + }, + "frequency": { + "description": "Frequency of recurrence.", + "type": "string", + "readOnly": true + }, + "termTypeDetails": { + "description": "Represent Term Type details.", + "$ref": "#/definitions/TermTypeDetails", + "readOnly": true + } + } + }, + "CancellationReason": { + "description": "Reason for cancellation.", + "required": [ + "reason" + ], + "type": "object", + "properties": { + "reason": { + "description": "Reason for cancellation.", + "type": "string" + } + } + }, + "CategoryInformation": { + "description": "Category related properties of a child configuration.", + "type": "object", + "properties": { + "categoryName": { + "description": "Category name of the child configuration.", + "type": "string" + }, + "categoryDisplayName": { + "description": "Category display name of the child configuration.", + "type": "string" + }, + "description": { + "description": "Description text for the category.", + "type": "string" + }, + "links": { + "description": "Links for the category.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Link" + }, + "x-ms-identifiers": [] + } + } + }, + "ChildConfiguration": { + "description": "Child configuration object.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ChildConfigurationProperties", + "description": "Properties of child configuration.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ChildConfigurationFilter": { + "description": "Child configuration filter.", + "type": "object", + "properties": { + "hierarchyInformations": { + "description": "The list of child configuration hierarchy customer wants to filter for the given configuration.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/HierarchyInformation" + }, + "x-ms-identifiers": [] + }, + "childConfigurationTypes": { + "description": "Filter to fetch all child configurations belonging to the given list of configuration types.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "DeviceConfiguration", + "AdditionalConfiguration" + ], + "type": "string", + "x-ms-enum": { + "name": "ChildConfigurationType", + "modelAsString": true, + "values": [ + { + "value": "DeviceConfiguration", + "description": "Child configuration is a device configuration." + }, + { + "value": "AdditionalConfiguration", + "description": "Child configuration is an additional configuration." + } + ] + } + } + } + } + }, + "ChildConfigurationProperties": { + "description": "Properties of child configuration.", + "type": "object", + "properties": { + "childConfigurationType": { + "description": "Child configuration type.", + "enum": [ + "DeviceConfiguration", + "AdditionalConfiguration" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ChildConfigurationType", + "modelAsString": true, + "values": [ + { + "value": "DeviceConfiguration", + "description": "Child configuration is a device configuration." + }, + { + "value": "AdditionalConfiguration", + "description": "Child configuration is an additional configuration." + } + ] + } + }, + "isPartOfBaseConfiguration": { + "description": "Flag to indicate if the child configuration is part of the base configuration, which means the customer need not pass this configuration in OptInAdditionalConfigurations while placing an order, it will be shipped by default.", + "type": "boolean", + "readOnly": true + }, + "minimumQuantity": { + "format": "int32", + "description": "Minimum quantity a customer can order while choosing this configuration.", + "type": "integer", + "readOnly": true + }, + "maximumQuantity": { + "format": "int32", + "description": "Maximum quantity a customer can order while choosing this configuration.", + "type": "integer", + "readOnly": true + }, + "specifications": { + "description": "Specifications of the configuration.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Specification" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "dimensions": { + "$ref": "#/definitions/Dimensions", + "description": "Dimensions of the configuration.", + "readOnly": true + }, + "provisioningSupport": { + "description": "Determining nature of provisioning that the configuration supports.", + "$ref": "#/definitions/ProvisioningSupport", + "readOnly": true + }, + "childConfigurationTypes": { + "description": "Different types of child configurations which exist for this configuration, these can be used to populate the child configuration filter.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "DeviceConfiguration", + "AdditionalConfiguration" + ], + "type": "string", + "x-ms-enum": { + "name": "ChildConfigurationType", + "modelAsString": true, + "values": [ + { + "value": "DeviceConfiguration", + "description": "Child configuration is a device configuration." + }, + { + "value": "AdditionalConfiguration", + "description": "Child configuration is an additional configuration." + } + ] + } + }, + "readOnly": true + }, + "groupedChildConfigurations": { + "description": "Child configurations present for the configuration after applying child configuration filter, grouped by the category name of the child configuration.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/GroupedChildConfigurations" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "supportedTermCommitmentDurations": { + "description": "The Term Commitment Durations that are supported for a configuration.", + "type": "array", + "items": { + "type": "string", + "format": "duration" + }, + "readOnly": true + }, + "filterableProperties": { + "description": "List of filters supported for a product.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/FilterableProperty" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "displayName": { + "description": "Display Name for the product system.", + "type": "string", + "readOnly": true + }, + "description": { + "$ref": "#/definitions/Description", + "description": "Description related to the product system.", + "readOnly": true + }, + "imageInformation": { + "description": "Image information for the product system.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ImageInformation" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "costInformation": { + "$ref": "#/definitions/CostInformation", + "description": "Cost information for the product system.", + "readOnly": true + }, + "availabilityInformation": { + "$ref": "#/definitions/AvailabilityInformation", + "description": "Availability information of the product system.", + "readOnly": true + }, + "hierarchyInformation": { + "$ref": "#/definitions/HierarchyInformation", + "description": "Hierarchy information of a product.", + "readOnly": true + }, + "fulfilledBy": { + "description": "The entity responsible for fulfillment of the item at the given hierarchy level.", + "enum": [ + "Microsoft", + "External" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "FulfillmentType", + "modelAsString": true, + "values": [ + { + "value": "Microsoft", + "description": "The fulfillment (the whole journey of the product offering) is handled by microsoft." + }, + { + "value": "External", + "description": "The fulfillment (the whole journey of the product offering) is handled by external third party entities." + } + ] + } + } + } + }, + "CommonProperties": { + "description": "Represents common properties across product hierarchy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BasicInformation" + } + ], + "properties": { + "filterableProperties": { + "description": "List of filters supported for a product.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/FilterableProperty" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "Configuration": { + "description": "Configuration object.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConfigurationProperties", + "description": "Properties of configuration.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ConfigurationDeviceDetails": { + "description": "Device details for configuration.", + "type": "object", + "properties": { + "displayInfo": { + "$ref": "#/definitions/DisplayInfo", + "description": "Display details of the product." + }, + "hierarchyInformation": { + "$ref": "#/definitions/HierarchyInformation", + "description": "Hierarchy of the product which uniquely identifies the configuration.", + "readOnly": true + }, + "quantity": { + "format": "int32", + "description": "Quantity of the product.", + "type": "integer", + "readOnly": true + }, + "identificationType": { + "description": "Identification type of the configuration.", + "enum": [ + "NotSupported", + "SerialNumber" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IdentificationType", + "modelAsString": true, + "values": [ + { + "value": "NotSupported", + "description": "Product does not have any explicit identifier." + }, + { + "value": "SerialNumber", + "description": "Product is identifiable by serial number." + } + ] + } + }, + "deviceDetails": { + "description": "List of device details.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DeviceDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "termCommitmentInformation": { + "description": "Term Commitment Information of the Device.", + "$ref": "#/definitions/TermCommitmentInformation", + "readOnly": true + } + } + }, + "ConfigurationFilter": { + "description": "Configuration filters.", + "required": [ + "hierarchyInformation" + ], + "type": "object", + "properties": { + "hierarchyInformation": { + "$ref": "#/definitions/HierarchyInformation", + "description": "Product hierarchy information." + }, + "filterableProperty": { + "description": "Filters specific to product.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/FilterableProperty" + }, + "x-ms-identifiers": [] + }, + "childConfigurationFilter": { + "$ref": "#/definitions/ChildConfigurationFilter", + "description": "Filter to fetch specific child configurations that exist in the configuration. This must be passed to either fetch a list of specific child configurations, or all child configurations of specific types of child configurations." + } + } + }, + "ConfigurationProperties": { + "description": "Properties of configuration.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CommonProperties" + } + ], + "properties": { + "specifications": { + "description": "Specifications of the configuration.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Specification" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "dimensions": { + "$ref": "#/definitions/Dimensions", + "description": "Dimensions of the configuration.", + "readOnly": true + }, + "provisioningSupport": { + "description": "Determining nature of provisioning that the configuration supports.", + "$ref": "#/definitions/ProvisioningSupport", + "readOnly": true + }, + "childConfigurationTypes": { + "description": "Different types of child configurations which exist for this configuration, these can be used to populate the child configuration filter.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "DeviceConfiguration", + "AdditionalConfiguration" + ], + "type": "string", + "x-ms-enum": { + "name": "ChildConfigurationType", + "modelAsString": true, + "values": [ + { + "value": "DeviceConfiguration", + "description": "Child configuration is a device configuration." + }, + { + "value": "AdditionalConfiguration", + "description": "Child configuration is an additional configuration." + } + ] + } + }, + "readOnly": true + }, + "groupedChildConfigurations": { + "description": "Child configurations present for the configuration after applying child configuration filter, grouped by the category name of the child configuration.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/GroupedChildConfigurations" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "supportedTermCommitmentDurations": { + "description": "The Term Commitment Durations that are supported for a configuration.", + "type": "array", + "items": { + "type": "string", + "format": "duration" + }, + "readOnly": true + } + } + }, + "Configurations": { + "description": "The list of configurations.", + "type": "object", + "properties": { + "value": { + "description": "List of configurations.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link for the next set of configurations.", + "type": "string" + } + } + }, + "ConfigurationsRequest": { + "description": "Configuration request object.", + "type": "object", + "properties": { + "configurationFilter": { + "$ref": "#/definitions/ConfigurationFilter", + "description": "Holds details about product hierarchy information and filterable property." + }, + "customerSubscriptionDetails": { + "$ref": "#/definitions/CustomerSubscriptionDetails", + "description": "Customer subscription properties. Clients can display available products to unregistered customers by explicitly passing subscription details." + } + } + }, + "ContactDetails": { + "description": "Contact Details.", + "type": "object", + "properties": { + "contactName": { + "description": "Contact name of the person.", + "type": "string" + }, + "phone": { + "description": "Phone number of the contact person.", + "type": "string" + }, + "phoneExtension": { + "description": "Phone extension number of the contact person.", + "type": "string" + }, + "mobile": { + "description": "Mobile number of the contact person.", + "type": "string" + }, + "emailList": { + "description": "List of Email-ids to be notified about job progress.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CostInformation": { + "description": "Cost information for the product system.", + "type": "object", + "properties": { + "billingMeterDetails": { + "description": "Details on the various billing aspects for the product system.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BillingMeterDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "billingInfoUrl": { + "description": "Default url to display billing information.", + "type": "string", + "readOnly": true + } + } + }, + "CustomerSubscriptionDetails": { + "description": "Holds Customer subscription details. Clients can display available products to unregistered customers by explicitly passing subscription details.", + "required": [ + "quotaId" + ], + "type": "object", + "properties": { + "registeredFeatures": { + "description": "List of registered feature flags for subscription.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/CustomerSubscriptionRegisteredFeatures" + }, + "x-ms-identifiers": [] + }, + "locationPlacementId": { + "description": "Location placement Id of a subscription.", + "type": "string" + }, + "quotaId": { + "description": "Quota ID of a subscription.", + "type": "string" + } + } + }, + "CustomerSubscriptionRegisteredFeatures": { + "description": "Represents subscription registered features.", + "type": "object", + "properties": { + "name": { + "description": "Name of subscription registered feature.", + "type": "string" + }, + "state": { + "description": "State of subscription registered feature.", + "type": "string" + } + } + }, + "Description": { + "description": "Description related properties of a product system.", + "type": "object", + "properties": { + "descriptionType": { + "description": "Type of description.", + "enum": [ + "Base" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DescriptionType", + "modelAsString": true, + "values": [ + { + "value": "Base", + "description": "Base description." + } + ] + } + }, + "shortDescription": { + "description": "Short description of the product system.", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "Long description of the product system.", + "type": "string", + "readOnly": true + }, + "keywords": { + "description": "Keywords for the product system.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "attributes": { + "description": "Attributes for the product system.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "links": { + "description": "Links for the product system.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Link" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "DeviceDetails": { + "description": "Device details.", + "type": "object", + "properties": { + "serialNumber": { + "description": "Device serial number.", + "type": "string", + "readOnly": true + }, + "displaySerialNumber": { + "description": "Device serial number to be displayed.", + "type": "string", + "readOnly": true + }, + "managementResourceId": { + "description": "Management Resource Id.", + "type": "string", + "readOnly": true + }, + "managementResourceTenantId": { + "description": "Management Resource Tenant ID.", + "type": "string", + "readOnly": true + }, + "provisioningSupport": { + "description": "Determining nature of provisioning that the configuration supports.", + "$ref": "#/definitions/ProvisioningSupport", + "readOnly": true + }, + "provisioningDetails": { + "$ref": "#/definitions/ProvisioningDetails", + "description": "Provisioning Details for the device.", + "readOnly": true + } + } + }, + "DevicePresenceVerificationDetails": { + "description": "Proof of possession details.", + "type": "object", + "properties": { + "status": { + "description": "Proof of possession status.", + "$ref": "#/definitions/DevicePresenceVerificationStatus", + "readOnly": true + }, + "message": { + "description": "Insights on current status.", + "type": "string", + "readOnly": true + } + } + }, + "DevicePresenceVerificationStatus": { + "description": "Proof of possession status.", + "enum": [ + "NotInitiated", + "Completed" + ], + "type": "string", + "x-ms-enum": { + "name": "DevicePresenceVerificationStatus", + "modelAsString": true, + "values": [ + { + "value": "NotInitiated", + "description": "The device has not yet been verified to be with the right edge operator or at the right location." + }, + { + "value": "Completed", + "description": "Confirms that the device is verified to be with the right edge operator or at the right location." + } + ] + } + }, + "Dimensions": { + "description": "Dimensions of a configuration.", + "type": "object", + "properties": { + "length": { + "format": "double", + "description": "Length of the device.", + "type": "number", + "readOnly": true + }, + "height": { + "format": "double", + "description": "Height of the device.", + "type": "number", + "readOnly": true + }, + "width": { + "format": "double", + "description": "Width of the device.", + "type": "number", + "readOnly": true + }, + "lengthHeightUnit": { + "description": "Unit for the dimensions of length, height and width.", + "enum": [ + "IN", + "CM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "LengthHeightUnit", + "modelAsString": true, + "values": [ + { + "value": "IN", + "description": "Inch, applicable for West US." + }, + { + "value": "CM", + "description": "Centimeter." + } + ] + } + }, + "weight": { + "format": "double", + "description": "Weight of the device.", + "type": "number", + "readOnly": true + }, + "depth": { + "format": "double", + "description": "Depth of the device.", + "type": "number", + "readOnly": true + }, + "weightUnit": { + "description": "Unit for the dimensions of weight.", + "enum": [ + "LBS", + "KGS" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "WeightMeasurementUnit", + "modelAsString": true, + "values": [ + { + "value": "LBS", + "description": "Pounds." + }, + { + "value": "KGS", + "description": "Kilograms." + } + ] + } + } + } + }, + "DisplayInfo": { + "description": "Describes product display information.", + "type": "object", + "properties": { + "productFamilyDisplayName": { + "description": "Product family display name.", + "type": "string", + "readOnly": true + }, + "configurationDisplayName": { + "description": "Configuration display name.", + "type": "string", + "readOnly": true + } + } + }, + "EncryptionPreferences": { + "description": "Preferences related to the double encryption.", + "type": "object", + "properties": { + "doubleEncryptionStatus": { + "description": "Double encryption status as entered by the customer. It is compulsory to give this parameter if the 'Deny' or 'Disabled' policy is configured.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "DoubleEncryptionStatus", + "modelAsString": true, + "values": [ + { + "value": "Disabled", + "description": "Double encryption is disabled." + }, + { + "value": "Enabled", + "description": "Double encryption is enabled." + } + ] + } + } + } + }, + "FilterableProperty": { + "description": "Different types of filters supported and its values.", + "required": [ + "type", + "supportedValues" + ], + "type": "object", + "properties": { + "type": { + "description": "Type of product filter.", + "enum": [ + "ShipToCountries", + "DoubleEncryptionStatus" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportedFilterTypes", + "modelAsString": true, + "values": [ + { + "value": "ShipToCountries", + "description": "Ship to country." + }, + { + "value": "DoubleEncryptionStatus", + "description": "Double encryption status." + } + ] + } + }, + "supportedValues": { + "description": "Values to be filtered.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ForwardShippingDetails": { + "description": "Forward shipment details.", + "type": "object", + "properties": { + "carrierName": { + "description": "Name of the carrier.", + "type": "string", + "readOnly": true + }, + "carrierDisplayName": { + "description": "Carrier Name for display purpose. Not to be used for any processing.", + "type": "string", + "readOnly": true + }, + "trackingId": { + "description": "TrackingId of the package.", + "type": "string", + "readOnly": true + }, + "trackingUrl": { + "description": "TrackingUrl of the package.", + "type": "string", + "readOnly": true + } + } + }, + "GroupedChildConfigurations": { + "description": "Grouped child configuration object.", + "type": "object", + "properties": { + "categoryInformation": { + "$ref": "#/definitions/CategoryInformation", + "description": "Category information.", + "readOnly": true + }, + "childConfigurations": { + "description": "List of child configurations.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ChildConfiguration" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "HierarchyInformation": { + "description": "Holds details about product hierarchy information.", + "type": "object", + "properties": { + "productFamilyName": { + "description": "Represents product family name that uniquely identifies product family.", + "type": "string" + }, + "productLineName": { + "description": "Represents product line name that uniquely identifies product line.", + "type": "string" + }, + "productName": { + "description": "Represents product name that uniquely identifies product.", + "type": "string" + }, + "configurationName": { + "description": "Represents configuration name that uniquely identifies configuration.", + "type": "string" + }, + "configurationIdDisplayName": { + "description": "Represents Model Display Name.", + "type": "string" + } + } + }, + "ImageInformation": { + "description": "Image for the product.", + "type": "object", + "properties": { + "imageType": { + "description": "Type of the image.", + "enum": [ + "MainImage", + "BulletImage", + "GenericImage" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ImageType", + "modelAsString": true, + "values": [ + { + "value": "MainImage", + "description": "Main image." + }, + { + "value": "BulletImage", + "description": "Bullet image." + }, + { + "value": "GenericImage", + "description": "Generic image." + } + ] + } + }, + "imageUrl": { + "description": "Url of the image.", + "type": "string", + "readOnly": true + } + } + }, + "Link": { + "description": "Returns link related to the product.", + "type": "object", + "properties": { + "linkType": { + "description": "Type of link.", + "enum": [ + "Generic", + "TermsAndConditions", + "Specification", + "Documentation", + "KnowMore", + "SignUp", + "Discoverable" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "LinkType", + "modelAsString": true, + "values": [ + { + "value": "Generic", + "description": "Generic link." + }, + { + "value": "TermsAndConditions", + "description": "Terms and conditions link." + }, + { + "value": "Specification", + "description": "Link to product specification." + }, + { + "value": "Documentation", + "description": "Link to product documentation." + }, + { + "value": "KnowMore", + "description": "Link to know more." + }, + { + "value": "SignUp", + "description": "Link to sign up for products." + }, + { + "value": "Discoverable", + "description": "Link to order the product from another source and not from Azure Edge Hardware Center." + } + ] + } + }, + "linkUrl": { + "description": "Url of the link.", + "type": "string", + "readOnly": true + } + } + }, + "ManagementResourcePreferences": { + "description": "Management resource preference to link device.", + "type": "object", + "properties": { + "preferredManagementResourceId": { + "description": "Customer preferred Management resource ARM ID.", + "type": "string" + } + } + }, + "MeterDetails": { + "description": "Holds details about billing type and its meter guids.", + "required": [ + "billingType" + ], + "type": "object", + "properties": { + "billingType": { + "description": "Represents billing type.", + "enum": [ + "Pav2", + "Purchase" + ], + "type": "string", + "x-ms-enum": { + "name": "BillingType", + "modelAsString": true, + "values": [ + { + "value": "Pav2", + "description": "PaV2 billing." + }, + { + "value": "Purchase", + "description": "Purchase billing." + } + ] + } + }, + "multiplier": { + "format": "double", + "description": "Billing unit applicable for Pav2 billing.", + "type": "number", + "readOnly": true + }, + "chargingType": { + "description": "Charging type.", + "enum": [ + "PerOrder", + "PerDevice" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ChargingType", + "modelAsString": true, + "values": [ + { + "value": "PerOrder", + "description": "Per order charging type." + }, + { + "value": "PerDevice", + "description": "Per device charging type." + } + ] + } + } + }, + "discriminator": "billingType" + }, + "NotificationPreference": { + "description": "Notification preference for a job stage.", + "required": [ + "stageName", + "sendNotification" + ], + "type": "object", + "properties": { + "stageName": { + "description": "Name of the stage.", + "enum": [ + "Shipped", + "Delivered" + ], + "type": "string", + "x-ms-enum": { + "name": "NotificationStageName", + "modelAsString": true, + "values": [ + { + "value": "Shipped", + "description": "Notification at order item shipped from microsoft datacenter." + }, + { + "value": "Delivered", + "description": "Notification at order item delivered to customer." + } + ] + } + }, + "sendNotification": { + "description": "Notification is required or not.", + "type": "boolean" + } + } + }, + "OrderItemDetails": { + "description": "Order item details.", + "required": [ + "productDetails", + "orderItemType" + ], + "type": "object", + "properties": { + "productDetails": { + "$ref": "#/definitions/ProductDetails", + "description": "Represents product details." + }, + "orderItemType": { + "description": "Order item type.", + "enum": [ + "Purchase", + "Rental", + "External" + ], + "type": "string", + "x-ms-enum": { + "name": "OrderItemType", + "modelAsString": true, + "values": [ + { + "value": "Purchase", + "description": "Purchase OrderItem." + }, + { + "value": "Rental", + "description": "Rental OrderItem." + }, + { + "value": "External", + "description": "Orders placed outside of azure." + } + ] + } + }, + "orderItemMode": { + "description": "Defines the mode of the Order item.", + "enum": [ + "Default", + "DoNotFulfill" + ], + "type": "string", + "x-ms-enum": { + "name": "OrderMode", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Default Order mode." + }, + { + "value": "DoNotFulfill", + "description": "Mode in which the Order will not be fulfilled." + } + ] + } + }, + "siteDetails": { + "$ref": "#/definitions/SiteDetails", + "description": "Site Related Details." + }, + "currentStage": { + "$ref": "#/definitions/StageDetails", + "description": "Current Order item Status.", + "readOnly": true + }, + "orderItemStageHistory": { + "description": "Order item status history.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/StageDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "preferences": { + "$ref": "#/definitions/Preferences", + "description": "Customer notification Preferences." + }, + "forwardShippingDetails": { + "$ref": "#/definitions/ForwardShippingDetails", + "description": "Forward Package Shipping details.", + "readOnly": true + }, + "reverseShippingDetails": { + "$ref": "#/definitions/ReverseShippingDetails", + "description": "Reverse Package Shipping details.", + "readOnly": true + }, + "notificationEmailList": { + "description": "Additional notification email list.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "cancellationReason": { + "description": "Cancellation reason.", + "type": "string", + "readOnly": true + }, + "cancellationStatus": { + "description": "Describes whether the order item is cancellable or not.", + "enum": [ + "Cancellable", + "CancellableWithFee", + "NotCancellable" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OrderItemCancellationEnum", + "modelAsString": true, + "values": [ + { + "value": "Cancellable", + "description": "Order item can be cancelled without fee." + }, + { + "value": "CancellableWithFee", + "description": "Order item can be cancelled with fee." + }, + { + "value": "NotCancellable", + "description": "Order item not cancellable." + } + ] + } + }, + "deletionStatus": { + "description": "Describes whether the order item is deletable or not.", + "enum": [ + "Allowed", + "NotAllowed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ActionStatusEnum", + "modelAsString": true, + "values": [ + { + "value": "Allowed", + "description": "Allowed flag." + }, + { + "value": "NotAllowed", + "description": "Not Allowed flag." + } + ] + } + }, + "returnReason": { + "description": "Return reason.", + "type": "string", + "readOnly": true + }, + "returnStatus": { + "description": "Describes whether the order item is returnable or not.", + "enum": [ + "Returnable", + "ReturnableWithFee", + "NotReturnable" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OrderItemReturnEnum", + "modelAsString": true, + "values": [ + { + "value": "Returnable", + "description": "Order item can be returned without fee." + }, + { + "value": "ReturnableWithFee", + "description": "Order item can be returned with fee." + }, + { + "value": "NotReturnable", + "description": "Order item not returnable." + } + ] + } + }, + "managementRpDetailsList": { + "description": "List of parent RP details supported for configuration.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorDetail", + "description": "Top level error for the job.", + "readOnly": true + } + } + }, + "OrderItemDetailsUpdateParameter": { + "description": "Order item details Patchable Properties.", + "type": "object", + "properties": { + "productDetails": { + "$ref": "#/definitions/ProductDetailsUpdateParameter", + "description": "Represents product details." + }, + "siteDetails": { + "$ref": "#/definitions/SiteDetails", + "description": "Site Related Details." + } + } + }, + "OrderItemProperties": { + "description": "Represents order item properties.", + "required": [ + "orderItemDetails", + "orderId" + ], + "type": "object", + "properties": { + "orderItemDetails": { + "$ref": "#/definitions/OrderItemDetails", + "description": "Represents order item details." + }, + "addressDetails": { + "$ref": "#/definitions/AddressDetails", + "description": "Represents shipping and return address for order item." + }, + "startTime": { + "format": "date-time", + "description": "Start time of order item.", + "type": "string", + "readOnly": true + }, + "orderId": { + "description": "Id of the order to which order item belongs to.", + "type": "string" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state", + "readOnly": true + } + } + }, + "OrderItemResource": { + "description": "Represents order item resource.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/OrderItemProperties", + "description": "Order item properties.", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + } + } + }, + "OrderItemResourceList": { + "description": "List of order items.", + "type": "object", + "properties": { + "value": { + "description": "List of order item resources.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OrderItemResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of order item resources.", + "type": "string" + } + } + }, + "OrderItemUpdateParameter": { + "description": "Updates order item parameters.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/OrderItemUpdateProperties", + "description": "Order item update properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + } + } + }, + "OrderItemUpdateProperties": { + "description": "Order item update properties.", + "type": "object", + "properties": { + "forwardAddress": { + "$ref": "#/definitions/AddressProperties", + "description": "Updates forward shipping address and contact details." + }, + "preferences": { + "$ref": "#/definitions/Preferences", + "description": "Customer preference." + }, + "notificationEmailList": { + "description": "Additional notification email list.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "orderItemDetails": { + "$ref": "#/definitions/OrderItemDetailsUpdateParameter", + "description": "Represents order item details." + } + } + }, + "OrderProperties": { + "description": "Represents order details.", + "type": "object", + "properties": { + "orderItemIds": { + "description": "List of order item ARM Ids which are part of an order.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "currentStage": { + "$ref": "#/definitions/StageDetails", + "description": "Order current status.", + "readOnly": true + }, + "orderStageHistory": { + "description": "Order status history.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/StageDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "orderMode": { + "description": "Order mode.", + "enum": [ + "Default", + "DoNotFulfill" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OrderMode", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Default Order mode." + }, + { + "value": "DoNotFulfill", + "description": "Mode in which the Order will not be fulfilled." + } + ] + } + } + } + }, + "OrderResource": { + "description": "Specifies the properties or parameters for an order. Order is a grouping of one or more order items.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/OrderProperties", + "description": "Order properties.", + "x-ms-client-flatten": true + } + } + }, + "OrderResourceList": { + "description": "List of orders.", + "type": "object", + "properties": { + "value": { + "description": "List of order resources.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OrderResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of order resources.", + "type": "string" + } + } + }, + "Pav2MeterDetails": { + "description": "Billing type PAV2 meter details.", + "required": [ + "billingType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MeterDetails" + } + ], + "properties": { + "meterGuid": { + "description": "Validation status of requested data center and transport.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "Pav2" + }, + "Preferences": { + "description": "Preferences related to the order.", + "type": "object", + "properties": { + "notificationPreferences": { + "description": "Notification preferences.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/NotificationPreference" + }, + "x-ms-identifiers": [] + }, + "transportPreferences": { + "$ref": "#/definitions/TransportPreferences", + "description": "Preferences related to the shipment logistics of the order." + }, + "encryptionPreferences": { + "$ref": "#/definitions/EncryptionPreferences", + "description": "Preferences related to the Encryption." + }, + "managementResourcePreferences": { + "$ref": "#/definitions/ManagementResourcePreferences", + "description": "Preferences related to the Management resource." + }, + "termCommitmentPreferences": { + "$ref": "#/definitions/TermCommitmentPreferences", + "description": "Preferences related to the Term commitment." + } + } + }, + "Product": { + "description": "Represents a product.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ProductProperties", + "description": "Properties of product.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ProductDetails": { + "description": "Represents product details.", + "required": [ + "hierarchyInformation" + ], + "type": "object", + "properties": { + "displayInfo": { + "$ref": "#/definitions/DisplayInfo", + "description": "Display details of the product." + }, + "hierarchyInformation": { + "$ref": "#/definitions/HierarchyInformation", + "description": "Hierarchy of the product which uniquely identifies the product." + }, + "productDoubleEncryptionStatus": { + "description": "Double encryption status of the configuration. Read-only field.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DoubleEncryptionStatus", + "modelAsString": true, + "values": [ + { + "value": "Disabled", + "description": "Double encryption is disabled." + }, + { + "value": "Enabled", + "description": "Double encryption is enabled." + } + ] + } + }, + "identificationType": { + "description": "Identification type of the configuration.", + "enum": [ + "NotSupported", + "SerialNumber" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IdentificationType", + "modelAsString": true, + "values": [ + { + "value": "NotSupported", + "description": "Product does not have any explicit identifier." + }, + { + "value": "SerialNumber", + "description": "Product is identifiable by serial number." + } + ] + } + }, + "parentDeviceDetails": { + "$ref": "#/definitions/DeviceDetails", + "description": "Device details of the parent configuration.", + "readOnly": true + }, + "parentProvisioningDetails": { + "$ref": "#/definitions/ProvisioningDetails", + "description": "Device Provisioning Details for Parent." + }, + "optInAdditionalConfigurations": { + "description": "List of additional configurations customer wants in the order item apart from the ones included in the base configuration.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalConfiguration" + }, + "x-ms-identifiers": [] + }, + "childConfigurationDeviceDetails": { + "description": "Details of all child configurations that are part of the order item.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationDeviceDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "termCommitmentInformation": { + "description": "Term Commitment Information of the Device.", + "$ref": "#/definitions/TermCommitmentInformation", + "readOnly": true + } + } + }, + "ProductDetailsUpdateParameter": { + "description": "Represents product details patchable properties.", + "type": "object", + "properties": { + "parentProvisioningDetails": { + "$ref": "#/definitions/ProvisioningDetails", + "description": "Device Provisioning Details for Parent." + } + } + }, + "ProvisioningDetails": { + "description": "Details Related To Provision Resource.", + "type": "object", + "properties": { + "quantity": { + "format": "int32", + "description": "Quantity of the devices.", + "type": "integer", + "minimum": 0, + "default": 0 + }, + "provisioningArmId": { + "description": "Provisioning Resource Arm ID.", + "type": "string", + "format": "arm-id" + }, + "provisioningEndPoint": { + "description": "Provisioning End Point.", + "type": "string" + }, + "serialNumber": { + "description": "Serial Number for the Device.", + "type": "string" + }, + "vendorName": { + "description": "Vendor Name for the Device , (for 1P devices - Microsoft).", + "type": "string" + }, + "readyToConnectArmId": { + "description": "Arc Enabled Resource Arm id.", + "type": "string", + "format": "arm-id" + }, + "managementResourceArmId": { + "description": "Management Resource ArmId.", + "type": "string", + "format": "arm-id" + }, + "uniqueDeviceIdentifier": { + "description": "Unique Identity for a Device.", + "type": "string", + "readOnly": true + }, + "autoProvisioningStatus": { + "description": "Auto Provisioning Details.", + "$ref": "#/definitions/AutoProvisioningStatus" + }, + "devicePresenceVerification": { + "description": "Proof of possession details.", + "$ref": "#/definitions/DevicePresenceVerificationDetails" + } + } + }, + "SiteDetails": { + "description": "Represents Site Related Details.", + "required": [ + "siteId" + ], + "type": "object", + "properties": { + "siteId": { + "description": "Unique Id, Identifying A Site.", + "type": "string" + } + } + }, + "ProductFamilies": { + "description": "The list of product families.", + "type": "object", + "properties": { + "value": { + "description": "List of product families.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ProductFamily" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link for the next set of product families.", + "type": "string" + } + } + }, + "ProductFamiliesMetadata": { + "description": "Holds details about product family metadata.", + "type": "object", + "properties": { + "value": { + "description": "List of product family metadata details.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ProductFamiliesMetadataDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link for the next set of product families.", + "type": "string", + "readOnly": true + } + } + }, + "ProductFamiliesMetadataDetails": { + "description": "Product families metadata details.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ProductFamilyProperties", + "description": "Product family properties.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ProductFamiliesRequest": { + "description": "The filters for showing the product families.", + "required": [ + "filterableProperties" + ], + "type": "object", + "properties": { + "filterableProperties": { + "description": "Dictionary of filterable properties on product family.", + "type": "object", + "additionalProperties": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/FilterableProperty" + }, + "x-ms-identifiers": [] + } + }, + "customerSubscriptionDetails": { + "$ref": "#/definitions/CustomerSubscriptionDetails", + "description": "Customer subscription properties. Clients can display available products to unregistered customers by explicitly passing subscription details." + } + } + }, + "ProductFamily": { + "description": "Product Family.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ProductFamilyProperties", + "description": "Properties of product family.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ProductFamilyProperties": { + "description": "Properties of product family.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CommonProperties" + } + ], + "properties": { + "productLines": { + "description": "List of product lines supported in the product family.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ProductLine" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "resourceProviderDetails": { + "description": "Contains details related to resource provider.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderDetails" + }, + "x-ms-identifiers": [] + } + } + }, + "ProductLine": { + "description": "Product line.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ProductLineProperties", + "description": "Properties of product line.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ProductLineProperties": { + "description": "Properties of product line.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CommonProperties" + } + ], + "properties": { + "products": { + "description": "List of products in the product line.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Product" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "ProductProperties": { + "description": "Properties of product.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CommonProperties" + } + ], + "properties": { + "configurations": { + "description": "List of configurations for the product.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "ProvisioningState": { + "description": "Provisioning state", + "type": "string", + "enum": [ + "Creating", + "Succeeded", + "Failed", + "Canceled" + ], + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "value": "Creating", + "description": "Creating state." + }, + { + "value": "Succeeded", + "description": "Succeeded state." + }, + { + "value": "Failed", + "description": "Failed state." + }, + { + "value": "Canceled", + "description": "Canceled state." + } + ] + } + }, + "ProvisioningSupport": { + "description": "Determining nature of provisioning that the configuration supports.", + "enum": [ + "CloudBased", + "Manual" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningSupport", + "modelAsString": true, + "values": [ + { + "value": "CloudBased", + "description": "The configuration can be provisioned from the cloud." + }, + { + "value": "Manual", + "description": "The configuration need to be provisioned manually by the end user." + } + ] + } + }, + "PurchaseMeterDetails": { + "description": "Billing type Purchase meter details.", + "required": [ + "billingType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MeterDetails" + } + ], + "properties": { + "productId": { + "description": "Product Id.", + "type": "string", + "readOnly": true + }, + "skuId": { + "description": "Sku Id.", + "type": "string", + "readOnly": true + }, + "termId": { + "description": "Term Id.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "Purchase" + }, + "ResourceIdentity": { + "description": "Msi identity details of the resource", + "type": "object", + "properties": { + "type": { + "description": "Identity type", + "type": "string", + "default": "None" + }, + "principalId": { + "description": "Service Principal Id backing the Msi", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Home Tenant Id", + "type": "string", + "readOnly": true + }, + "userAssignedIdentities": { + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/UserAssignedIdentities", + "description": "User Assigned Identities" + } + } + }, + "ResourceMoveRequest": { + "description": "Resource move request body.", + "type": "object", + "properties": { + "targetResourceGroup": { + "type": "string" + }, + "resources": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceProviderDetails": { + "description": "Management RP details.", + "type": "object", + "properties": { + "resourceProviderNamespace": { + "description": "Resource provider namespace.", + "type": "string", + "readOnly": true + } + } + }, + "ReturnOrderItemDetails": { + "description": "Return order item request body.", + "required": [ + "returnReason" + ], + "type": "object", + "properties": { + "returnAddress": { + "$ref": "#/definitions/AddressProperties", + "description": "Customer return address." + }, + "returnReason": { + "description": "Return Reason.", + "type": "string" + }, + "serviceTag": { + "description": "Service tag (located on the bottom-right corner of the device).", + "type": "string" + }, + "shippingBoxRequired": { + "description": "Shipping Box required.", + "default": false, + "type": "boolean" + } + } + }, + "ReverseShippingDetails": { + "description": "Reverse shipment details.", + "type": "object", + "properties": { + "sasKeyForLabel": { + "description": "SAS key to download the reverse shipment label of the package.", + "type": "string", + "readOnly": true + }, + "carrierName": { + "description": "Name of the carrier.", + "type": "string", + "readOnly": true + }, + "carrierDisplayName": { + "description": "Carrier Name for display purpose. Not to be used for any processing.", + "type": "string", + "readOnly": true + }, + "trackingId": { + "description": "TrackingId of the package.", + "type": "string", + "readOnly": true + }, + "trackingUrl": { + "description": "TrackingUrl of the package.", + "type": "string", + "readOnly": true + } + } + }, + "ShippingAddress": { + "description": "Shipping address where customer wishes to receive the device.", + "required": [ + "country" + ], + "type": "object", + "properties": { + "streetAddress1": { + "description": "Street Address line 1.", + "type": "string" + }, + "streetAddress2": { + "description": "Street Address line 2.", + "type": "string" + }, + "streetAddress3": { + "description": "Street Address line 3.", + "type": "string" + }, + "city": { + "description": "Name of the City.", + "type": "string" + }, + "stateOrProvince": { + "description": "Name of the State or Province.", + "type": "string" + }, + "country": { + "description": "Name of the Country.", + "type": "string" + }, + "postalCode": { + "description": "Postal code.", + "type": "string" + }, + "zipExtendedCode": { + "description": "Extended Zip Code.", + "type": "string" + }, + "companyName": { + "description": "Name of the company.", + "type": "string" + }, + "addressType": { + "description": "Type of address.", + "enum": [ + "None", + "Residential", + "Commercial" + ], + "type": "string", + "x-ms-enum": { + "name": "AddressType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Address type not known." + }, + { + "value": "Residential", + "description": "Residential Address." + }, + { + "value": "Commercial", + "description": "Commercial Address." + } + ] + } + } + } + }, + "Specification": { + "description": "Specification of the configurations.", + "type": "object", + "properties": { + "name": { + "description": "Name of the specification.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Value of the specification.", + "type": "string", + "readOnly": true + } + } + }, + "StageDetails": { + "description": "Resource stage details.", + "type": "object", + "properties": { + "stageStatus": { + "description": "Stage status.", + "enum": [ + "None", + "InProgress", + "Succeeded", + "Failed", + "Cancelled", + "Cancelling" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageStatus", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No status available yet." + }, + { + "value": "InProgress", + "description": "Stage is in progress." + }, + { + "value": "Succeeded", + "description": "Stage has succeeded." + }, + { + "value": "Failed", + "description": "Stage has failed." + }, + { + "value": "Cancelled", + "description": "Stage has been cancelled." + }, + { + "value": "Cancelling", + "description": "Stage is cancelling." + } + ] + } + }, + "stageName": { + "description": "Stage name.", + "enum": [ + "Placed", + "InReview", + "Confirmed", + "ReadyToShip", + "Shipped", + "Delivered", + "ReadyToSetup", + "InUse", + "ReturnInitiated", + "ReturnPickedUp", + "ReturnedToMicrosoft", + "ReturnCompleted", + "Cancelled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageName", + "modelAsString": true, + "values": [ + { + "value": "Placed", + "description": "Currently in draft mode and can still be cancelled." + }, + { + "value": "InReview", + "description": "Order is currently in draft mode and can still be cancelled." + }, + { + "value": "Confirmed", + "description": "Order is confirmed." + }, + { + "value": "ReadyToShip", + "description": "Order is ready to ship." + }, + { + "value": "Shipped", + "description": "Order is in transit to customer." + }, + { + "value": "Delivered", + "description": "Order is delivered to customer." + }, + { + "value": "ReadyToSetup", + "description": "Order is ready to get cloud connected." + }, + { + "value": "InUse", + "description": "Order is in use at customer site." + }, + { + "value": "ReturnInitiated", + "description": "Return has been initiated by customer." + }, + { + "value": "ReturnPickedUp", + "description": "Order is in transit from customer to Microsoft." + }, + { + "value": "ReturnedToMicrosoft", + "description": "Order has been received back to Microsoft." + }, + { + "value": "ReturnCompleted", + "description": "Return has now completed." + }, + { + "value": "Cancelled", + "description": "Order has been cancelled." + } + ] + } + }, + "displayName": { + "description": "Display name of the resource stage.", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "Stage start time.", + "type": "string", + "readOnly": true + } + } + }, + "TermCommitmentInformation": { + "description": "Term Commitment Information.", + "required": [ + "termCommitmentType" + ], + "type": "object", + "properties": { + "termCommitmentType": { + "description": "Term Commitment Type", + "$ref": "#/definitions/TermCommitmentType" + }, + "termCommitmentTypeDuration": { + "description": "Term Commitment Duration. Currently Supporting P365D, P1095D", + "type": "string", + "format": "duration", + "readOnly": true + }, + "pendingDaysForTerm": { + "format": "int32", + "description": "Number of Days Pending for Term Commitment", + "type": "integer", + "minimum": 0, + "default": 0, + "readOnly": true + } + } + }, + "TermCommitmentPreferences": { + "description": "Term Commitment preference received from customer.", + "required": [ + "preferredTermCommitmentType" + ], + "type": "object", + "properties": { + "preferredTermCommitmentType": { + "description": "Term Commitment Type", + "$ref": "#/definitions/TermCommitmentType" + }, + "preferredTermCommitmentDuration": { + "description": "Customer preferred Term Duration.", + "type": "string", + "format": "duration" + } + } + }, + "TermCommitmentType": { + "description": "Term Commitment Type", + "enum": [ + "None", + "Trial", + "Timed" + ], + "type": "string", + "x-ms-enum": { + "name": "TermCommitmentType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Pay as you go Term Commitment Model." + }, + { + "value": "Trial", + "description": "Trial Term Commitment Model." + }, + { + "value": "Timed", + "description": "Time based Term Commitment Model." + } + ] + } + }, + "TermTypeDetails": { + "description": "Holds details about term type and duration.", + "required": [ + "termType", + "termTypeDuration" + ], + "type": "object", + "properties": { + "termType": { + "description": "Term Commitment Type", + "$ref": "#/definitions/TermCommitmentType" + }, + "termTypeDuration": { + "description": "Duration for the term type.", + "type": "string", + "format": "duration" + } + } + }, + "TransportPreferences": { + "description": "Preferences related to the shipment logistics of the sku.", + "required": [ + "preferredShipmentType" + ], + "type": "object", + "properties": { + "preferredShipmentType": { + "description": "Indicates Shipment Logistics type that the customer preferred.", + "enum": [ + "CustomerManaged", + "MicrosoftManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "TransportShipmentTypes", + "modelAsString": true, + "values": [ + { + "value": "CustomerManaged", + "description": "Shipment Logistics is handled by the customer." + }, + { + "value": "MicrosoftManaged", + "description": "Shipment Logistics is handled by Microsoft." + } + ] + } + } + } + } + }, + "parameters": { + "addressNameParameter": { + "name": "addressName", + "in": "path", + "description": "The name of the address Resource within the specified resource group. address names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.", + "required": true, + "type": "string", + "maxLength": 24, + "minLength": 3, + "pattern": "^[-\\w\\.]+$", + "x-ms-parameter-location": "method" + }, + "orderItemNameParameter": { + "name": "orderItemName", + "in": "path", + "description": "The name of the order item.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9][-A-Za-z0-9]*[A-Za-z0-9]$|^[A-Za-z0-9]$", + "x-ms-parameter-location": "method" + }, + "orderNameParameter": { + "name": "orderName", + "in": "path", + "description": "The name of the order.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "tags": [] +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/CancelOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/CancelOrderItem.json new file mode 100644 index 000000000000..6761c0b8baf9 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/CancelOrderItem.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName3", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName3/cancel?api-version=2024-02-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "34" + ], + "cancellationReason": { + "reason": "Order cancelled" + } + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/CreateAddress.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/CreateAddress.json new file mode 100644 index 000000000000..81b9d5ef544f --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/CreateAddress.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "addressName": "TestAddressName2", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2?api-version=2024-02-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "527" + ], + "addressResource": { + "properties": { + "addressClassification": "Shipping", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + } + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "addressClassification": "Shipping", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": {}, + "name": "TestAddressName2", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "type": "Microsoft.EdgeOrder/addresses" + } + }, + "202": {} + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/CreateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/CreateOrderItem.json new file mode 100644 index 000000000000..93c6bd6c6841 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/CreateOrderItem.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName2", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2?api-version=2024-02-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1228" + ], + "orderItemResource": { + "properties": { + "orderItemDetails": { + "orderItemType": "Purchase", + "productDetails": { + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + } + }, + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + } + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + } + } + }, + "orderId": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName2" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + }, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "InProgress", + "stageName": "Placed", + "startTime": "2022-03-04T10:58:27.5824859+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "None", + "stageName": "Placed" + }, + { + "stageStatus": "None", + "stageName": "Confirmed" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "Cancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + } + }, + "startTime": "2022-03-04T10:58:27.5824859+05:30", + "orderId": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName2" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName2", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2", + "type": "Microsoft.EdgeOrder/orderItems" + } + }, + "202": {} + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/DeleteAddressByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/DeleteAddressByName.json new file mode 100644 index 000000000000..59aa051a3541 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/DeleteAddressByName.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "addressName": "TestAddressName1", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1?api-version=2024-02-01" + ] + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/providers/Microsoft.EdgeOrder/locations/westus/operationResults/operationid?api-version=2024-02-01" + } + }, + "204": {} + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/DeleteOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/DeleteOrderItemByName.json new file mode 100644 index 000000000000..b61608e59dff --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/DeleteOrderItemByName.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName3", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName3?api-version=2024-02-01" + ] + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/providers/Microsoft.EdgeOrder/locations/westus/operationResults/operationid?api-version=2024-02-01" + } + }, + "204": {} + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/GetAddressByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/GetAddressByName.json new file mode 100644 index 000000000000..0ec3f5feefc3 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/GetAddressByName.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "addressName": "TestAddressName1", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1?api-version=2024-02-01" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "addressClassification": "Shipping", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": {}, + "name": "TestAddressName1", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1", + "type": "Microsoft.EdgeOrder/addresses" + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/GetOrderByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/GetOrderByName.json new file mode 100644 index 000000000000..307b75a32d46 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/GetOrderByName.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "location": "eastus", + "orderName": "TestOrderName3", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName3?api-version=2024-02-01" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "orderItemIds": [ + "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName3" + ], + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "InReview", + "startTime": "2022-03-04T11:35:20.8521455+05:30" + }, + "orderStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T11:30:30.2717243+05:30" + }, + { + "stageStatus": "Succeeded", + "stageName": "InReview", + "startTime": "2022-03-04T11:35:20.8521455+05:30" + } + ] + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "name": "TestOrderName3", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName3", + "type": "Microsoft.EdgeOrder/orders" + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/GetOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/GetOrderItemByName.json new file mode 100644 index 000000000000..469d8cd121f0 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/GetOrderItemByName.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName1", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1?api-version=2024-02-01" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + }, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:05:00.3575338+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T10:55:54.3427968+05:30" + }, + { + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:05:00.3575338+05:30" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "NotCancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + } + }, + "startTime": "2022-03-04T10:55:10.2820482+05:30", + "orderId": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName1" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName1", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1", + "type": "Microsoft.EdgeOrder/orderItems" + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListAddressesAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListAddressesAtResourceGroupLevel.json new file mode 100644 index 000000000000..307e2792055a --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListAddressesAtResourceGroupLevel.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses?api-version=2024-02-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "addressClassification": "Shipping", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": {}, + "name": "TestAddressName1", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1", + "type": "Microsoft.EdgeOrder/addresses" + }, + { + "properties": { + "addressClassification": "Shipping", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "YYYY YYYY", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "TestAddressName2", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "type": "Microsoft.EdgeOrder/addresses" + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListAddressesAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListAddressesAtSubscriptionLevel.json new file mode 100644 index 000000000000..5aaee907c09b --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListAddressesAtSubscriptionLevel.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/providers/Microsoft.EdgeOrder/addresses?api-version=2024-02-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "addressClassification": "Shipping", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": {}, + "name": "TestAddressName1", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1", + "type": "Microsoft.EdgeOrder/addresses" + }, + { + "properties": { + "addressClassification": "Shipping", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": {}, + "name": "TestAddressName2", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "type": "Microsoft.EdgeOrder/addresses" + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListConfigurations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListConfigurations.json new file mode 100644 index 000000000000..b5646eee0b02 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListConfigurations.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/providers/Microsoft.EdgeOrder/listConfigurations?api-version=2024-02-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "360" + ], + "configurationsRequest": { + "configurationFilter": { + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu" + }, + "filterableProperty": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "specifications": [ + { + "name": "Usable compute", + "value": "40 vCPU" + }, + { + "name": "Usable memory", + "value": "102 GB" + }, + { + "name": "Usable storage", + "value": "4.2 TB" + } + ], + "dimensions": { + "length": 50, + "height": 15, + "width": 5, + "lengthHeightUnit": "IN", + "weight": 50, + "depth": 2, + "weightUnit": "LBS" + }, + "filterableProperties": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + } + ], + "displayName": "Azure Stack Edge Pro - 1 GPU", + "description": { + "descriptionType": "Base", + "shortDescription": "", + "longDescription": "", + "keywords": [ + "GPU" + ], + "attributes": [], + "links": [] + }, + "imageInformation": [], + "costInformation": { + "billingMeterDetails": [] + }, + "availabilityInformation": { + "availabilityStage": "Available", + "disabledReason": "None" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + } + } + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOperations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOperations.json new file mode 100644 index 000000000000..28e6cce7663c --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOperations.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/providers/Microsoft.EdgeOrder/operations?api-version=2024-02-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.EdgeOrder/addresses/read", + "display": { + "provider": "Edge Ordering", + "resource": "Addresses", + "operation": "List or Get Addresses", + "description": "List or get the Addresses" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/addresses/delete", + "display": { + "provider": "Edge Ordering", + "resource": "Addresses", + "operation": "Delete Addresses", + "description": "Delete the Addresses" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/addresses/write", + "display": { + "provider": "Edge Ordering", + "resource": "Addresses", + "operation": "Create or Update Addresses", + "description": "Create or update the Addresses" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/locations/operationResults/read", + "display": { + "provider": "Edge Ordering", + "resource": "Operation Results", + "operation": "List or Get Operation Results", + "description": "List or get the Operation Results" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/operations/read", + "display": { + "provider": "Edge Ordering", + "resource": "Operations", + "operation": "List or Get Operations", + "description": "List or get the Operations" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/locations/orders/read", + "display": { + "provider": "Edge Ordering", + "resource": "Order", + "operation": "List or Get Order", + "description": "List or get the Order" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/orders/read", + "display": { + "provider": "Edge Ordering", + "resource": "Order", + "operation": "List or Get Order", + "description": "List or get the Order" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/orderItems/cancel/action", + "display": { + "provider": "Edge Ordering", + "resource": "OrderItem", + "operation": "Cancel OrderItem", + "description": "Cancels an OrderItem in progress." + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/orderItems/return/action", + "display": { + "provider": "Edge Ordering", + "resource": "OrderItem", + "operation": "Return OrderItem", + "description": "Return an OrderItem." + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/orderItems/read", + "display": { + "provider": "Edge Ordering", + "resource": "OrderItem", + "operation": "List or Get OrderItem", + "description": "List or get the OrderItem" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/orderItems/delete", + "display": { + "provider": "Edge Ordering", + "resource": "OrderItem", + "operation": "Delete OrderItem", + "description": "Delete the OrderItem" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/orderItems/write", + "display": { + "provider": "Edge Ordering", + "resource": "OrderItem", + "operation": "Create or Update OrderItem", + "description": "Create or update the OrderItem" + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/productFamiliesMetadata/action", + "display": { + "provider": "Edge Ordering", + "resource": "ArmApiRes_Microsoft.EdgeOrder", + "operation": "List or Get product families metadata", + "description": "This method lists or gets the product families metadata." + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/listProductFamilies/read", + "display": { + "provider": "Edge Ordering", + "resource": "ArmApiRes_Microsoft.EdgeOrder", + "operation": "List Product Families", + "description": "This method returns list of product families." + }, + "origin": "user", + "isDataAction": false + }, + { + "name": "Microsoft.EdgeOrder/listConfigurations/action", + "display": { + "provider": "Edge Ordering", + "resource": "ArmApiRes_Microsoft.EdgeOrder", + "operation": "List Product Configurations", + "description": "This method returns list of product configurations." + }, + "origin": "user", + "isDataAction": false + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOrderAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOrderAtResourceGroupLevel.json new file mode 100644 index 000000000000..aab51073231f --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOrderAtResourceGroupLevel.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orders?api-version=2024-02-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "orderItemIds": [ + "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1" + ], + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T10:55:46.9437439+05:30" + }, + "orderStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T10:55:46.9437439+05:30" + }, + { + "stageStatus": "None", + "stageName": "InReview" + } + ] + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "name": "TestOrderItemName1", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName1", + "type": "Microsoft.EdgeOrder/orders" + }, + { + "properties": { + "orderItemIds": [ + "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2" + ], + "currentStage": { + "stageStatus": "InProgress", + "stageName": "Placed", + "startTime": "2022-03-04T10:58:46.5241979+05:30" + }, + "orderStageHistory": [ + { + "stageStatus": "None", + "stageName": "Placed" + }, + { + "stageStatus": "None", + "stageName": "InReview" + } + ] + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "name": "TestOrderItemName2", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName2", + "type": "Microsoft.EdgeOrder/orders" + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOrderAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOrderAtSubscriptionLevel.json new file mode 100644 index 000000000000..bcb3dda93296 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOrderAtSubscriptionLevel.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/providers/Microsoft.EdgeOrder/orders?api-version=2024-02-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "orderItemIds": [ + "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1" + ], + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T10:55:46.9437439+05:30" + }, + "orderStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T10:55:46.9437439+05:30" + }, + { + "stageStatus": "None", + "stageName": "InReview" + } + ] + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "name": "TestOrderItemName1", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName1", + "type": "Microsoft.EdgeOrder/orders" + }, + { + "properties": { + "orderItemIds": [ + "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2" + ], + "currentStage": { + "stageStatus": "InProgress", + "stageName": "Placed", + "startTime": "2022-03-04T10:58:46.5241979+05:30" + }, + "orderStageHistory": [ + { + "stageStatus": "None", + "stageName": "Placed" + }, + { + "stageStatus": "None", + "stageName": "InReview" + } + ] + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "name": "TestOrderItemName2", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName2", + "type": "Microsoft.EdgeOrder/orders" + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOrderItemsAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOrderItemsAtResourceGroupLevel.json new file mode 100644 index 000000000000..a30b0f67dd05 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOrderItemsAtResourceGroupLevel.json @@ -0,0 +1,223 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems?api-version=2024-02-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + }, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:05:00.3575338+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T10:55:54.3427968+05:30" + }, + { + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:05:00.3575338+05:30" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "NotCancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + } + }, + "startTime": "2022-03-04T10:55:10.2820482+05:30", + "orderId": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName1" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName1", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1", + "type": "Microsoft.EdgeOrder/orderItems" + }, + { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + }, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:07:29.9896685+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T10:59:04.9701334+05:30" + }, + { + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:07:29.9896685+05:30" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "NotCancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + } + }, + "startTime": "2022-03-04T10:58:27.5824859+05:30", + "orderId": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName2" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName2", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2", + "type": "Microsoft.EdgeOrder/orderItems" + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOrderItemsAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOrderItemsAtSubscriptionLevel.json new file mode 100644 index 000000000000..b349ea91bccd --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListOrderItemsAtSubscriptionLevel.json @@ -0,0 +1,222 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/providers/Microsoft.EdgeOrder/orderItems?api-version=2024-02-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + }, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:05:00.3575338+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T10:55:54.3427968+05:30" + }, + { + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:05:00.3575338+05:30" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "NotCancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + } + }, + "startTime": "2022-03-04T10:55:10.2820482+05:30", + "orderId": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName1" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName1", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1", + "type": "Microsoft.EdgeOrder/orderItems" + }, + { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + }, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:07:29.9896685+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T10:59:04.9701334+05:30" + }, + { + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:07:29.9896685+05:30" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "NotCancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + } + }, + "startTime": "2022-03-04T10:58:27.5824859+05:30", + "orderId": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName2" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName2", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2", + "type": "Microsoft.EdgeOrder/orderItems" + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListProductFamilies.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListProductFamilies.json new file mode 100644 index 000000000000..126e01f23105 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListProductFamilies.json @@ -0,0 +1,238 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "api-version": "2024-02-01", + "$expand": "configurations", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/providers/Microsoft.EdgeOrder/listProductFamilies?api-version=2024-02-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "159" + ], + "productFamiliesRequest": { + "filterableProperties": { + "azurestackedge": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "productLines": [ + { + "properties": { + "products": [ + { + "properties": { + "configurations": [ + { + "properties": { + "specifications": [ + { + "name": "Usable compute", + "value": "40 vCPU" + }, + { + "name": "Usable memory", + "value": "102 GB" + }, + { + "name": "Usable storage", + "value": "4.2 TB" + } + ], + "dimensions": { + "length": 50, + "height": 15, + "width": 5, + "lengthHeightUnit": "IN", + "weight": 50, + "depth": 2, + "weightUnit": "LBS" + }, + "filterableProperties": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + } + ], + "displayName": "Azure Stack Edge Pro - 1 GPU", + "description": { + "descriptionType": "Base", + "shortDescription": "", + "longDescription": "", + "keywords": [ + "GPU" + ], + "attributes": [], + "links": [] + }, + "imageInformation": [], + "costInformation": { + "billingMeterDetails": [] + }, + "availabilityInformation": { + "availabilityStage": "Available", + "disabledReason": "None" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + } + } + } + ], + "filterableProperties": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + } + ], + "displayName": "Azure Stack Edge Pro - GPU", + "description": { + "descriptionType": "Base", + "shortDescription": "Azure managed physical edge compute device", + "longDescription": "Azure Stack Edge Pro is an AI-enabled edge computing device with network data transfer capabilities. The device is powered with NVIDIA T4 GPUs to provide accelerated AI inferencing at the edge. You can choose from the following configurations based upon your business need", + "keywords": [ + "GPU" + ], + "attributes": [ + "1U rack mount device with network data transfer capabilities", + "Hardware accelerated ML using Nvidia T4 GPU", + "Azure Private Edge Zones enabled" + ], + "links": [ + { + "linkType": "Specification", + "linkUrl": "https://aka.ms/edgeHWcenter-asepro-devicespec" + }, + { + "linkType": "Generic", + "linkUrl": "https://aka.ms/ase-gpu-billing" + }, + { + "linkType": "TermsAndConditions", + "linkUrl": "https://aka.ms/ase-gpu-product-terms" + }, + { + "linkType": "KnowMore", + "linkUrl": "https://aka.ms/edgeHWcenter-asepro-documentation" + } + ] + }, + "imageInformation": [], + "availabilityInformation": { + "availabilityStage": "Available", + "disabledReason": "None" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "" + } + } + } + ], + "filterableProperties": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + }, + { + "type": "DoubleEncryptionStatus", + "supportedValues": [ + "Enabled" + ] + } + ], + "displayName": "Azure Stack Edge", + "description": { + "descriptionType": "Base", + "keywords": [], + "attributes": [], + "links": [] + }, + "imageInformation": [], + "availabilityInformation": { + "availabilityStage": "Available", + "disabledReason": "None" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "", + "configurationName": "" + } + } + } + ], + "resourceProviderDetails": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ], + "filterableProperties": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + }, + { + "type": "DoubleEncryptionStatus", + "supportedValues": [ + "Enabled" + ] + } + ], + "displayName": "Azure Stack Edge", + "description": { + "descriptionType": "Base", + "shortDescription": "Azure managed physical edge compute device", + "keywords": [], + "attributes": [], + "links": [] + }, + "imageInformation": [], + "availabilityInformation": { + "availabilityStage": "Available", + "disabledReason": "None" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "", + "productName": "", + "configurationName": "" + } + } + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListProductFamiliesMetadata.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListProductFamiliesMetadata.json new file mode 100644 index 000000000000..d952885aba78 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ListProductFamiliesMetadata.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/providers/Microsoft.EdgeOrder/productFamiliesMetadata?api-version=2024-02-01" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "productLines": [], + "resourceProviderDetails": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ], + "filterableProperties": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + }, + { + "type": "DoubleEncryptionStatus", + "supportedValues": [ + "Enabled" + ] + } + ], + "displayName": "Azure Stack Edge", + "description": { + "descriptionType": "Base", + "shortDescription": "Azure managed physical edge compute device", + "keywords": [], + "attributes": [], + "links": [] + }, + "imageInformation": [], + "availabilityInformation": { + "availabilityStage": "Available", + "disabledReason": "None" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "", + "productName": "", + "configurationName": "" + } + } + } + ] + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ReturnOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ReturnOrderItem.json new file mode 100644 index 000000000000..b7a9aa6115d7 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/ReturnOrderItem.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderName4", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName4/return?api-version=2024-02-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "39" + ], + "returnOrderItemDetails": { + "returnReason": "Order returned" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/providers/Microsoft.EdgeOrder/locations/westus/operationResults/operationid?api-version=2024-02-01" + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/UpdateAddress.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/UpdateAddress.json new file mode 100644 index 000000000000..ce63500cbb40 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/UpdateAddress.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "addressName": "TestAddressName2", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2?api-version=2024-02-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "517" + ], + "addressUpdateParameter": { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "YYYY YYYY", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + } + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "YYYY YYYY", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "TestAddressName2", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "type": "Microsoft.EdgeOrder/addresses" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/providers/Microsoft.EdgeOrder/locations/westus/operationResults/operationid?api-version=2024-02-01" + } + } + } +} diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/UpdateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/UpdateOrderItem.json new file mode 100644 index 000000000000..a49c684311d6 --- /dev/null +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2024-02-01/examples/UpdateOrderItem.json @@ -0,0 +1,138 @@ +{ + "parameters": { + "subscriptionId": "eb5dc900-6186-49d8-b7d7-febd866fdc1d", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName3", + "api-version": "2024-02-01", + "User-Agent": [ + "vscode-restclient" + ], + "Referer": [ + "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName3?api-version=2024-02-01" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "175" + ], + "orderItemUpdateParameter": { + "properties": { + "preferences": { + "transportPreferences": { + "preferredShipmentType": "CustomerManaged" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "orderItemDetails": { + "productDetails": { + "displayInfo": { + "productFamilyDisplayName": "Azure Stack Edge", + "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU" + }, + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + }, + "productDoubleEncryptionStatus": "Disabled" + }, + "orderItemType": "Purchase", + "currentStage": { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T11:30:31.5838042+05:30" + }, + "orderItemStageHistory": [ + { + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T11:30:31.5838042+05:30" + }, + { + "stageStatus": "None", + "stageName": "Confirmed" + }, + { + "stageStatus": "None", + "stageName": "ReadyToShip" + }, + { + "stageStatus": "None", + "stageName": "Shipped" + }, + { + "stageStatus": "None", + "stageName": "Delivered" + }, + { + "stageStatus": "None", + "stageName": "InUse" + } + ], + "preferences": { + "transportPreferences": { + "preferredShipmentType": "CustomerManaged" + } + }, + "notificationEmailList": [], + "cancellationStatus": "Cancellable", + "deletionStatus": "NotAllowed", + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", + "emailList": [ + "xxxx@xxxx.xxx" + ] + }, + "addressValidationStatus": "Valid" + } + }, + "startTime": "2022-03-04T11:29:47.3483197+05:30", + "orderId": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName3" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName3", + "id": "/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName3", + "type": "Microsoft.EdgeOrder/orderItems" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/eb5dc900-6186-49d8-b7d7-febd866fdc1d/providers/Microsoft.EdgeOrder/locations/westus/operationResults/operationid?api-version=2024-02-01" + } + } + } +} diff --git a/specification/edgeorder/resource-manager/readme.md b/specification/edgeorder/resource-manager/readme.md index 1faf90147d9b..68ca38d236ae 100644 --- a/specification/edgeorder/resource-manager/readme.md +++ b/specification/edgeorder/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for EdgeOrder. - - --- + ## Getting Started + To build the SDK for EdgeOrder, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,22 +15,31 @@ To build the SDK for EdgeOrder, simply [Install AutoRest](https://aka.ms/autores To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the EdgeOrder API. ``` yaml title: EdgeOrderManagementClient description: Edge Order API's openapi-type: arm -tag: package-2022-05-preview +tag: package-2024-02 ``` + +### Tag: package-2024-02 + +These settings apply only when `--tag=package-2024-02` is specified on the command line. + +```yaml $(tag) == 'package-2024-02' +input-file: + - Microsoft.EdgeOrder/stable/2024-02-01/edgeorder.json +``` ### Tag: package-2022-05-preview These settings apply only when `--tag=package-2022-05-preview` is specified on the command line. @@ -39,6 +48,7 @@ These settings apply only when `--tag=package-2022-05-preview` is specified on t input-file: - Microsoft.EdgeOrder/preview/2022-05-01-preview/edgeorder.json ``` + --- ### Tag: package-2021-12 @@ -49,6 +59,7 @@ These settings apply only when `--tag=package-2021-12` is specified on the comma input-file: - Microsoft.EdgeOrder/stable/2021-12-01/edgeorder.json ``` + --- ### Tag: package-2020-12-preview @@ -59,11 +70,11 @@ These settings apply only when `--tag=package-2020-12-preview` is specified on t input-file: - Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json ``` + --- # Code Generation - ## Swagger to SDK This section describes what SDK should be generated by the automatic system. @@ -97,4 +108,4 @@ See configuration in [readme.python.md](./readme.python.md) ## Go -See configuration in [readme.go.md](./readme.go.md) \ No newline at end of file +See configuration in [readme.go.md](./readme.go.md) diff --git a/specification/elasticsan/resource-manager/readme.python.md b/specification/elasticsan/resource-manager/readme.python.md index e79873f42beb..f38a0f44cda3 100644 --- a/specification/elasticsan/resource-manager/readme.python.md +++ b/specification/elasticsan/resource-manager/readme.python.md @@ -17,3 +17,8 @@ clear-output-folder: true no-namespace-folders: true output-folder: $(python-sdks-folder)/elasticsan/azure-mgmt-elasticsan/azure/mgmt/elasticsan ``` + +``` yaml $(python) +modelerfour: + flatten-models: false +``` diff --git a/specification/loadtestservice/LoadTestService/client.tsp b/specification/loadtestservice/LoadTestService/client.tsp new file mode 100644 index 000000000000..988d85342d81 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/client.tsp @@ -0,0 +1,60 @@ +import "./main.tsp"; +import "@azure-tools/typespec-client-generator-core"; + +using TypeSpec.Versioning; +using Azure.ClientGenerator.Core; +using Microsoft.LoadTestService; + +@useDependency(APIVersions.v2022_11_01) +@useDependency(APIVersions.v2023_04_01_preview) +namespace Customizations; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" +@client({ + name: "LoadTestAdministrationClient", + service: Microsoft.LoadTestService, +}) +interface AdministrationOperations { + createOrUpdateTest is LoadTestAdministration.createOrUpdateTest; + createOrUpdateAppComponents is LoadTestAdministration.createOrUpdateAppComponents; + createOrUpdateServerMetricsConfig is LoadTestAdministration.createOrUpdateServerMetricsConfig; + getAppComponents is LoadTestAdministration.getAppComponents; + getServerMetricsConfig is LoadTestAdministration.getServerMetricsConfig; + getTest is LoadTestAdministration.getTest; + getTestFile is LoadTestAdministration.getTestFile; + listTestFiles is LoadTestAdministration.listTestFiles; + listTests is LoadTestAdministration.listTests; + #suppress "@azure-tools/typespec-azure-core/byos" "It is limiting for users to have storage first before creating a load test also it will be breaking change for us." + @projectedName("python", "BeginUploadTestFile") + uploadTestFile is LoadTestAdministration.uploadTestFile; + deleteTestFile is LoadTestAdministration.deleteTestFile; + deleteTest is LoadTestAdministration.deleteTest; +} + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" +@client({ + name: "LoadTestRunClient", + service: Microsoft.LoadTestService, +}) +interface TestRunOperations { + @projectedName("python", "BeginTestRun") + createOrUpdateTestRun is LoadTestRun.createOrUpdateTestRun; + createOrUpdateAppComponents is LoadTestRun.createOrUpdateAppComponents; + createOrUpdateServerMetricsConfig is LoadTestRun.createOrUpdateServerMetricsConfig; + deleteTestRun is LoadTestRun.deleteTestRun; + getAppComponents is LoadTestRun.getAppComponents; + getServerMetricsConfig is LoadTestRun.getServerMetricsConfig; + getTestRun is LoadTestRun.getTestRun; + getTestRunFile is LoadTestRun.getTestRunFile; + listMetricDimensionValues is LoadTestRun.listMetricDimensionValues; + @projectedName("python", "get_metric_definitions") + @projectedName("java", "getMetricDefinitions") + listMetricDefinitions is LoadTestRun.listMetricDefinitions; + @projectedName("python", "get_metric_namespaces") + @projectedName("java", "getMetricNamespaces") + listMetricNamespaces is LoadTestRun.listMetricNamespaces; + listMetrics is LoadTestRun.listMetrics; + listTestRuns is LoadTestRun.listTestRuns; + #suppress "@azure-tools/typespec-azure-core/no-operation-id" + stopTestRun is LoadTestRun.stop; +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTest.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTest.json new file mode 100644 index 000000000000..af2df34095e7 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTest.json @@ -0,0 +1,183 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateTest", + "title": "Create or update a load test", + "parameters": { + "api-version": "2022-11-01", + "testId": "12345678-1234-1234-1234-123456789012", + "body": { + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue" + } + } + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/sampleprovider/sampleresourcetype/sampleresourcename" + } + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + }, + "201": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestAppComponents.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestAppComponents.json new file mode 100644 index 000000000000..09f1540e5b83 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestAppComponents.json @@ -0,0 +1,60 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateAppComponents", + "title": "Add or update app components to a load test", + "parameters": { + "testId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2022-11-01", + "body": { + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "kind": "web" + } + } + } + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateAndUpdateTestRun.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestRun.json similarity index 98% rename from specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateAndUpdateTestRun.json rename to specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestRun.json index b5d0306b84c0..60aae3d96546 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateAndUpdateTestRun.json +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestRun.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_CreateOrUpdateTestRun", + "title": "Create/update and start a load test run", "parameters": { "testRunId": "12316678-1234-1234-1234-122451189012", "oldTestRunId": "12345678-1234-1234-1234-123456789012", diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestRunAppComponents.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestRunAppComponents.json new file mode 100644 index 000000000000..50f97ad8de18 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestRunAppComponents.json @@ -0,0 +1,60 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateAppComponents", + "title": "Add or update app components to a load test run", + "parameters": { + "testRunId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2022-11-01", + "body": { + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "kind": "web" + } + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestRunServerMetricsConfig.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestRunServerMetricsConfig.json new file mode 100644 index 000000000000..0feb297abfea --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestRunServerMetricsConfig.json @@ -0,0 +1,65 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateServerMetricsConfig", + "title": "Add or update server metrics configuration for a load test run", + "parameters": { + "testRunId": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2022-11-01", + "body": { + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestServerMetricsConfig.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestServerMetricsConfig.json new file mode 100644 index 000000000000..e3f85da98089 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/CreateOrUpdateTestServerMetricsConfig.json @@ -0,0 +1,65 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateServerMetricsConfig", + "title": "Add or update server metrics configuration for a load test.", + "parameters": { + "testId": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2022-11-01", + "body": { + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + }, + "responses": { + "200": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/DeleteTest.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/DeleteTest.json new file mode 100644 index 000000000000..defce54c4410 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/DeleteTest.json @@ -0,0 +1,11 @@ +{ + "operationId": "LoadTestAdministration_DeleteTest", + "title": "Delete a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2022-11-01" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/DeleteTestFile.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/DeleteTestFile.json new file mode 100644 index 000000000000..ef1b58914ad2 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/DeleteTestFile.json @@ -0,0 +1,12 @@ +{ + "operationId": "LoadTestAdministration_DeleteTestFile", + "title": "Delete a file from a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "app.jmx", + "api-version": "2022-11-01" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/DeleteTestRun.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/DeleteTestRun.json new file mode 100644 index 000000000000..4df2e7467bcb --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/DeleteTestRun.json @@ -0,0 +1,11 @@ +{ + "operationId": "LoadTestRun_DeleteTestRun", + "title": "Delete a load test run", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2022-11-01" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/GetTest.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/GetTest.json new file mode 100644 index 000000000000..1ce1953b0d73 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/GetTest.json @@ -0,0 +1,81 @@ +{ + "operationId": "LoadTestAdministration_GetTest", + "title": "Get a load test.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 0, + "result": null + } + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/GetTestFile.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/GetTestFile.json new file mode 100644 index 000000000000..d65e7f74c09c --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/GetTestFile.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestAdministration_GetTestFile", + "title": "Get a file from a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "sample.jmx", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/GetTestRun.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/GetTestRun.json new file mode 100644 index 000000000000..22e73e1f810e --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/GetTestRun.json @@ -0,0 +1,124 @@ +{ + "operationId": "LoadTestRun_GetTestRun", + "title": "Get a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "DONE", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/GetTestRunFile.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/GetTestRunFile.json new file mode 100644 index 000000000000..3908457dc1bc --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/GetTestRunFile.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestRun_GetTestRunFile", + "title": "Get a file associated to a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "fileName": "sample.jmx", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListMetricDimensionValues.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListMetricDimensionValues.json new file mode 100644 index 000000000000..e47e25336546 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListMetricDimensionValues.json @@ -0,0 +1,23 @@ +{ + "operationId": "LoadTestRun_ListMetricDimensionValues", + "title": "List the dimension values for the given metric dimension name.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "name": "SamplerName", + "aggregation": "Average", + "metricname": "ActiveThreads", + "metricNamespace": "LoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + "HighLoadTest" + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestAppComponents.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestAppComponents.json new file mode 100644 index 000000000000..a93bc9d8f674 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestAppComponents.json @@ -0,0 +1,30 @@ +{ + "operationId": "LoadTestAdministration_GetAppComponents", + "title": "Get associated app component for the given test.", + "parameters": { + "testId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestFiles.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestFiles.json new file mode 100644 index 000000000000..dada9bdf386a --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestFiles.json @@ -0,0 +1,25 @@ +{ + "operationId": "LoadTestAdministration_ListTestFiles", + "title": "Get all test files.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2022-11-01", + "continuationToken": "continuation token" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunAppComponents.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunAppComponents.json new file mode 100644 index 000000000000..125439b253ea --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunAppComponents.json @@ -0,0 +1,30 @@ +{ + "operationId": "LoadTestRun_GetAppComponents", + "title": "Get associated app component for the given test run.", + "parameters": { + "testRunId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "testRunId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunMetrics.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunMetrics.json new file mode 100644 index 000000000000..5b677e01b313 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunMetrics.json @@ -0,0 +1,465 @@ +{ + "operationId": "LoadTestRun_ListMetrics", + "title": "List the metric values for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "aggregation": "Average", + "metricname": "ActiveThreads", + "metricNamespace": "LoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2022-11-01", + "body": { + "filters": [ + { + "name": "SamplerName", + "values": [ + "HTTP Request" + ] + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "data": [ + { + "timestamp": "2022-10-29T08:44:40.000Z", + "value": 10.0 + }, + { + "timestamp": "2022-10-29T08:44:45.000Z", + "value": 28.0 + }, + { + "timestamp": "2022-10-29T08:44:50.000Z", + "value": 45.0 + }, + { + "timestamp": "2022-10-29T08:44:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:25.000Z", + "value": 49.0 + } + ], + "dimensionValues": [ + { + "name": "SamplerName", + "value": "HighLoadTest" + } + ] + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunMetricsDefinitions.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunMetricsDefinitions.json new file mode 100644 index 000000000000..5c9450a6c6e0 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunMetricsDefinitions.json @@ -0,0 +1,156 @@ +{ + "operationId": "LoadTestRun_ListMetricDefinitions", + "title": "List the metric definitions for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metricNamespace": "LoadTestRunMetrics", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "No of concurrent virtual users", + "name": "VirtualUsers", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "Response time (Successful request)", + "name": "ResponseTime", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Percentile90", + "supportedAggregationTypes": [ + "Average", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "unit": "Milliseconds", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "Total Requests", + "name": "TotalRequests", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + }, + { + "description": "Error response code", + "name": "Errors" + } + ], + "description": "Total Errors", + "name": "Errors", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunMetricsNamespaces.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunMetricsNamespaces.json new file mode 100644 index 000000000000..f66a7e35cf95 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunMetricsNamespaces.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestRun_ListMetricNamespaces", + "title": "List the metric namespaces for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "description": "Load test run metrics", + "name": "LoadTestRunMetrics" + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunServerMetricsConfig.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunServerMetricsConfig.json new file mode 100644 index 000000000000..c937c2d8003e --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRunServerMetricsConfig.json @@ -0,0 +1,31 @@ +{ + "operationId": "LoadTestRun_GetServerMetricsConfig", + "title": "List server metrics configuration for the given test run.", + "parameters": { + "testRunId": "12345678-1234-1234-1234-123456789012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRuns.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRuns.json new file mode 100644 index 000000000000..779426d9638d --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestRuns.json @@ -0,0 +1,136 @@ +{ + "operationId": "LoadTestRun_ListTestRuns", + "title": "List test runs.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "orderBy": "executedDateTime", + "continuationToken": "continuation token", + "search": "Performance_LoadTest_Run1", + "executionFrom": "2021-12-05T16:43:48.805Z", + "executionTo": "2021-12-05T16:43:48.805Z", + "status": "DONE,EXECUTING", + "maxPageSize": 30, + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "DONE", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 10, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + ], + "nextLink": "https://00000000-0000-0000-aaaa-00aa00aa00aa.westus2.cnt-prod.loadtesting.azure.com/test-runs?orderby=executedDateTime%20desc&continuationToken=some-value&search=&testId=&executionFrom=&executionTo=&status=&maxpagesize=50&api-version=2022-11-01" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestServerMetricsConfig.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestServerMetricsConfig.json new file mode 100644 index 000000000000..da1340b28ee7 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTestServerMetricsConfig.json @@ -0,0 +1,31 @@ +{ + "operationId": "LoadTestAdministration_GetServerMetricsConfig", + "title": "List server metrics configuration for the given test.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTests.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTests.json new file mode 100644 index 000000000000..cdf4fc5d5135 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/ListTests.json @@ -0,0 +1,91 @@ +{ + "operationId": "LoadTestAdministration_ListTests", + "title": "Get all load tests.", + "parameters": { + "orderBy": "executedDateTime", + "search": "Performance_LoadTest", + "lastUpdatedStartTime": "2021-12-05T16:43:46.797Z", + "lastUpdatedEndTime": "2021-12-05T16:43:46.797Z", + "continuationToken": "continuation token", + "maxPageSize": 30, + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "pfmetric1": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ], + "nextLink": "https://00000000-0000-0000-aaaa-00aa00aa00aa.westus2.cnt-prod.loadtesting.azure.com/tests?orderby=executedDateTime%20desc&continuationToken=some-value&search=&&executionFrom=&executionTo=&status=&maxpagesize=50&api-version=2022-11-01" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/StopTestRun.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/StopTestRun.json new file mode 100644 index 000000000000..436f24b41042 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/StopTestRun.json @@ -0,0 +1,95 @@ +{ + "operationId": "LoadTestRun_StopTestRun", + "title": "Stop test run by name.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "CANCELLING", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "NOT_APPLICABLE", + "passFailCriteria": { + "passFailMetrics": { + "pfmetric1": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 0, + "result": null + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": null, + "logsFileInfo": null + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": null, + "testRunStatistics": null, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2022-11-01/UploadTestFile.json b/specification/loadtestservice/LoadTestService/examples/2022-11-01/UploadTestFile.json new file mode 100644 index 000000000000..eb6dac12c9ed --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2022-11-01/UploadTestFile.json @@ -0,0 +1,22 @@ +{ + "operationId": "LoadTestAdministration_UploadTestFile", + "title": "Upload input file for a given test name.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "body": "application/octet-stream content", + "api-version": "2022-11-01" + }, + "responses": { + "201": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTest.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTest.json new file mode 100644 index 000000000000..2fc8619eb34f --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTest.json @@ -0,0 +1,198 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateTest", + "title": "Create or update a load test", + "parameters": { + "api-version": "2023-04-01-preview", + "testId": "12345678-1234-1234-1234-123456789012", + "body": { + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/sampleprovider/sampleresourcetype/sampleresourcename" + } + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + }, + "201": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestAppComponents.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestAppComponents.json new file mode 100644 index 000000000000..b930b0577adf --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestAppComponents.json @@ -0,0 +1,60 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateAppComponents", + "title": "Add or update app components to a load test", + "parameters": { + "testId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2023-04-01-preview", + "body": { + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "kind": "web" + } + } + } + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestRun.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestRun.json new file mode 100644 index 000000000000..aeac6e0c3c54 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestRun.json @@ -0,0 +1,283 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateTestRun", + "title": "Create/update and start a load test run", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "oldTestRunId": "12345678-1234-1234-1234-123456789012", + "api-version": "2023-04-01-preview", + "body": { + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "ACCEPTED", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "results.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "ACCEPTED", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "results.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestRunAppComponents.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestRunAppComponents.json new file mode 100644 index 000000000000..46723d15e222 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestRunAppComponents.json @@ -0,0 +1,60 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateAppComponents", + "title": "Add or update app components to a load test run", + "parameters": { + "testRunId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2023-04-01-preview", + "body": { + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "kind": "web" + } + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestRunServerMetricsConfig.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestRunServerMetricsConfig.json new file mode 100644 index 000000000000..0c05ac1ef5ad --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestRunServerMetricsConfig.json @@ -0,0 +1,65 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateServerMetricsConfig", + "title": "Add or update server metrics configuration for a load test run", + "parameters": { + "testRunId": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2023-04-01-preview", + "body": { + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestServerMetricsConfig.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestServerMetricsConfig.json new file mode 100644 index 000000000000..ccfd63decc1f --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/CreateOrUpdateTestServerMetricsConfig.json @@ -0,0 +1,65 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateServerMetricsConfig", + "title": "Add or update server metrics configuration for a load test.", + "parameters": { + "testId": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2023-04-01-preview", + "body": { + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + }, + "responses": { + "200": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/DeleteTest.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/DeleteTest.json new file mode 100644 index 000000000000..24fe1251a982 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/DeleteTest.json @@ -0,0 +1,11 @@ +{ + "operationId": "LoadTestAdministration_DeleteTest", + "title": "Delete a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/DeleteTestFile.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/DeleteTestFile.json new file mode 100644 index 000000000000..81aa94f42bd9 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/DeleteTestFile.json @@ -0,0 +1,12 @@ +{ + "operationId": "LoadTestAdministration_DeleteTestFile", + "title": "Delete a file from a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "app.jmx", + "api-version": "2023-04-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/DeleteTestRun.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/DeleteTestRun.json new file mode 100644 index 000000000000..5b8b8b9ceff1 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/DeleteTestRun.json @@ -0,0 +1,11 @@ +{ + "operationId": "LoadTestRun_DeleteTestRun", + "title": "Delete a load test run", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/GetTest.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/GetTest.json new file mode 100644 index 000000000000..011d6d31702b --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/GetTest.json @@ -0,0 +1,86 @@ +{ + "operationId": "LoadTestAdministration_GetTest", + "title": "Get a load test.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 0, + "result": null + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/GetTestFile.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/GetTestFile.json new file mode 100644 index 000000000000..b54dd550cd78 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/GetTestFile.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestAdministration_GetTestFile", + "title": "Get a file from a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "sample.jmx", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/GetTestRun.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/GetTestRun.json new file mode 100644 index 000000000000..2c68f0b2107d --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/GetTestRun.json @@ -0,0 +1,129 @@ +{ + "operationId": "LoadTestRun_GetTestRun", + "title": "Get a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "DONE", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/GetTestRunFile.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/GetTestRunFile.json new file mode 100644 index 000000000000..1196c1716cef --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/GetTestRunFile.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestRun_GetTestRunFile", + "title": "Get a file associated to a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "fileName": "sample.jmx", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListMetricDimensionValues.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListMetricDimensionValues.json new file mode 100644 index 000000000000..8de54a125bdd --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListMetricDimensionValues.json @@ -0,0 +1,23 @@ +{ + "operationId": "LoadTestRun_ListMetricDimensionValues", + "title": "List the dimension values for the given metric dimension name.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "name": "SamplerName", + "aggregation": "Average", + "metricname": "ActiveThreads", + "metricNamespace": "LoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + "HighLoadTest" + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestAppComponents.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestAppComponents.json new file mode 100644 index 000000000000..09c21916e614 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestAppComponents.json @@ -0,0 +1,30 @@ +{ + "operationId": "LoadTestAdministration_GetAppComponents", + "title": "Get associated app component for the given test.", + "parameters": { + "testId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestFiles.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestFiles.json new file mode 100644 index 000000000000..4e5c97ca57a9 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestFiles.json @@ -0,0 +1,25 @@ +{ + "operationId": "LoadTestAdministration_ListTestFiles", + "title": "Get all test files.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2023-04-01-preview", + "continuationToken": "continuation token" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunAppComponents.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunAppComponents.json new file mode 100644 index 000000000000..5a6b0d37f569 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunAppComponents.json @@ -0,0 +1,30 @@ +{ + "operationId": "LoadTestRun_GetAppComponents", + "title": "Get associated app component for the given test run.", + "parameters": { + "testRunId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunMetrics.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunMetrics.json new file mode 100644 index 000000000000..a7c22f3a673c --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunMetrics.json @@ -0,0 +1,465 @@ +{ + "operationId": "LoadTestRun_ListMetrics", + "title": "List the metric values for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "aggregation": "Average", + "metricname": "ActiveThreads", + "metricNamespace": "LoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2023-04-01-preview", + "body": { + "filters": [ + { + "name": "SamplerName", + "values": [ + "HTTP Request" + ] + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "data": [ + { + "timestamp": "2022-10-29T08:44:40.000Z", + "value": 10.0 + }, + { + "timestamp": "2022-10-29T08:44:45.000Z", + "value": 28.0 + }, + { + "timestamp": "2022-10-29T08:44:50.000Z", + "value": 45.0 + }, + { + "timestamp": "2022-10-29T08:44:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:25.000Z", + "value": 49.0 + } + ], + "dimensionValues": [ + { + "name": "SamplerName", + "value": "HighLoadTest" + } + ] + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunMetricsDefinitions.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunMetricsDefinitions.json new file mode 100644 index 000000000000..4d84139c1943 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunMetricsDefinitions.json @@ -0,0 +1,156 @@ +{ + "operationId": "LoadTestRun_ListMetricDefinitions", + "title": "List the metric definitions for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metricNamespace": "LoadTestRunMetrics", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "No of concurrent virtual users", + "name": "VirtualUsers", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "Response time (Successful request)", + "name": "ResponseTime", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Percentile90", + "supportedAggregationTypes": [ + "Average", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "unit": "Milliseconds", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "Total Requests", + "name": "TotalRequests", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + }, + { + "description": "Error response code", + "name": "Errors" + } + ], + "description": "Total Errors", + "name": "Errors", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunMetricsNamespaces.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunMetricsNamespaces.json new file mode 100644 index 000000000000..c6e9dc82f7af --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunMetricsNamespaces.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestRun_ListMetricNamespaces", + "title": "List the metric namespaces for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "description": "Load test run metrics", + "name": "LoadTestRunMetrics" + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunServerMetricsConfig.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunServerMetricsConfig.json new file mode 100644 index 000000000000..a47306f9af88 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRunServerMetricsConfig.json @@ -0,0 +1,31 @@ +{ + "operationId": "LoadTestRun_GetServerMetricsConfig", + "title": "List server metrics configuration for the given test run.", + "parameters": { + "testRunId": "12345678-1234-1234-1234-123456789012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRuns.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRuns.json new file mode 100644 index 000000000000..e83b08ae7a9c --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestRuns.json @@ -0,0 +1,141 @@ +{ + "operationId": "LoadTestRun_ListTestRuns", + "title": "List test runs.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "orderBy": "executedDateTime", + "continuationToken": "continuation token", + "search": "Performance_LoadTest_Run1", + "executionFrom": "2021-12-05T16:43:48.805Z", + "executionTo": "2021-12-05T16:43:48.805Z", + "status": "DONE,EXECUTING", + "maxPageSize": 30, + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "DONE", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 10, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + ], + "nextLink": "https://nextlink.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestServerMetricsConfig.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestServerMetricsConfig.json new file mode 100644 index 000000000000..e8acd2db2417 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTestServerMetricsConfig.json @@ -0,0 +1,31 @@ +{ + "operationId": "LoadTestAdministration_GetServerMetricsConfig", + "title": "List server metrics configuration for the given test.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTests.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTests.json new file mode 100644 index 000000000000..20f823d04d68 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/ListTests.json @@ -0,0 +1,96 @@ +{ + "operationId": "LoadTestAdministration_ListTests", + "title": "Get all load tests.", + "parameters": { + "orderBy": "executedDateTime", + "search": "Performance_LoadTest", + "lastUpdatedStartTime": "2021-12-05T16:43:46.797Z", + "lastUpdatedEndTime": "2021-12-05T16:43:46.797Z", + "continuationToken": "continuation token", + "maxPageSize": 30, + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "pfmetric1": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ], + "nextLink": "https://00000000-0000-0000-aaaa-00aa00aa00aa.westus2.cnt-prod.loadtesting.azure.com/tests?orderby=executedDateTime%20desc&continuationToken=some-value&search=&testId=&executionFrom=&executionTo=&status=&maxpagesize=50&api-version=2023-04-01-preview" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/StopTestRun.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/StopTestRun.json new file mode 100644 index 000000000000..79ef1f6eb506 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/StopTestRun.json @@ -0,0 +1,95 @@ +{ + "operationId": "LoadTestRun_StopTestRun", + "title": "Stop test run by name.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "CANCELLING", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "NOT_APPLICABLE", + "passFailCriteria": { + "passFailMetrics": { + "pfmetric1": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 0, + "result": null + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": null, + "logsFileInfo": null + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": null, + "testRunStatistics": null, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/UploadTestFile.json b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/UploadTestFile.json new file mode 100644 index 000000000000..0c0d1115043f --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2023-04-01-preview/UploadTestFile.json @@ -0,0 +1,22 @@ +{ + "operationId": "LoadTestAdministration_UploadTestFile", + "title": "Upload input file for a given test name.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "body": "application/octet-stream content", + "api-version": "2023-04-01-preview" + }, + "responses": { + "201": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/main.tsp b/specification/loadtestservice/LoadTestService/main.tsp new file mode 100644 index 000000000000..db6577193970 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/main.tsp @@ -0,0 +1,47 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@typespec/versioning"; +import "./routes.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using TypeSpec.Versioning; +using Azure.Core; + +@versioned(APIVersions) +@useAuth(Oauth2) +@service({ + title: "Azure Load Testing", +}) +@server( + "https://{endpoint}", + "These APIs allow end users to create, view and run load tests using Azure Load Test Service.", + { + endpoint: string, + } +) +@doc(""" +These APIs allow end users to create, view and run load tests using Azure Load Test Service. +""") +namespace Microsoft.LoadTestService; + +@doc("Azure Load Testing API versions.") +enum APIVersions { + @doc("The 2022-11-01 version of the Azure Load Testing API.") + @useDependency(Azure.Core.Versions.v1_0_Preview_2) + v2022_11_01: "2022-11-01", + + @doc("The 2023-04-01-preview version of the Azure Load Testing API.") + @useDependency(Azure.Core.Versions.v1_0_Preview_2) + v2023_04_01_preview: "2023-04-01-preview", +} + +@doc("OAuth 2.0 Flow with Microsoft Entra ID.") +model Oauth2 + is OAuth2Auth<[ + { + type: OAuth2FlowType.implicit; + authorizationUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/authorize"; + scopes: ["https://cnt-prod.loadtesting.azure.com/.default"]; + } + ]>; diff --git a/specification/loadtestservice/LoadTestService/models.tsp b/specification/loadtestservice/LoadTestService/models.tsp new file mode 100644 index 000000000000..519a40e3acca --- /dev/null +++ b/specification/loadtestservice/LoadTestService/models.tsp @@ -0,0 +1,1060 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using TypeSpec.Versioning; + +namespace Microsoft.LoadTestService; + +@doc("Metrics for pass/fail criteria.") +enum PFMetrics { + @doc("Pass fail criteria for response time metric in milliseconds.") + response_time_ms, + + @doc("Pass fail criteria for latency metric in milliseconds.") latency, + @doc("Pass fail criteria for error metric.") error, + @doc("Pass fail criteria for total requests.") requests, + @doc("Pass fail criteria for request per second.") requests_per_sec, +} + +@doc("Aggregation functions for pass/fail criteria.") +enum PFAgFunc { + @doc("Criteria applies for count value.") count, + @doc("Criteria applies for given percentage value.") percentage, + @doc("Criteria applies for avg value.") avg, + @doc("Criteria applies for 50th percentile value.") p50, + @doc("Criteria applies for 90th percentile value.") p90, + @doc("Criteria applies for 95th percentile value.") p95, + @doc("Criteria applies for 99th percentile value.") p99, + @doc("Criteria applies for minimum value.") min, + @doc("Criteria applies for maximum value.") max, +} + +@doc("Action to take on failure of pass/fail criteria.") +enum PFAction { + @doc("Test will continue to run even if pass fail metric criteria metric gets failed.") + continue, + + @doc("Test run will stop if pass fail criteria metric is not passed.") stop, +} + +@doc("Pass/fail criteria result.") +enum PFResult { + @doc("Given pass fail criteria metric has passed.") passed, + @doc("Given pass fail criteria metric couldn't determine.") undetermined, + @doc("Given pass fail criteria metric has failed.") failed, +} + +@doc("Types of secrets supported.") +enum SecretType { + @doc("If the secret is stored in an Azure Key Vault.") AKV_SECRET_URI, + @doc("If the secret value provided as plain text.") SECRET_VALUE, +} + +@doc("Types of certificates supported.") +enum CertificateType { + @doc("If the certificate is stored in an Azure Key Vault.") AKV_CERT_URI, +} + +@doc("Types of file supported.") +enum FileType { + @doc("If the file is a JMX script.") JMX_FILE, + @doc("If the file is a user properties file.") USER_PROPERTIES, + + @doc("If the file is not among any of the other supported file types.") + ADDITIONAL_ARTIFACTS, + + @added(APIVersions.v2023_04_01_preview) + @doc("If the file is a compressed archive containing a collection of various artifacts or resources.") + ZIPPED_ARTIFACTS, + + @added(APIVersions.v2023_04_01_preview) + @doc("If the file is a JSON config file to define the requests for a URL test.") + URL_TEST_CONFIG_JSON, +} + +@doc("File status.") +enum FileStatus { + @doc("File is not validated.") NOT_VALIDATED, + @doc("File is validated.") VALIDATION_SUCCESS, + @doc("File validation is failed.") VALIDATION_FAILURE, + @doc("File validation is in progress.") VALIDATION_INITIATED, + @doc("Validation is not required.") VALIDATION_NOT_REQUIRED, +} + +@doc("Test result based on pass/fail criteria.") +enum PFTestResult { + @doc("Pass/fail criteria has passed.") PASSED, + @doc("Pass/fail criteria is not applicable.") NOT_APPLICABLE, + @doc("Pass/fail criteria has failed.") FAILED, +} + +@doc("Test run status.") +enum Status { + @doc("Test run request is accepted.") ACCEPTED, + @doc("Test run is not yet started.") NOTSTARTED, + @doc("Test run is provisioning.") PROVISIONING, + @doc("Test run is provisioned.") PROVISIONED, + @doc("Test run is getting configured.") CONFIGURING, + @doc("Test run configuration is done.") CONFIGURED, + @doc("Test run has started executing.") EXECUTING, + @doc("Test run execution is completed.") EXECUTED, + @doc("Test run is getting deprovisioned.") DEPROVISIONING, + @doc("Test run is deprovisioned.") DEPROVISIONED, + @doc("Test run is completed.") DONE, + @doc("Test run is being cancelled.") CANCELLING, + @doc("Test run request is cancelled.") CANCELLED, + @doc("Test run request is failed.") FAILED, + @doc("Test run JMX file is validated.") VALIDATION_SUCCESS, + @doc("Test run JMX file validation is failed.") VALIDATION_FAILURE, +} + +@doc("Aggregation type.") +enum AggregationType { + @doc("Average value.") Average, + @doc("Total count.") Count, + @doc("Aggregation will be average in this case.") None, + @doc("Total sum.") Total, + @doc("90th percentile.") Percentile90, + @doc("95th percentile.") Percentile95, + @doc("99th percentile.") Percentile99, +} + +@doc("Metric unit.") +enum MetricUnit { + @doc("No unit specified.") NotSpecified, + @doc("Percentage.") Percent, + @doc("Value count.") Count, + @doc("Seconds.") Seconds, + @doc("Milliseconds") Milliseconds, + @doc("Bytes") Bytes, + @doc("Bytes per second") BytesPerSecond, + @doc("Count per second") CountPerSecond, +} + +@doc("Time Grain") +enum TimeGrain { + @doc("5 seconds, available only if test run duration is less than 10 minutes.") + PT5S, + + @doc("10 seconds, available only if test run duration is less than 10 minutes.") + PT10S, + + @doc("1 minute") PT1M, + + @doc("5 minutes, available only if test run duration is greater than 1 minute.") + PT5M, + + @doc("1 hour, available only if test run duration is greater than 1 minute.") + PT1H, +} + +@added(APIVersions.v2023_04_01_preview) +@doc("Test kind") +enum TestKind { + @doc("URL Test") URL, + @doc("JMX Test") JMX, +} + +@doc("Test file info.") +@resource("files") +@parentResource(Test) +model TestFileInfo is FileInfo; + +@doc("Test run file info.") +@resource("files") +@parentResource(TestRun) +model TestRunFileInfo is FileInfo; + +@doc("Load test model.") +@resource("tests") +model Test { + @doc("Pass fail criteria for a test.") + passFailCriteria?: PassFailCriteria; + + @added(APIVersions.v2023_04_01_preview) + @doc("Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window.") + autoStopCriteria?: AutoStopCriteria; + + @doc(""" +Secrets can be stored in an Azure Key Vault or any other secret store. If the +secret is stored in an Azure Key Vault, the value should be the secret +identifier and the type should be AKV_SECRET_URI. If the secret is stored +elsewhere, the secret value should be provided directly and the type should be +SECRET_VALUE. +""") + secrets?: Record; + + @doc("Certificates metadata.") + certificate?: CertificateMetadata; + + @doc("Environment variables which are defined as a set of pairs.") + environmentVariables?: Record; + + @doc("The load test configuration.") + loadTestConfiguration?: LoadTestConfiguration; + + @added(APIVersions.v2023_04_01_preview) + @doc("Id of the test run to be marked as baseline to view trends of client-side metrics from recent test runs") + baselineTestRunId?: string; + + @doc("The input artifacts for the test.") + @visibility("read") + inputArtifacts?: TestInputArtifacts; + + ...TestIdPathParameter; + + @maxLength(100) + @doc("The test description.") + description?: string; + + @maxLength(50) + @minLength(2) + @doc("Display name of a test.") + displayName?: string; + + @doc("Subnet ID on which the load test instances should run.") + subnetId?: string; + + @added(APIVersions.v2023_04_01_preview) + @doc("Kind of test.") + kind?: TestKind; + + #suppress "@azure-tools/typespec-azure-core/casing-style" "IP is an abbervation and should be all caps" + @added(APIVersions.v2023_04_01_preview) + @doc("Inject load test engines without deploying public IP for outbound access") + publicIPDisabled?: boolean; + + @doc("Type of the managed identity referencing the Key vault.") + keyvaultReferenceIdentityType?: string; + + @doc("Resource Id of the managed identity referencing the Key vault.") + keyvaultReferenceIdentityId?: string; + + ...SystemMetaData; +} + +@doc("Pass fail criteria for a test.") +model PassFailCriteria { + @doc("Map of id and pass fail metrics { id : pass fail metrics }.") + passFailMetrics?: Record; +} + +@doc("Pass fail metric") +model PassFailMetric { + @doc("The client metric on which the criteria should be applied.") + clientMetric?: PFMetrics; + + @doc(""" +The aggregation function to be applied on the client metric. Allowed functions +- ‘percentage’ - for error metric , ‘avg’, ‘p50’, ‘p90’, ‘p95’, ‘p99’, ‘min’, +‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec, +‘count’ - for requests +""") + aggregate?: PFAgFunc; + + @doc("The comparison operator. Supported types ‘>’, ‘<’ ") + condition?: string; + + @doc("Request name for which the Pass fail criteria has to be applied ") + requestName?: string; + + @doc(""" +The value to compare with the client metric. Allowed values - ‘error : [0.0 , +100.0] unit- % ’, response_time_ms and latency : any integer value unit- ms. +""") + value?: float64; + + @doc("Action taken after the threshold is met. Default is ‘continue’.") + action?: PFAction = PFAction.continue; + + @doc("The actual value of the client metric for the test run.") + @visibility("read") + actualValue?: float64; + + @doc("Outcome of the test run.") + @visibility("read") + result?: PFResult; +} + +@doc("Secret") +model Secret { + @doc("The value of the secret for the respective type") + value?: string; + + @doc("Type of secret") + type?: SecretType; +} + +@doc("Certificates metadata") +model CertificateMetadata { + @doc("The value of the certificate for respective type") + value?: string; + + @doc("Type of certificate") + type?: CertificateType; + + @doc("Name of the certificate.") + name?: string; +} + +@added(APIVersions.v2023_04_01_preview) +@doc("Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window.") +model AutoStopCriteria { + @doc("Whether auto-stop should be disabled. The default value is false.") + autoStopDisabled?: boolean = false; + + @doc("Threshold percentage of errors on which test run should be automatically stopped. Allowed values are in range of 0.0-100.0") + errorRate?: float32 = 90; + + @doc("Time window during which the error percentage should be evaluated in seconds.") + errorRateTimeWindowInSeconds?: int32 = 60; +} + +@doc("Configurations for the load test.") +model LoadTestConfiguration { + @doc(""" +The number of engine instances to execute load test. Supported values are in range of 1-400. Required for creating a new test. +""") + engineInstances?: int32; + + #suppress "@azure-tools/typespec-azure-core/casing-style" "CSV is an abbervation and should be all caps" + @doc(""" +If false, Azure Load Testing copies and processes your input files unmodified +across all test engine instances. If true, Azure Load Testing splits the CSV +input data evenly across all engine instances. If you provide multiple CSV +files, each file will be split evenly. +""") + splitAllCSVs?: boolean = false; + + @doc(""" +If true, optionalLoadTestConfig is required and JMX script for the load test is +not required to upload. +""") + quickStartTest?: boolean = false; + + @doc("Configuration for quick load test") + optionalLoadTestConfig?: OptionalLoadTestConfig; +} + +@doc("Configuration for quick load test") +model OptionalLoadTestConfig { + @doc("Test URL. Provide the complete HTTP URL. For example, https://contoso-app.azurewebsites.net/login") + endpointUrl?: string; + + @doc("Target throughput (requests per second). This may not be necessarily achieved. The actual throughput will be lower if the application is not capable of handling it.") + @added(APIVersions.v2023_04_01_preview) + requestsPerSecond?: int32; + + @doc("Maximum response time in milliseconds of the API/endpoint.") + @added(APIVersions.v2023_04_01_preview) + maxResponseTimeInMs?: int32; + + @doc("No of concurrent virtual users.") + virtualUsers?: int32; + + @doc("Ramp up time in seconds.") + rampUpTime?: int32; + + @doc("Test run duration in seconds.") + duration?: int32; +} + +@doc("The input artifacts for the test.") +model TestInputArtifacts { + @doc("File info") + configFileInfo?: TestFileInfo; + + @doc("File info") + testScriptFileInfo?: TestFileInfo; + + @doc("File info") + userPropFileInfo?: TestFileInfo; + + @doc("File info") + inputArtifactsZipFileInfo?: TestFileInfo; + + @added(APIVersions.v2023_04_01_preview) + @doc("The config json file for url based test") + urlTestConfigFileInfo?: TestFileInfo; + + @doc("Additional supported files for the test run") + @visibility("read") + additionalFileInfo?: TestFileInfo[]; +} + +@doc("File info") +model FileInfo { + @doc("Name of the file.") + @key + @visibility + fileName: string; + + @doc("File URL.") + //update description + @visibility("read") + url?: url; + + @doc("File type") + @visibility("read") + fileType?: FileType; + + @doc("Expiry time of the file (RFC 3339 literal format)") + @visibility("read") + expireDateTime?: utcDateTime; + + @doc("Validation status of the file") + @visibility("read") + validationStatus?: FileStatus; + + @doc("Validation failure error details") + @visibility("read") + validationFailureDetails?: string; +} + +@doc("Test app components") +model TestAppComponents { + @doc(""" +Azure resource collection { resource id (fully qualified resource Id e.g +subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}) +: resource object } +""") + components: Record; + + @doc("Test identifier") + @visibility("read") + testId?: string; + + ...SystemMetaData; +} + +@doc(""" +An Azure resource object (Refer azure generic resource model :https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource) +""") +model AppComponent { + @doc(""" +fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName} +""") + @visibility("read") + resourceId: string; + + @doc("Azure resource name, required while creating the app component.") + resourceName: string; + + @doc("Azure resource type, required while creating the app component.") + resourceType: string; + + @doc("Azure resource display name") + displayName?: string; + + @doc("Resource group name of the Azure resource") + @visibility("read") + resourceGroup?: string; + + @doc("Subscription Id of the Azure resource") + @visibility("read") + subscriptionId?: string; + + @doc("Kind of Azure resource type") + kind?: string; +} + +@doc("Test server metrics configuration") +model TestServerMetricConfig { + @doc("Test identifier") + @visibility("read") + testId?: string; + + @doc(""" +Azure resource metrics collection {metric id : metrics object} (Refer : +https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition +for metric id). +""") + metrics: Record; + + ...SystemMetaData; +} + +@doc(""" +Associated metric definition for particular metrics of the azure resource ( +Refer : +https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition). +""") +model ResourceMetric { + @doc("Unique name for metric.") + @visibility("read") + id?: string; + + @doc("Azure resource id.") + resourceId: string; + + @doc("Metric name space.") + metricNamespace: string; + + @doc("Metric description.") + displayDescription?: string; + + @doc("The invariant value of metric name") + name: string; + + @doc("Metric aggregation.") + aggregation: string; + + @doc("Metric unit.") + unit?: string; + + @doc("Azure resource type.") + resourceType: string; +} + +@doc("Load test run model") +@resource("test-runs") +model TestRun { + ...TestRunIdPathParameter; + + @doc("Pass fail criteria for a test.") + passFailCriteria?: PassFailCriteria; + + @doc("Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window.") + @added(APIVersions.v2023_04_01_preview) + autoStopCriteria?: AutoStopCriteria; + + @doc(""" +Secrets can be stored in an Azure Key Vault or any other secret store. If the +secret is stored in an Azure Key Vault, the value should be the secret +identifier and the type should be AKV_SECRET_URI. If the secret is stored +elsewhere, the secret value should be provided directly and the type should be +SECRET_VALUE. +""") + secrets?: Record; + + @doc("Certificates metadata") + certificate?: CertificateMetadata; + + @doc("Environment variables which are defined as a set of pairs.") + environmentVariables?: Record; + + @doc("Error details if there is any failure in load test run") + @visibility("read") + errorDetails?: ErrorDetails[]; + + @doc("Test run statistics.") + @visibility("read") + testRunStatistics?: Record; + + @doc("The load test configuration.") + loadTestConfiguration?: LoadTestConfiguration; + + @doc("Collection of test run artifacts") + @visibility("read") + testArtifacts?: TestRunArtifacts; + + @doc("Test result for pass/Fail criteria used during the test run.") + @visibility("read") + testResult?: PFTestResult; + + @doc("Number of virtual users, for which test has been run.") + @visibility("read") + virtualUsers?: int32; + + @maxLength(50) + @minLength(2) + @doc("Display name of a testRun.") + displayName?: string; + + @maxLength(50) + @minLength(2) + @doc("Associated test Id.") + testId?: string; + + @maxLength(100) + @doc("The test run description.") + description?: string; + + @doc("The test run status.") + @visibility("read") + status?: Status; + + @doc("The test run start DateTime(RFC 3339 literal format).") + @visibility("read") + startDateTime?: utcDateTime; + + @doc("The test run end DateTime(RFC 3339 literal format).") + @visibility("read") + endDateTime?: utcDateTime; + + @doc("Test run initiated time.") + @visibility("read") + executedDateTime?: utcDateTime; + + @doc("Portal url.") + @visibility("read") + portalUrl?: string; + + @doc("Test run duration in milliseconds.") + @visibility("read") + duration?: int64; + + @doc("Subnet ID on which the load test instances should run.") + @visibility("read") + subnetId?: string; + + @added(APIVersions.v2023_04_01_preview) + @doc("Type of test.") + @visibility("read") + kind?: TestKind; + + #suppress "@azure-tools/typespec-azure-core/casing-style" "IP is an abbervation and should be all caps" + @added(APIVersions.v2023_04_01_preview) + @doc("Inject load test engines without deploying public IP for outbound access") + @visibility("read") + publicIPDisabled?: boolean; + + ...SystemMetaData; +} + +@doc("Error details if there is any failure in load test run") +model ErrorDetails { + @doc("Error details in case test run was not successfully run.") + @visibility("read") + message?: string; +} + +@doc("Test run statistics.") +model TestRunStatistics { + @doc("Transaction name.") + @visibility("read") + transaction?: string; + + @doc("Sampler count.") + @visibility("read") + sampleCount?: float64; + + @doc("Error count.") + @visibility("read") + errorCount?: float64; + + @doc("Error percentage.") + @visibility("read") + errorPct?: float64; + + @doc("Mean response time.") + @visibility("read") + meanResTime?: float64; + + @doc("Median response time.") + @visibility("read") + medianResTime?: float64; + + @doc("Max response time.") + @visibility("read") + maxResTime?: float64; + + @doc("Minimum response time.") + @visibility("read") + minResTime?: float64; + + @doc("90 percentile response time.") + @visibility("read") + pct1ResTime?: float64; + + @doc("95 percentile response time.") + @visibility("read") + pct2ResTime?: float64; + + @doc("99 percentile response time.") + @visibility("read") + pct3ResTime?: float64; + + @doc("Throughput.") + @visibility("read") + throughput?: float64; + + #suppress "@azure-tools/typespec-azure-core/casing-style" "KBytes is expected" + @doc("Received network bytes.") + @visibility("read") + receivedKBytesPerSec?: float64; + + #suppress "@azure-tools/typespec-azure-core/casing-style" "KBytes is expected" + @doc("Send network bytes.") + @visibility("read") + sentKBytesPerSec?: float64; +} + +@doc("Collection of test run artifacts") +model TestRunArtifacts { + @doc("The input artifacts for the test run.") + @visibility("read") + inputArtifacts?: TestRunInputArtifacts; + + @doc("The output artifacts for the test run.") + outputArtifacts?: TestRunOutputArtifacts; +} + +@doc("The input artifacts for the test run.") +model TestRunInputArtifacts { + @doc("File info") + configFileInfo?: TestRunFileInfo; + + @doc("File info") + testScriptFileInfo?: TestRunFileInfo; + + @doc("File info") + userPropFileInfo?: TestRunFileInfo; + + @doc("File info") + inputArtifactsZipFileInfo?: TestRunFileInfo; + + @added(APIVersions.v2023_04_01_preview) + @doc("The config json file for url based test") + urlTestConfigFileInfo?: TestRunFileInfo; + + @doc("Additional supported files for the test run") + @visibility("read") + additionalFileInfo?: TestRunFileInfo[]; +} + +@doc("The output artifacts for the test run.") +model TestRunOutputArtifacts { + @doc("File info") + resultFileInfo?: TestRunFileInfo; + + @doc("File info") + logsFileInfo?: TestRunFileInfo; + + @doc("The container for test run artifacts.") + @added(APIVersions.v2023_04_01_preview) + artifactsContainerInfo?: ArtifactsContainerInfo; +} + +@doc("Artifacts container info.") +@added(APIVersions.v2023_04_01_preview) +model ArtifactsContainerInfo { + @doc("This is a SAS URI to an Azure Storage Container that contains the test run artifacts.") + url?: url; + + @doc("Expiry time of the container (RFC 3339 literal format)") + expireDateTime?: utcDateTime; +} + +@doc("Represents collection of metric namespaces.") +model MetricNamespaceCollection { + @doc("The values for the metric namespaces.") + value: MetricNamespace[]; +} + +@doc("Metric namespace class specifies the metadata for a metric namespace.") +model MetricNamespace { + @doc("The namespace description.") + description?: string; + + @doc("The metric namespace name.") + name?: string; +} + +@doc("Represents collection of metric definitions.") +model MetricDefinitionCollection { + @doc("the values for the metric definitions.") + value: MetricDefinition[]; +} + +@doc("Metric definition") +model MetricDefinition { + @doc("List of dimensions") + dimensions?: NameAndDesc[]; + + @doc("The metric description") + description?: string; + + @doc("The metric name") + name?: string; + + @doc("The namespace the metric belongs to.") + `namespace`?: string; + + @doc("The primary aggregation type value defining how to use the values for display.") + primaryAggregationType?: AggregationType; + + @doc("The collection of what all aggregation types are supported.") + supportedAggregationTypes?: string[]; + + @doc("The unit of the metric.") + unit?: MetricUnit; + + @doc(""" +Metric availability specifies the time grain (aggregation interval or +frequency). +""") + metricAvailabilities?: MetricAvailability[]; +} + +@doc("The name and description") +model NameAndDesc { + @doc("The description") + description?: string; + + @doc("The name") + name?: string; +} + +@doc("Metric availability specifies the time grain (aggregation interval or frequency)") +model MetricAvailability { + @doc(""" +The time grain specifies the aggregation interval for the metric. Expressed as +a duration 'PT1M', 'PT1H', etc. +""") + timeGrain?: TimeGrain; +} + +@doc("Filters to fetch the set of metric.") +model MetricRequestPayload { + @doc(""" +Get metrics for specific dimension values. Example: Metric contains dimension +like SamplerName, Error. To retrieve all the time series data where SamplerName +is equals to HTTPRequest1 or HTTPRequest2, the DimensionFilter value will be +{\"SamplerName\", [\"HTTPRequest1\", \"HTTPRequest2\"} +""") + filters?: DimensionFilter[]; +} + +@doc("Dimension name and values to filter") +model DimensionFilter { + @doc("The dimension name") + name?: string; + + @doc("The dimension values. Maximum values can be 20.") + values?: string[]; +} + +@doc("The response to a metrics query.") +@friendlyName("Metrics") +// using friendlyName to change the name of the model due to issue in using projectedName '@projectedName("json", "Metrics")' https://github.com/microsoft/typespec/issues/2276 +model Metrics is Azure.Core.Page; + +@doc("The time series returned when a data query is performed.") +model TimeSeriesElement { + @doc("An array of data points representing the metric values.") + data?: MetricValue[]; + + @doc("The dimension values ") + dimensionValues?: DimensionValue[]; +} + +@doc("Represents a metric value.") +model MetricValue { + @doc("The timestamp for the metric value in RFC 3339 format.") + timestamp?: utcDateTime; + + @doc("The metric value.") + value?: float64; +} + +@doc("Represents a metric dimension value.") +model DimensionValue { + @doc("The name of the dimension.") + name?: string; + + @doc("The value of the dimension.") + value?: string; +} + +@doc("Metrics dimension values.") +model DimensionValueList { + @doc("The dimension name") + @visibility("read") + @added(APIVersions.v2023_04_01_preview) + name?: string; + + @doc("The dimension value") + value?: string[]; + + @doc("Link for the next set of values in case of paginated results, if applicable.") + nextLink?: ResourceLocation; +} + +@doc("Metric Dimensions") +model MetricDimensionsRequest { + @doc("Metric name") + @query + metricname: string; + + @doc("The interval (i.e. timegrain) of the query.") + @query + interval?: TimeGrain = TimeGrain.PT1M; + + @doc("Metric namespace to query metric definitions for.") + @query + metricNamespace: string; + + @doc(""" + The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'. + """) + @query + @projectedName("python", "time_interval") + timespan: string; +} + +@doc("Test run app component") +model TestRunAppComponents { + @doc(""" +Azure resource collection { resource id (fully qualified resource Id e.g +subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}) +: resource object } +""") + components: Record; + + @doc("Test run identifier") + @visibility("read") + testRunId?: string; + + ...SystemMetaData; +} + +@doc("Test run server metrics configuration") +model TestRunServerMetricConfig { + @doc("Test run identifier") + @visibility("read") + testRunId?: string; + + @doc(""" +Azure resource metrics collection {metric id : metrics object} (Refer : +https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition +for metric id). +""") + metrics?: Record; + + ...SystemMetaData; +} + +@doc("Query parameters for list test run operation") +model OldTestRunIdQueryParam { + @doc(""" +Existing test run identifier that should be rerun, if this is provided, the +test will run with the JMX file, configuration and app components from the +existing test run. You can override the configuration values for new test run +in the request body. +""") + @query + oldTestRunId?: string; +} + +@doc("Parameters for list test run operation") +model ListTestRunQueryParams { + @doc(""" +Sort on the supported fields in (field asc/desc) format. eg: executedDateTime +asc. Supported fields - executedDateTime +""") + @query + orderby?: string; + + @doc(""" +Prefix based, case sensitive search on searchable fields - description, +executedUser. For example, to search for a test run, with description 500 VUs, +the search parameter can be 500. +""") + @query + search?: string; + + @doc("Unique name of an existing load test.") + @query + testId?: string; + + @doc("Start DateTime(RFC 3339 literal format) of test-run execution time filter range.") + @query + executionFrom?: utcDateTime; + + @doc("End DateTime(RFC 3339 literal format) of test-run execution time filter range.") + @query + executionTo?: utcDateTime; + + @doc("Comma separated list of test run status.") + @query + status?: string; + + @doc("Number of results in response.") + @query + maxpagesize?: int32 = 50; +} + +@doc("Parameters for list test operation") +model ListTestQueryParams { + @doc(""" +Sort on the supported fields in (field asc/desc) format. eg: +lastModifiedDateTime asc. Supported fields - lastModifiedDateTime +""") + @query + orderby?: string; + + @doc(""" +Prefix based, case sensitive search on searchable fields - displayName, +createdBy. For example, to search for a test, with display name is Login Test, +the search parameter can be Login. +""") + @query + search?: string; + + @doc(""" +Start DateTime(RFC 3339 literal format) of the last updated time range to filter tests. +""") + @query + lastModifiedStartTime?: utcDateTime; + + @doc(""" +End DateTime(RFC 3339 literal format) of the last updated time range to filter tests. +""") + @query + lastModifiedEndTime?: utcDateTime; + + @doc("Number of results in response.") + @query + maxpagesize?: int32 = 50; +} + +@doc("System metadata.") +model SystemMetaData { + @doc("The creation datetime(RFC 3339 literal format).") + @visibility("read") + createdDateTime?: utcDateTime; + + @doc("The user that created.") + @visibility("read") + createdBy?: string; + + @doc("The last Modified datetime(RFC 3339 literal format).") + @visibility("read") + lastModifiedDateTime?: utcDateTime; + + @doc("The user that last modified.") + @visibility("read") + lastModifiedBy?: string; +} + +@doc("Test Id path parameter.") +model TestIdPathParameter { + @doc("Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.") + @maxLength(50) + @minLength(2) + @key + @visibility("read") + @pattern("^[a-z0-9_-]*$") + testId: string; +} + +@doc("Test run Id path parameter.") +model TestRunIdPathParameter { + @doc("Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.") + @visibility("read") + @maxLength(50) + @minLength(2) + @key + @pattern("^[a-z0-9_-]*$") + testRunId: string; +} + +alias ResourceCreatedResponse = TypeSpec.Http.Response<201> & + T; + +alias ResourceCreatedOrOkResponse = ResourceCreatedResponse | (TypeSpec.Http.Response<200> & + T); diff --git a/specification/loadtestservice/LoadTestService/routes.tsp b/specification/loadtestservice/LoadTestService/routes.tsp new file mode 100644 index 000000000000..436ae6442232 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/routes.tsp @@ -0,0 +1,435 @@ +import "@azure-tools/typespec-azure-core"; +import "@typespec/rest"; +import "@typespec/http"; +import "@typespec/openapi"; +import "./models.tsp"; + +using Azure.Core; +using Azure.Core.Traits; +using TypeSpec.Rest; +using TypeSpec.Http; +using TypeSpec.Versioning; +using OpenAPI; + +namespace Microsoft.LoadTestService; + +@@projectedName(Azure.Core.Foundations.ResourceBody.resource, "json", "body"); +@@projectedName(Azure.Core.Foundations.ResourceBody.resource, "client", "body"); + +@tag("Test") +interface LoadTestAdministration { + @summary("Create a new test or update an existing test by providing the test Id.") + @doc("Create a new test or update an existing test by providing the test Id.") + createOrUpdateTest is StandardResourceOperations.ResourceCreateOrUpdate; + + @summary("Delete a test by its test Id.") + @doc("Delete a test by its test Id.") + deleteTest is StandardResourceOperations.ResourceDelete; + + @summary("Get load test details by test Id") + @doc("Get load test details by test Id") + getTest is StandardResourceOperations.ResourceRead; + + @summary(""" +Get all load tests by the fully qualified resource Id e.g +subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}. +""") + @doc(""" +Get all load tests by the fully qualified resource Id e.g +subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}. +""") + listTests is StandardResourceOperations.ResourceList< + Test, + ListQueryParametersTrait + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Our operation is not following the standard put behavior https://github.com/Azure/typespec-azure/issues/3743" + #suppress "@azure-tools/typespec-azure-core/byos" "It is limiting for users to have storage first before creating a load test also it will be breaking change for us." + @summary(""" +Upload input file for a given test Id. File size can't be more than 50 MB. +Existing file with same name for the given test will be overwritten. File +should be provided in the request body as application/octet-stream. +""") + @doc(""" +Upload input file for a given test Id. File size can't be more than 50 MB. +Existing file with same name for the given test will be overwritten. File +should be provided in the request body as application/octet-stream. +""") + @route("/tests/{testId}/files/{fileName}") + @put + uploadTestFile is Azure.Core.Foundations.Operation< + { + @header + @doc("Content type.") + contentType: "application/octet-stream"; + + @doc(""" +Unique name for the load test, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testId: string; + + @doc("Unique name for test file with file extension like : App.jmx") + @path + fileName: string; + + @doc("File type") + @query + fileType?: FileType; + + @doc("The file content as application/octet-stream.") + @body + body: bytes; + }, + ResourceCreatedResponse + >; + + @summary("Get all the files that are associated with a test.") + @doc("Get all the files that are associated with a test.") + getTestFile is StandardResourceOperations.ResourceRead; + + @summary("Delete file by the file name for a test") + @doc("Delete file by the file name for a test") + deleteTestFile is StandardResourceOperations.ResourceDelete; + + @summary("Get all test files.") + @doc("Get all test files.") + listTestFiles is StandardResourceOperations.ResourceList; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("Add an app component to a test.") + @doc("Add an app component to a test by providing the resource Id, name and type.") + @route("/tests/{testId}/app-components") + @patch + createOrUpdateAppComponents is Azure.Core.Foundations.Operation< + { + @header + @doc("Content type.") + contentType: "application/merge-patch+json"; + + @doc(""" +Unique name for the load test, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testId: string; + + @doc("App Component model.") + @body + body: TestAppComponents; + }, + ResourceCreatedOrOkResponse + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("Get associated app component (collection of azure resources) for the given test.") + @doc("Get associated app component (collection of azure resources) for the given test.") + @route("/tests/{testId}/app-components") + @get + getAppComponents is Azure.Core.Foundations.Operation< + { + @doc(""" +Unique name for the load test, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testId: string; + }, + TestAppComponents + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("Configure server metrics for a test") + @doc("Configure server metrics for a test") + @route("/tests/{testId}/server-metrics-config") + @patch + createOrUpdateServerMetricsConfig is Azure.Core.Foundations.Operation< + { + @header + @doc("Content type.") + contentType: "application/merge-patch+json"; + + @doc(""" +Unique name for the load test, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testId: string; + + @doc("Server metric configuration model.") + @body + body: TestServerMetricConfig; + }, + ResourceCreatedOrOkResponse + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("List server metrics configuration for the given test.") + @doc("List server metrics configuration for the given test.") + @route("/tests/{testId}/server-metrics-config") + @get + getServerMetricsConfig is Azure.Core.Foundations.Operation< + { + @doc(""" +Unique name for the load test, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testId: string; + }, + TestServerMetricConfig + >; +} + +@tag("TestRun") +interface LoadTestRun { + @summary("Get test run details by test run Id.") + @doc("Get test run details by test run Id.") + getTestRun is StandardResourceOperations.ResourceRead; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("Create and start a new test run with the given test run Id.") + @doc("Create and start a new test run with the given test run Id.") + createOrUpdateTestRun is StandardResourceOperations.ResourceCreateOrUpdate< + TestRun, + QueryParametersTrait + >; + + @summary("Delete an existing load test run.") + @doc("Delete an existing load test run by providing the testRunId.") + deleteTestRun is StandardResourceOperations.ResourceDelete; + + @summary("Get all test runs for the given filters.") + @doc("Get all test runs for the given filters.") + listTestRuns is StandardResourceOperations.ResourceList< + TestRun, + ListQueryParametersTrait + >; + + @summary("Get test run file by file name.") + @doc("Get test run file by file name.") + getTestRunFile is StandardResourceOperations.ResourceRead; + + #suppress "@azure-tools/typespec-azure-core/no-operation-id" + @summary("Stop test run by test run Id.") + @doc("Stop test run by test run Id.") + @operationId("LoadTestRun_StopTestRun") + stop is StandardResourceOperations.ResourceAction; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("List the metric namespaces for a load test run.") + @doc("List the metric namespaces for a load test run.") + @route("/test-runs/{testRunId}/metric-namespaces") + @get + listMetricNamespaces is Azure.Core.Foundations.Operation< + { + @doc(""" +Unique name for the load test run, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testRunId: string; + }, + MetricNamespaceCollection + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("List the metric definitions for a load test run.") + @doc("List the metric definitions for a load test run.") + @route("/test-runs/{testRunId}/metric-definitions") + @get + listMetricDefinitions is Azure.Core.Foundations.Operation< + { + @doc(""" +Unique name for the load test run, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testRunId: string; + + @doc("Metric namespace to query metric definitions for.") + @query + metricNamespace: string; + }, + MetricDefinitionCollection + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("List the metric values for a load test run.") + @doc("List the metric values for a load test run.") + @route("/test-runs/{testRunId}/metrics") + @post + listMetrics is Azure.Core.Foundations.Operation< + { + @doc(""" +Unique name for the load test run, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testRunId: string; + + @doc("The aggregation") + @query + aggregation?: string; + + ...MetricDimensionsRequest; + + @doc("Metric dimension filter ") + @body + body?: MetricRequestPayload; + }, + Metrics + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("List the dimension values for the given metric dimension name.") + @doc("List the dimension values for the given metric dimension name.") + @route("/test-runs/{testRunId}/metric-dimensions/{name}/values") + listMetricDimensionValues is Azure.Core.Foundations.Operation< + { + @doc(""" +Unique name for the load test run, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testRunId: string; + + @doc("Dimension name") + @path + name: string; + + ...MetricDimensionsRequest; + }, + DimensionValueList + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("Add an app component to a test run.") + @doc("Add an app component to a test run by providing the resource Id, name and type.") + @route("/test-runs/{testRunId}/app-components") + @patch + createOrUpdateAppComponents is Azure.Core.Foundations.Operation< + { + @header + @doc("Content type.") + contentType: "application/merge-patch+json"; + + @doc(""" +Unique Id for the load test run, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testRunId: string; + + @doc("App Component model.") + @body + body: TestRunAppComponents; + }, + ResourceCreatedOrOkResponse + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary(""" +Get associated app component (collection of azure resources) for the given test +run. +""") + @doc(""" +Get associated app component (collection of azure resources) for the given test +run. +""") + @route("/test-runs/{testRunId}/app-components") + @get + getAppComponents is Azure.Core.Foundations.Operation< + { + @doc(""" +Unique name for the load test run, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testRunId: string; + }, + TestRunAppComponents + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("Configure server metrics for a test run") + @doc("Configure server metrics for a test run") + @route("/test-runs/{testRunId}/server-metrics-config") + @patch + createOrUpdateServerMetricsConfig is Azure.Core.Foundations.Operation< + { + @header + @doc("Content type.") + contentType: "application/merge-patch+json"; + + @doc(""" +Unique Id for the load test run, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testRunId: string; + + @doc("Server metric configuration model.") + @body + body: TestRunServerMetricConfig; + }, + ResourceCreatedOrOkResponse + >; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("Get associated server metrics configuration for the given test run.") + @doc("Get associated server metrics configuration for the given test run.") + @route("/test-runs/{testRunId}/server-metrics-config") + @get + getServerMetricsConfig is Azure.Core.Foundations.Operation< + { + @doc(""" +Unique name for the load test run, must contain only lower-case alphabetic, +numeric, underscore or hyphen characters. +""") + @path + @maxLength(50) + @minLength(2) + @pattern("^[a-z0-9_-]*$") + testRunId: string; + }, + TestRunServerMetricConfig + >; +} diff --git a/specification/loadtestservice/LoadTestService/tspconfig.yaml b/specification/loadtestservice/LoadTestService/tspconfig.yaml new file mode 100644 index 000000000000..fb4c7ce99376 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/tspconfig.yaml @@ -0,0 +1,51 @@ +parameters: + service-dir: + default: "sdk/loadtesting" +emit: + - "@azure-tools/typespec-autorest" + # Uncomment this line and add "@azure-tools/typespec-python" to your package.json to generate Python code + #- "@azure-tools/typespec-python" + #- "@azure-tools/typespec-ts" + #- "@azure-tools/typespec-csharp" + # Uncomment this line and add "@azure-tools/typespec-java" to your package.json to generate Java code + # "@azure-tools/typespec-java": true + # Uncomment this line and add "@azure-tools/typespec-csharp" to your package.json to generate C# code + # "@azure-tools/typespec-csharp": true + # Uncomment this line and add "@azure-tools/typespec-ts" to your package.json to generate Typescript code + # "@azure-tools/typespec-ts": true +linter: + extends: + - "@azure-tools/typespec-azure-core/all" +options: + "@azure-tools/typespec-autorest": + emitter-output-dir: "{project-root}/../" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/loadtestservice.json" + azure-resource-provider-folder: "data-plane" + examples-directory: ./examples + omit-unreachable-types: true + "@azure-tools/typespec-python": + package-dir: "azure-developer-loadtesting" + package-name: "{package-dir}" + # emitter-output-dir: "{python-sdk-folder}/sdk/{service-directory-name}/{package-name}" + package-mode: azure-dataplane + "@azure-tools/typespec-ts": + package-dir: "load-testing-rest" + title: Azure Load Testing + description: Azure Load Testing Client + generateMetadata: false + generateTest: false + packageDetails: + name: "@azure-rest/load-testing" + description: "This package contains Microsoft Azure LoadTestingClient client library." + version: 1.0.1 + "@azure-tools/typespec-csharp": + package-dir: "Azure.Developer.LoadTesting" + clear-output-folder: true + namespace: "{package-dir}" + "@azure-tools/typespec-java": + package-dir: "azure-developer-loadtesting" + namespace: com.azure.developer.loadtesting + enable-sync-stack: false + partial-update: true + generate-tests: false + service-name: Load Testing diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTest.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTest.json new file mode 100644 index 000000000000..2fc8619eb34f --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTest.json @@ -0,0 +1,198 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateTest", + "title": "Create or update a load test", + "parameters": { + "api-version": "2023-04-01-preview", + "testId": "12345678-1234-1234-1234-123456789012", + "body": { + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/sampleprovider/sampleresourcetype/sampleresourcename" + } + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + }, + "201": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestAppComponents.json new file mode 100644 index 000000000000..b930b0577adf --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestAppComponents.json @@ -0,0 +1,60 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateAppComponents", + "title": "Add or update app components to a load test", + "parameters": { + "testId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2023-04-01-preview", + "body": { + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "kind": "web" + } + } + } + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestRun.json new file mode 100644 index 000000000000..aeac6e0c3c54 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestRun.json @@ -0,0 +1,283 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateTestRun", + "title": "Create/update and start a load test run", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "oldTestRunId": "12345678-1234-1234-1234-123456789012", + "api-version": "2023-04-01-preview", + "body": { + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "ACCEPTED", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "results.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "ACCEPTED", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "results.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestRunAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestRunAppComponents.json new file mode 100644 index 000000000000..46723d15e222 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestRunAppComponents.json @@ -0,0 +1,60 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateAppComponents", + "title": "Add or update app components to a load test run", + "parameters": { + "testRunId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2023-04-01-preview", + "body": { + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "kind": "web" + } + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestRunServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestRunServerMetricsConfig.json new file mode 100644 index 000000000000..0c05ac1ef5ad --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestRunServerMetricsConfig.json @@ -0,0 +1,65 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateServerMetricsConfig", + "title": "Add or update server metrics configuration for a load test run", + "parameters": { + "testRunId": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2023-04-01-preview", + "body": { + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestServerMetricsConfig.json new file mode 100644 index 000000000000..ccfd63decc1f --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/CreateOrUpdateTestServerMetricsConfig.json @@ -0,0 +1,65 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateServerMetricsConfig", + "title": "Add or update server metrics configuration for a load test.", + "parameters": { + "testId": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2023-04-01-preview", + "body": { + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + }, + "responses": { + "200": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/DeleteTest.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/DeleteTest.json new file mode 100644 index 000000000000..24fe1251a982 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/DeleteTest.json @@ -0,0 +1,11 @@ +{ + "operationId": "LoadTestAdministration_DeleteTest", + "title": "Delete a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/DeleteTestFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/DeleteTestFile.json new file mode 100644 index 000000000000..81aa94f42bd9 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/DeleteTestFile.json @@ -0,0 +1,12 @@ +{ + "operationId": "LoadTestAdministration_DeleteTestFile", + "title": "Delete a file from a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "app.jmx", + "api-version": "2023-04-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/DeleteTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/DeleteTestRun.json new file mode 100644 index 000000000000..5b8b8b9ceff1 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/DeleteTestRun.json @@ -0,0 +1,11 @@ +{ + "operationId": "LoadTestRun_DeleteTestRun", + "title": "Delete a load test run", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/GetTest.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/GetTest.json new file mode 100644 index 000000000000..011d6d31702b --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/GetTest.json @@ -0,0 +1,86 @@ +{ + "operationId": "LoadTestAdministration_GetTest", + "title": "Get a load test.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 0, + "result": null + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/GetTestFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/GetTestFile.json new file mode 100644 index 000000000000..b54dd550cd78 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/GetTestFile.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestAdministration_GetTestFile", + "title": "Get a file from a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "sample.jmx", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/GetTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/GetTestRun.json new file mode 100644 index 000000000000..2c68f0b2107d --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/GetTestRun.json @@ -0,0 +1,129 @@ +{ + "operationId": "LoadTestRun_GetTestRun", + "title": "Get a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "DONE", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/GetTestRunFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/GetTestRunFile.json new file mode 100644 index 000000000000..1196c1716cef --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/GetTestRunFile.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestRun_GetTestRunFile", + "title": "Get a file associated to a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "fileName": "sample.jmx", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListMetricDimensionValues.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListMetricDimensionValues.json new file mode 100644 index 000000000000..8de54a125bdd --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListMetricDimensionValues.json @@ -0,0 +1,23 @@ +{ + "operationId": "LoadTestRun_ListMetricDimensionValues", + "title": "List the dimension values for the given metric dimension name.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "name": "SamplerName", + "aggregation": "Average", + "metricname": "ActiveThreads", + "metricNamespace": "LoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + "HighLoadTest" + ] + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestAppComponents.json new file mode 100644 index 000000000000..09c21916e614 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestAppComponents.json @@ -0,0 +1,30 @@ +{ + "operationId": "LoadTestAdministration_GetAppComponents", + "title": "Get associated app component for the given test.", + "parameters": { + "testId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestFiles.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestFiles.json new file mode 100644 index 000000000000..4e5c97ca57a9 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestFiles.json @@ -0,0 +1,25 @@ +{ + "operationId": "LoadTestAdministration_ListTestFiles", + "title": "Get all test files.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2023-04-01-preview", + "continuationToken": "continuation token" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunAppComponents.json new file mode 100644 index 000000000000..5a6b0d37f569 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunAppComponents.json @@ -0,0 +1,30 @@ +{ + "operationId": "LoadTestRun_GetAppComponents", + "title": "Get associated app component for the given test run.", + "parameters": { + "testRunId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunMetrics.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunMetrics.json new file mode 100644 index 000000000000..a7c22f3a673c --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunMetrics.json @@ -0,0 +1,465 @@ +{ + "operationId": "LoadTestRun_ListMetrics", + "title": "List the metric values for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "aggregation": "Average", + "metricname": "ActiveThreads", + "metricNamespace": "LoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2023-04-01-preview", + "body": { + "filters": [ + { + "name": "SamplerName", + "values": [ + "HTTP Request" + ] + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "data": [ + { + "timestamp": "2022-10-29T08:44:40.000Z", + "value": 10.0 + }, + { + "timestamp": "2022-10-29T08:44:45.000Z", + "value": 28.0 + }, + { + "timestamp": "2022-10-29T08:44:50.000Z", + "value": 45.0 + }, + { + "timestamp": "2022-10-29T08:44:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:25.000Z", + "value": 49.0 + } + ], + "dimensionValues": [ + { + "name": "SamplerName", + "value": "HighLoadTest" + } + ] + } + ] + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunMetricsDefinitions.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunMetricsDefinitions.json new file mode 100644 index 000000000000..4d84139c1943 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunMetricsDefinitions.json @@ -0,0 +1,156 @@ +{ + "operationId": "LoadTestRun_ListMetricDefinitions", + "title": "List the metric definitions for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metricNamespace": "LoadTestRunMetrics", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "No of concurrent virtual users", + "name": "VirtualUsers", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "Response time (Successful request)", + "name": "ResponseTime", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Percentile90", + "supportedAggregationTypes": [ + "Average", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "unit": "Milliseconds", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "Total Requests", + "name": "TotalRequests", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + }, + { + "description": "Error response code", + "name": "Errors" + } + ], + "description": "Total Errors", + "name": "Errors", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + } + ] + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunMetricsNamespaces.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunMetricsNamespaces.json new file mode 100644 index 000000000000..c6e9dc82f7af --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunMetricsNamespaces.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestRun_ListMetricNamespaces", + "title": "List the metric namespaces for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "description": "Load test run metrics", + "name": "LoadTestRunMetrics" + } + ] + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunServerMetricsConfig.json new file mode 100644 index 000000000000..a47306f9af88 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRunServerMetricsConfig.json @@ -0,0 +1,31 @@ +{ + "operationId": "LoadTestRun_GetServerMetricsConfig", + "title": "List server metrics configuration for the given test run.", + "parameters": { + "testRunId": "12345678-1234-1234-1234-123456789012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRuns.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRuns.json new file mode 100644 index 000000000000..e83b08ae7a9c --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestRuns.json @@ -0,0 +1,141 @@ +{ + "operationId": "LoadTestRun_ListTestRuns", + "title": "List test runs.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "orderBy": "executedDateTime", + "continuationToken": "continuation token", + "search": "Performance_LoadTest_Run1", + "executionFrom": "2021-12-05T16:43:48.805Z", + "executionTo": "2021-12-05T16:43:48.805Z", + "status": "DONE,EXECUTING", + "maxPageSize": 30, + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "DONE", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 10, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + ], + "nextLink": "https://nextlink.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestServerMetricsConfig.json new file mode 100644 index 000000000000..e8acd2db2417 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTestServerMetricsConfig.json @@ -0,0 +1,31 @@ +{ + "operationId": "LoadTestAdministration_GetServerMetricsConfig", + "title": "List server metrics configuration for the given test.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTests.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTests.json new file mode 100644 index 000000000000..20f823d04d68 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/ListTests.json @@ -0,0 +1,96 @@ +{ + "operationId": "LoadTestAdministration_ListTests", + "title": "Get all load tests.", + "parameters": { + "orderBy": "executedDateTime", + "search": "Performance_LoadTest", + "lastUpdatedStartTime": "2021-12-05T16:43:46.797Z", + "lastUpdatedEndTime": "2021-12-05T16:43:46.797Z", + "continuationToken": "continuation token", + "maxPageSize": 30, + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "pfmetric1": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ], + "nextLink": "https://00000000-0000-0000-aaaa-00aa00aa00aa.westus2.cnt-prod.loadtesting.azure.com/tests?orderby=executedDateTime%20desc&continuationToken=some-value&search=&testId=&executionFrom=&executionTo=&status=&maxpagesize=50&api-version=2023-04-01-preview" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/StopTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/StopTestRun.json new file mode 100644 index 000000000000..79ef1f6eb506 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/StopTestRun.json @@ -0,0 +1,95 @@ +{ + "operationId": "LoadTestRun_StopTestRun", + "title": "Stop test run by name.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "CANCELLING", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "NOT_APPLICABLE", + "passFailCriteria": { + "passFailMetrics": { + "pfmetric1": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 0, + "result": null + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": null, + "logsFileInfo": null + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": null, + "testRunStatistics": null, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/UploadTestFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/UploadTestFile.json new file mode 100644 index 000000000000..0c0d1115043f --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/examples/UploadTestFile.json @@ -0,0 +1,22 @@ +{ + "operationId": "LoadTestAdministration_UploadTestFile", + "title": "Upload input file for a given test name.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "body": "application/octet-stream content", + "api-version": "2023-04-01-preview" + }, + "responses": { + "201": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/loadtestservice.json new file mode 100644 index 000000000000..aeca65383679 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/loadtestservice.json @@ -0,0 +1,4016 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Load Testing", + "version": "2023-04-01-preview", + "description": "These APIs allow end users to create, view and run load tests using Azure Load Test Service.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "x-ms-parameterized-host": { + "hostTemplate": "https://{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "name": "endpoint", + "in": "path", + "required": true, + "type": "string" + } + ] + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "Oauth2": [ + "https://cnt-prod.loadtesting.azure.com/.default" + ] + } + ], + "securityDefinitions": { + "Oauth2": { + "type": "oauth2", + "description": "OAuth 2.0 Flow with Microsoft Entra ID.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", + "scopes": { + "https://cnt-prod.loadtesting.azure.com/.default": "" + } + } + }, + "tags": [ + { + "name": "Test" + }, + { + "name": "TestRun" + } + ], + "paths": { + "/test-runs": { + "get": { + "operationId": "LoadTestRun_ListTestRuns", + "tags": [ + "TestRun" + ], + "summary": "Get all test runs for the given filters.", + "description": "Get all test runs for the given filters.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.orderby" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.search" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.testId" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.executionFrom" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.executionTo" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.status" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.maxpagesize" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedTestRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List test runs.": { + "$ref": "./examples/ListTestRuns.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/test-runs/{testRunId}": { + "get": { + "operationId": "LoadTestRun_GetTestRun", + "tags": [ + "TestRun" + ], + "summary": "Get test run details by test run Id.", + "description": "Get test run details by test run Id.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get a load test run.": { + "$ref": "./examples/GetTestRun.json" + } + } + }, + "patch": { + "operationId": "LoadTestRun_CreateOrUpdateTestRun", + "tags": [ + "TestRun" + ], + "summary": "Create and start a new test run with the given test run Id.", + "description": "Create and start a new test run with the given test run Id.", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "$ref": "#/parameters/OldTestRunIdQueryParam" + }, + { + "name": "body", + "in": "body", + "description": "The resource instance.", + "required": true, + "schema": { + "$ref": "#/definitions/TestRunCreateOrUpdate" + }, + "x-ms-client-name": "resource" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRun" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Create/update and start a load test run": { + "$ref": "./examples/CreateOrUpdateTestRun.json" + } + } + }, + "delete": { + "operationId": "LoadTestRun_DeleteTestRun", + "tags": [ + "TestRun" + ], + "summary": "Delete an existing load test run.", + "description": "Delete an existing load test run by providing the testRunId.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Delete a load test run": { + "$ref": "./examples/DeleteTestRun.json" + } + } + } + }, + "/test-runs/{testRunId}:stop": { + "post": { + "operationId": "LoadTestRun_StopTestRun", + "tags": [ + "TestRun" + ], + "summary": "Stop test run by test run Id.", + "description": "Stop test run by test run Id.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Stop test run by name.": { + "$ref": "./examples/StopTestRun.json" + } + } + } + }, + "/test-runs/{testRunId}/app-components": { + "get": { + "operationId": "LoadTestRun_GetAppComponents", + "tags": [ + "TestRun" + ], + "summary": "Get associated app component (collection of azure resources) for the given test\nrun.", + "description": "Get associated app component (collection of azure resources) for the given test\nrun.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRunAppComponents" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get associated app component for the given test run.": { + "$ref": "./examples/ListTestRunAppComponents.json" + } + } + }, + "patch": { + "operationId": "LoadTestRun_CreateOrUpdateAppComponents", + "tags": [ + "TestRun" + ], + "summary": "Add an app component to a test run.", + "description": "Add an app component to a test run by providing the resource Id, name and type.", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique Id for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "body", + "in": "body", + "description": "App Component model.", + "required": true, + "schema": { + "$ref": "#/definitions/TestRunAppComponentsUpdate" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRunAppComponents" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestRunAppComponents" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Add or update app components to a load test run": { + "$ref": "./examples/CreateOrUpdateTestRunAppComponents.json" + } + } + } + }, + "/test-runs/{testRunId}/files/{fileName}": { + "get": { + "operationId": "LoadTestRun_GetTestRunFile", + "tags": [ + "TestRun" + ], + "summary": "Get test run file by file name.", + "description": "Get test run file by file name.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "fileName", + "in": "path", + "description": "Name of the file.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRunFileInfo" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get a file associated to a load test run.": { + "$ref": "./examples/GetTestRunFile.json" + } + } + } + }, + "/test-runs/{testRunId}/metric-definitions": { + "get": { + "operationId": "LoadTestRun_ListMetricDefinitions", + "tags": [ + "TestRun" + ], + "summary": "List the metric definitions for a load test run.", + "description": "List the metric definitions for a load test run.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "metricNamespace", + "in": "query", + "description": "Metric namespace to query metric definitions for.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/MetricDefinitionCollection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List the metric definitions for a load test run.": { + "$ref": "./examples/ListTestRunMetricsDefinitions.json" + } + } + } + }, + "/test-runs/{testRunId}/metric-dimensions/{name}/values": { + "get": { + "operationId": "LoadTestRun_ListMetricDimensionValues", + "tags": [ + "TestRun" + ], + "summary": "List the dimension values for the given metric dimension name.", + "description": "List the dimension values for the given metric dimension name.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "name", + "in": "path", + "description": "Dimension name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.metricname" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.interval" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.metricNamespace" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.timespan" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/DimensionValueList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List the dimension values for the given metric dimension name.": { + "$ref": "./examples/ListMetricDimensionValues.json" + } + } + } + }, + "/test-runs/{testRunId}/metric-namespaces": { + "get": { + "operationId": "LoadTestRun_ListMetricNamespaces", + "tags": [ + "TestRun" + ], + "summary": "List the metric namespaces for a load test run.", + "description": "List the metric namespaces for a load test run.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/MetricNamespaceCollection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List the metric namespaces for a load test run.": { + "$ref": "./examples/ListTestRunMetricsNamespaces.json" + } + } + } + }, + "/test-runs/{testRunId}/metrics": { + "post": { + "operationId": "LoadTestRun_ListMetrics", + "tags": [ + "TestRun" + ], + "summary": "List the metric values for a load test run.", + "description": "List the metric values for a load test run.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "aggregation", + "in": "query", + "description": "The aggregation", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.metricname" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.interval" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.metricNamespace" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.timespan" + }, + { + "name": "body", + "in": "body", + "description": "Metric dimension filter ", + "required": false, + "schema": { + "$ref": "#/definitions/MetricRequestPayload" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Metrics" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List the metric values for a load test run.": { + "$ref": "./examples/ListTestRunMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/test-runs/{testRunId}/server-metrics-config": { + "get": { + "operationId": "LoadTestRun_GetServerMetricsConfig", + "tags": [ + "TestRun" + ], + "summary": "Get associated server metrics configuration for the given test run.", + "description": "Get associated server metrics configuration for the given test run.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRunServerMetricConfig" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List server metrics configuration for the given test run.": { + "$ref": "./examples/ListTestRunServerMetricsConfig.json" + } + } + }, + "patch": { + "operationId": "LoadTestRun_CreateOrUpdateServerMetricsConfig", + "tags": [ + "TestRun" + ], + "summary": "Configure server metrics for a test run", + "description": "Configure server metrics for a test run", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique Id for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "body", + "in": "body", + "description": "Server metric configuration model.", + "required": true, + "schema": { + "$ref": "#/definitions/TestRunServerMetricConfig" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRunServerMetricConfig" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestRunServerMetricConfig" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Add or update server metrics configuration for a load test run": { + "$ref": "./examples/CreateOrUpdateTestRunServerMetricsConfig.json" + } + } + } + }, + "/tests": { + "get": { + "operationId": "LoadTestAdministration_ListTests", + "tags": [ + "Test" + ], + "summary": "Get all load tests by the fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", + "description": "Get all load tests by the fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTestQueryParams.orderby" + }, + { + "$ref": "#/parameters/ListTestQueryParams.search" + }, + { + "$ref": "#/parameters/ListTestQueryParams.lastModifiedStartTime" + }, + { + "$ref": "#/parameters/ListTestQueryParams.lastModifiedEndTime" + }, + { + "$ref": "#/parameters/ListTestQueryParams.maxpagesize" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedTest" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get all load tests.": { + "$ref": "./examples/ListTests.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/tests/{testId}": { + "get": { + "operationId": "LoadTestAdministration_GetTest", + "tags": [ + "Test" + ], + "summary": "Get load test details by test Id", + "description": "Get load test details by test Id", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Test" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get a load test.": { + "$ref": "./examples/GetTest.json" + } + } + }, + "patch": { + "operationId": "LoadTestAdministration_CreateOrUpdateTest", + "tags": [ + "Test" + ], + "summary": "Create a new test or update an existing test by providing the test Id.", + "description": "Create a new test or update an existing test by providing the test Id.", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "body", + "in": "body", + "description": "The resource instance.", + "required": true, + "schema": { + "$ref": "#/definitions/TestCreateOrUpdate" + }, + "x-ms-client-name": "resource" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Test" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/Test" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Create or update a load test": { + "$ref": "./examples/CreateOrUpdateTest.json" + } + } + }, + "delete": { + "operationId": "LoadTestAdministration_DeleteTest", + "tags": [ + "Test" + ], + "summary": "Delete a test by its test Id.", + "description": "Delete a test by its test Id.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Delete a load test": { + "$ref": "./examples/DeleteTest.json" + } + } + } + }, + "/tests/{testId}/app-components": { + "get": { + "operationId": "LoadTestAdministration_GetAppComponents", + "tags": [ + "Test" + ], + "summary": "Get associated app component (collection of azure resources) for the given test.", + "description": "Get associated app component (collection of azure resources) for the given test.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestAppComponents" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get associated app component for the given test.": { + "$ref": "./examples/ListTestAppComponents.json" + } + } + }, + "patch": { + "operationId": "LoadTestAdministration_CreateOrUpdateAppComponents", + "tags": [ + "Test" + ], + "summary": "Add an app component to a test.", + "description": "Add an app component to a test by providing the resource Id, name and type.", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "body", + "in": "body", + "description": "App Component model.", + "required": true, + "schema": { + "$ref": "#/definitions/TestAppComponentsUpdate" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestAppComponents" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestAppComponents" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Add or update app components to a load test": { + "$ref": "./examples/CreateOrUpdateTestAppComponents.json" + } + } + } + }, + "/tests/{testId}/files": { + "get": { + "operationId": "LoadTestAdministration_ListTestFiles", + "tags": [ + "Test" + ], + "summary": "Get all test files.", + "description": "Get all test files.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedTestFileInfo" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get all test files.": { + "$ref": "./examples/ListTestFiles.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/tests/{testId}/files/{fileName}": { + "get": { + "operationId": "LoadTestAdministration_GetTestFile", + "tags": [ + "Test" + ], + "summary": "Get all the files that are associated with a test.", + "description": "Get all the files that are associated with a test.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "fileName", + "in": "path", + "description": "Name of the file.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestFileInfo" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get a file from a load test": { + "$ref": "./examples/GetTestFile.json" + } + } + }, + "put": { + "operationId": "LoadTestAdministration_UploadTestFile", + "tags": [ + "Test" + ], + "summary": "Upload input file for a given test Id. File size can't be more than 50 MB.\nExisting file with same name for the given test will be overwritten. File\nshould be provided in the request body as application/octet-stream.", + "description": "Upload input file for a given test Id. File size can't be more than 50 MB.\nExisting file with same name for the given test will be overwritten. File\nshould be provided in the request body as application/octet-stream.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "fileName", + "in": "path", + "description": "Unique name for test file with file extension like : App.jmx", + "required": true, + "type": "string" + }, + { + "name": "fileType", + "in": "query", + "description": "File type", + "required": false, + "type": "string", + "enum": [ + "JMX_FILE", + "USER_PROPERTIES", + "ADDITIONAL_ARTIFACTS", + "ZIPPED_ARTIFACTS", + "URL_TEST_CONFIG_JSON" + ], + "x-ms-enum": { + "name": "FileType", + "modelAsString": true, + "values": [ + { + "name": "JMX_FILE", + "value": "JMX_FILE", + "description": "If the file is a JMX script." + }, + { + "name": "USER_PROPERTIES", + "value": "USER_PROPERTIES", + "description": "If the file is a user properties file." + }, + { + "name": "ADDITIONAL_ARTIFACTS", + "value": "ADDITIONAL_ARTIFACTS", + "description": "If the file is not among any of the other supported file types." + }, + { + "name": "ZIPPED_ARTIFACTS", + "value": "ZIPPED_ARTIFACTS", + "description": "If the file is a compressed archive containing a collection of various artifacts or resources." + }, + { + "name": "URL_TEST_CONFIG_JSON", + "value": "URL_TEST_CONFIG_JSON", + "description": "If the file is a JSON config file to define the requests for a URL test." + } + ] + } + }, + { + "name": "body", + "in": "body", + "description": "The file content as application/octet-stream.", + "required": true, + "schema": { + "type": "string", + "format": "binary" + } + } + ], + "responses": { + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestFileInfo" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Upload input file for a given test name.": { + "$ref": "./examples/UploadTestFile.json" + } + } + }, + "delete": { + "operationId": "LoadTestAdministration_DeleteTestFile", + "tags": [ + "Test" + ], + "summary": "Delete file by the file name for a test", + "description": "Delete file by the file name for a test", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "fileName", + "in": "path", + "description": "Name of the file.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Delete a file from a load test": { + "$ref": "./examples/DeleteTestFile.json" + } + } + } + }, + "/tests/{testId}/server-metrics-config": { + "get": { + "operationId": "LoadTestAdministration_GetServerMetricsConfig", + "tags": [ + "Test" + ], + "summary": "List server metrics configuration for the given test.", + "description": "List server metrics configuration for the given test.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestServerMetricConfig" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List server metrics configuration for the given test.": { + "$ref": "./examples/ListTestServerMetricsConfig.json" + } + } + }, + "patch": { + "operationId": "LoadTestAdministration_CreateOrUpdateServerMetricsConfig", + "tags": [ + "Test" + ], + "summary": "Configure server metrics for a test", + "description": "Configure server metrics for a test", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "body", + "in": "body", + "description": "Server metric configuration model.", + "required": true, + "schema": { + "$ref": "#/definitions/TestServerMetricConfigUpdate" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestServerMetricConfig" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestServerMetricConfig" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Add or update server metrics configuration for a load test.": { + "$ref": "./examples/CreateOrUpdateTestServerMetricsConfig.json" + } + } + } + } + }, + "definitions": { + "AggregationType": { + "type": "string", + "description": "Aggregation type.", + "enum": [ + "Average", + "Count", + "None", + "Total", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "x-ms-enum": { + "name": "AggregationType", + "modelAsString": true, + "values": [ + { + "name": "Average", + "value": "Average", + "description": "Average value." + }, + { + "name": "Count", + "value": "Count", + "description": "Total count." + }, + { + "name": "None", + "value": "None", + "description": "Aggregation will be average in this case." + }, + { + "name": "Total", + "value": "Total", + "description": "Total sum." + }, + { + "name": "Percentile90", + "value": "Percentile90", + "description": "90th percentile." + }, + { + "name": "Percentile95", + "value": "Percentile95", + "description": "95th percentile." + }, + { + "name": "Percentile99", + "value": "Percentile99", + "description": "99th percentile." + } + ] + } + }, + "AppComponent": { + "type": "object", + "description": "An Azure resource object (Refer azure generic resource model :https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)", + "properties": { + "resourceId": { + "type": "string", + "description": "fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}", + "readOnly": true + }, + "resourceName": { + "type": "string", + "description": "Azure resource name, required while creating the app component." + }, + "resourceType": { + "type": "string", + "description": "Azure resource type, required while creating the app component." + }, + "displayName": { + "type": "string", + "description": "Azure resource display name" + }, + "resourceGroup": { + "type": "string", + "description": "Resource group name of the Azure resource", + "readOnly": true + }, + "subscriptionId": { + "type": "string", + "description": "Subscription Id of the Azure resource", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "Kind of Azure resource type" + } + }, + "required": [ + "resourceId", + "resourceName", + "resourceType" + ] + }, + "AppComponentUpdate": { + "type": "object", + "description": "An Azure resource object (Refer azure generic resource model :https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)", + "properties": { + "resourceName": { + "type": "string", + "description": "Azure resource name, required while creating the app component." + }, + "resourceType": { + "type": "string", + "description": "Azure resource type, required while creating the app component." + }, + "displayName": { + "type": "string", + "description": "Azure resource display name" + }, + "kind": { + "type": "string", + "description": "Kind of Azure resource type" + } + } + }, + "ArtifactsContainerInfo": { + "type": "object", + "description": "Artifacts container info.", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "This is a SAS URI to an Azure Storage Container that contains the test run artifacts." + }, + "expireDateTime": { + "type": "string", + "format": "date-time", + "description": "Expiry time of the container (RFC 3339 literal format)" + } + } + }, + "AutoStopCriteria": { + "type": "object", + "description": "Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window.", + "properties": { + "autoStopDisabled": { + "type": "boolean", + "description": "Whether auto-stop should be disabled. The default value is false.", + "default": false + }, + "errorRate": { + "type": "number", + "format": "float", + "description": "Threshold percentage of errors on which test run should be automatically stopped. Allowed values are in range of 0.0-100.0", + "default": 90 + }, + "errorRateTimeWindowInSeconds": { + "type": "integer", + "format": "int32", + "description": "Time window during which the error percentage should be evaluated in seconds.", + "default": 60 + } + } + }, + "Azure.Core.Foundations.Error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "type": "string", + "description": "One of a server-defined set of error codes." + }, + "message": { + "type": "string", + "description": "A human-readable representation of the error." + }, + "target": { + "type": "string", + "description": "The target of the error." + }, + "details": { + "type": "array", + "description": "An array of details about specific errors that led to this reported error.", + "items": { + "$ref": "#/definitions/Azure.Core.Foundations.Error" + }, + "x-ms-identifiers": [] + }, + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "An object containing more specific information than the current object about the error." + } + }, + "required": [ + "code", + "message" + ] + }, + "Azure.Core.Foundations.ErrorResponse": { + "type": "object", + "description": "A response containing error details.", + "properties": { + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "The error object." + } + }, + "required": [ + "error" + ] + }, + "Azure.Core.Foundations.InnerError": { + "type": "object", + "description": "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.", + "properties": { + "code": { + "type": "string", + "description": "One of a server-defined set of error codes." + }, + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "Inner error." + } + } + }, + "CertificateMetadata": { + "type": "object", + "description": "Certificates metadata", + "properties": { + "value": { + "type": "string", + "description": "The value of the certificate for respective type" + }, + "type": { + "$ref": "#/definitions/CertificateType", + "description": "Type of certificate" + }, + "name": { + "type": "string", + "description": "Name of the certificate." + } + } + }, + "CertificateType": { + "type": "string", + "description": "Types of certificates supported.", + "enum": [ + "AKV_CERT_URI" + ], + "x-ms-enum": { + "name": "CertificateType", + "modelAsString": true, + "values": [ + { + "name": "AKV_CERT_URI", + "value": "AKV_CERT_URI", + "description": "If the certificate is stored in an Azure Key Vault." + } + ] + } + }, + "DimensionFilter": { + "type": "object", + "description": "Dimension name and values to filter", + "properties": { + "name": { + "type": "string", + "description": "The dimension name" + }, + "values": { + "type": "array", + "description": "The dimension values. Maximum values can be 20.", + "items": { + "type": "string" + } + } + } + }, + "DimensionValue": { + "type": "object", + "description": "Represents a metric dimension value.", + "properties": { + "name": { + "type": "string", + "description": "The name of the dimension." + }, + "value": { + "type": "string", + "description": "The value of the dimension." + } + } + }, + "DimensionValueList": { + "type": "object", + "description": "Metrics dimension values.", + "properties": { + "name": { + "type": "string", + "description": "The dimension name", + "readOnly": true + }, + "value": { + "type": "array", + "description": "The dimension value", + "items": { + "type": "string" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "Link for the next set of values in case of paginated results, if applicable." + } + } + }, + "ErrorDetails": { + "type": "object", + "description": "Error details if there is any failure in load test run", + "properties": { + "message": { + "type": "string", + "description": "Error details in case test run was not successfully run.", + "readOnly": true + } + } + }, + "FileStatus": { + "type": "string", + "description": "File status.", + "enum": [ + "NOT_VALIDATED", + "VALIDATION_SUCCESS", + "VALIDATION_FAILURE", + "VALIDATION_INITIATED", + "VALIDATION_NOT_REQUIRED" + ], + "x-ms-enum": { + "name": "FileStatus", + "modelAsString": true, + "values": [ + { + "name": "NOT_VALIDATED", + "value": "NOT_VALIDATED", + "description": "File is not validated." + }, + { + "name": "VALIDATION_SUCCESS", + "value": "VALIDATION_SUCCESS", + "description": "File is validated." + }, + { + "name": "VALIDATION_FAILURE", + "value": "VALIDATION_FAILURE", + "description": "File validation is failed." + }, + { + "name": "VALIDATION_INITIATED", + "value": "VALIDATION_INITIATED", + "description": "File validation is in progress." + }, + { + "name": "VALIDATION_NOT_REQUIRED", + "value": "VALIDATION_NOT_REQUIRED", + "description": "Validation is not required." + } + ] + } + }, + "FileType": { + "type": "string", + "description": "Types of file supported.", + "enum": [ + "JMX_FILE", + "USER_PROPERTIES", + "ADDITIONAL_ARTIFACTS", + "ZIPPED_ARTIFACTS", + "URL_TEST_CONFIG_JSON" + ], + "x-ms-enum": { + "name": "FileType", + "modelAsString": true, + "values": [ + { + "name": "JMX_FILE", + "value": "JMX_FILE", + "description": "If the file is a JMX script." + }, + { + "name": "USER_PROPERTIES", + "value": "USER_PROPERTIES", + "description": "If the file is a user properties file." + }, + { + "name": "ADDITIONAL_ARTIFACTS", + "value": "ADDITIONAL_ARTIFACTS", + "description": "If the file is not among any of the other supported file types." + }, + { + "name": "ZIPPED_ARTIFACTS", + "value": "ZIPPED_ARTIFACTS", + "description": "If the file is a compressed archive containing a collection of various artifacts or resources." + }, + { + "name": "URL_TEST_CONFIG_JSON", + "value": "URL_TEST_CONFIG_JSON", + "description": "If the file is a JSON config file to define the requests for a URL test." + } + ] + } + }, + "LoadTestConfiguration": { + "type": "object", + "description": "Configurations for the load test.", + "properties": { + "engineInstances": { + "type": "integer", + "format": "int32", + "description": "The number of engine instances to execute load test. Supported values are in range of 1-400. Required for creating a new test." + }, + "splitAllCSVs": { + "type": "boolean", + "description": "If false, Azure Load Testing copies and processes your input files unmodified\nacross all test engine instances. If true, Azure Load Testing splits the CSV\ninput data evenly across all engine instances. If you provide multiple CSV\nfiles, each file will be split evenly.", + "default": false + }, + "quickStartTest": { + "type": "boolean", + "description": "If true, optionalLoadTestConfig is required and JMX script for the load test is\nnot required to upload.", + "default": false + }, + "optionalLoadTestConfig": { + "$ref": "#/definitions/OptionalLoadTestConfig", + "description": "Configuration for quick load test" + } + } + }, + "MetricAvailability": { + "type": "object", + "description": "Metric availability specifies the time grain (aggregation interval or frequency)", + "properties": { + "timeGrain": { + "$ref": "#/definitions/TimeGrain", + "description": "The time grain specifies the aggregation interval for the metric. Expressed as\na duration 'PT1M', 'PT1H', etc." + } + } + }, + "MetricDefinition": { + "type": "object", + "description": "Metric definition", + "properties": { + "dimensions": { + "type": "array", + "description": "List of dimensions", + "items": { + "$ref": "#/definitions/NameAndDesc" + }, + "x-ms-identifiers": [] + }, + "description": { + "type": "string", + "description": "The metric description" + }, + "name": { + "type": "string", + "description": "The metric name" + }, + "namespace": { + "type": "string", + "description": "The namespace the metric belongs to." + }, + "primaryAggregationType": { + "$ref": "#/definitions/AggregationType", + "description": "The primary aggregation type value defining how to use the values for display." + }, + "supportedAggregationTypes": { + "type": "array", + "description": "The collection of what all aggregation types are supported.", + "items": { + "type": "string" + } + }, + "unit": { + "$ref": "#/definitions/MetricUnit", + "description": "The unit of the metric." + }, + "metricAvailabilities": { + "type": "array", + "description": "Metric availability specifies the time grain (aggregation interval or\nfrequency).", + "items": { + "$ref": "#/definitions/MetricAvailability" + }, + "x-ms-identifiers": [] + } + } + }, + "MetricDefinitionCollection": { + "type": "object", + "description": "Represents collection of metric definitions.", + "properties": { + "value": { + "type": "array", + "description": "the values for the metric definitions.", + "items": { + "$ref": "#/definitions/MetricDefinition" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "value" + ] + }, + "MetricNamespace": { + "type": "object", + "description": "Metric namespace class specifies the metadata for a metric namespace.", + "properties": { + "description": { + "type": "string", + "description": "The namespace description." + }, + "name": { + "type": "string", + "description": "The metric namespace name." + } + } + }, + "MetricNamespaceCollection": { + "type": "object", + "description": "Represents collection of metric namespaces.", + "properties": { + "value": { + "type": "array", + "description": "The values for the metric namespaces.", + "items": { + "$ref": "#/definitions/MetricNamespace" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "value" + ] + }, + "MetricRequestPayload": { + "type": "object", + "description": "Filters to fetch the set of metric.", + "properties": { + "filters": { + "type": "array", + "description": "Get metrics for specific dimension values. Example: Metric contains dimension\nlike SamplerName, Error. To retrieve all the time series data where SamplerName\nis equals to HTTPRequest1 or HTTPRequest2, the DimensionFilter value will be\n{\"SamplerName\", [\"HTTPRequest1\", \"HTTPRequest2\"}", + "items": { + "$ref": "#/definitions/DimensionFilter" + }, + "x-ms-identifiers": [] + } + } + }, + "MetricUnit": { + "type": "string", + "description": "Metric unit.", + "enum": [ + "NotSpecified", + "Percent", + "Count", + "Seconds", + "Milliseconds", + "Bytes", + "BytesPerSecond", + "CountPerSecond" + ], + "x-ms-enum": { + "name": "MetricUnit", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "No unit specified." + }, + { + "name": "Percent", + "value": "Percent", + "description": "Percentage." + }, + { + "name": "Count", + "value": "Count", + "description": "Value count." + }, + { + "name": "Seconds", + "value": "Seconds", + "description": "Seconds." + }, + { + "name": "Milliseconds", + "value": "Milliseconds", + "description": "Milliseconds" + }, + { + "name": "Bytes", + "value": "Bytes", + "description": "Bytes" + }, + { + "name": "BytesPerSecond", + "value": "BytesPerSecond", + "description": "Bytes per second" + }, + { + "name": "CountPerSecond", + "value": "CountPerSecond", + "description": "Count per second" + } + ] + } + }, + "MetricValue": { + "type": "object", + "description": "Represents a metric value.", + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "description": "The timestamp for the metric value in RFC 3339 format." + }, + "value": { + "type": "number", + "format": "double", + "description": "The metric value." + } + } + }, + "Metrics": { + "type": "object", + "description": "The response to a metrics query.", + "properties": { + "value": { + "type": "array", + "description": "The TimeSeriesElement items on this page", + "items": { + "$ref": "#/definitions/TimeSeriesElement" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "NameAndDesc": { + "type": "object", + "description": "The name and description", + "properties": { + "description": { + "type": "string", + "description": "The description" + }, + "name": { + "type": "string", + "description": "The name" + } + } + }, + "OptionalLoadTestConfig": { + "type": "object", + "description": "Configuration for quick load test", + "properties": { + "endpointUrl": { + "type": "string", + "description": "Test URL. Provide the complete HTTP URL. For example, https://contoso-app.azurewebsites.net/login" + }, + "requestsPerSecond": { + "type": "integer", + "format": "int32", + "description": "Target throughput (requests per second). This may not be necessarily achieved. The actual throughput will be lower if the application is not capable of handling it." + }, + "maxResponseTimeInMs": { + "type": "integer", + "format": "int32", + "description": "Maximum response time in milliseconds of the API/endpoint." + }, + "virtualUsers": { + "type": "integer", + "format": "int32", + "description": "No of concurrent virtual users." + }, + "rampUpTime": { + "type": "integer", + "format": "int32", + "description": "Ramp up time in seconds." + }, + "duration": { + "type": "integer", + "format": "int32", + "description": "Test run duration in seconds." + } + } + }, + "PFAction": { + "type": "string", + "description": "Action to take on failure of pass/fail criteria.", + "enum": [ + "continue", + "stop" + ], + "x-ms-enum": { + "name": "PFAction", + "modelAsString": true, + "values": [ + { + "name": "continue", + "value": "continue", + "description": "Test will continue to run even if pass fail metric criteria metric gets failed." + }, + { + "name": "stop", + "value": "stop", + "description": "Test run will stop if pass fail criteria metric is not passed." + } + ] + } + }, + "PFAgFunc": { + "type": "string", + "description": "Aggregation functions for pass/fail criteria.", + "enum": [ + "count", + "percentage", + "avg", + "p50", + "p90", + "p95", + "p99", + "min", + "max" + ], + "x-ms-enum": { + "name": "PFAgFunc", + "modelAsString": true, + "values": [ + { + "name": "count", + "value": "count", + "description": "Criteria applies for count value." + }, + { + "name": "percentage", + "value": "percentage", + "description": "Criteria applies for given percentage value." + }, + { + "name": "avg", + "value": "avg", + "description": "Criteria applies for avg value." + }, + { + "name": "p50", + "value": "p50", + "description": "Criteria applies for 50th percentile value." + }, + { + "name": "p90", + "value": "p90", + "description": "Criteria applies for 90th percentile value." + }, + { + "name": "p95", + "value": "p95", + "description": "Criteria applies for 95th percentile value." + }, + { + "name": "p99", + "value": "p99", + "description": "Criteria applies for 99th percentile value." + }, + { + "name": "min", + "value": "min", + "description": "Criteria applies for minimum value." + }, + { + "name": "max", + "value": "max", + "description": "Criteria applies for maximum value." + } + ] + } + }, + "PFMetrics": { + "type": "string", + "description": "Metrics for pass/fail criteria.", + "enum": [ + "response_time_ms", + "latency", + "error", + "requests", + "requests_per_sec" + ], + "x-ms-enum": { + "name": "PFMetrics", + "modelAsString": true, + "values": [ + { + "name": "response_time_ms", + "value": "response_time_ms", + "description": "Pass fail criteria for response time metric in milliseconds." + }, + { + "name": "latency", + "value": "latency", + "description": "Pass fail criteria for latency metric in milliseconds." + }, + { + "name": "error", + "value": "error", + "description": "Pass fail criteria for error metric." + }, + { + "name": "requests", + "value": "requests", + "description": "Pass fail criteria for total requests." + }, + { + "name": "requests_per_sec", + "value": "requests_per_sec", + "description": "Pass fail criteria for request per second." + } + ] + } + }, + "PFResult": { + "type": "string", + "description": "Pass/fail criteria result.", + "enum": [ + "passed", + "undetermined", + "failed" + ], + "x-ms-enum": { + "name": "PFResult", + "modelAsString": true, + "values": [ + { + "name": "passed", + "value": "passed", + "description": "Given pass fail criteria metric has passed." + }, + { + "name": "undetermined", + "value": "undetermined", + "description": "Given pass fail criteria metric couldn't determine." + }, + { + "name": "failed", + "value": "failed", + "description": "Given pass fail criteria metric has failed." + } + ] + } + }, + "PFTestResult": { + "type": "string", + "description": "Test result based on pass/fail criteria.", + "enum": [ + "PASSED", + "NOT_APPLICABLE", + "FAILED" + ], + "x-ms-enum": { + "name": "PFTestResult", + "modelAsString": true, + "values": [ + { + "name": "PASSED", + "value": "PASSED", + "description": "Pass/fail criteria has passed." + }, + { + "name": "NOT_APPLICABLE", + "value": "NOT_APPLICABLE", + "description": "Pass/fail criteria is not applicable." + }, + { + "name": "FAILED", + "value": "FAILED", + "description": "Pass/fail criteria has failed." + } + ] + } + }, + "PagedTest": { + "type": "object", + "description": "Paged collection of Test items", + "properties": { + "value": { + "type": "array", + "description": "The Test items on this page", + "items": { + "$ref": "#/definitions/Test" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedTestFileInfo": { + "type": "object", + "description": "Paged collection of TestFileInfo items", + "properties": { + "value": { + "type": "array", + "description": "The TestFileInfo items on this page", + "items": { + "$ref": "#/definitions/TestFileInfo" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedTestRun": { + "type": "object", + "description": "Paged collection of TestRun items", + "properties": { + "value": { + "type": "array", + "description": "The TestRun items on this page", + "items": { + "$ref": "#/definitions/TestRun" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PassFailCriteria": { + "type": "object", + "description": "Pass fail criteria for a test.", + "properties": { + "passFailMetrics": { + "type": "object", + "description": "Map of id and pass fail metrics { id : pass fail metrics }.", + "additionalProperties": { + "$ref": "#/definitions/PassFailMetric" + } + } + } + }, + "PassFailMetric": { + "type": "object", + "description": "Pass fail metric", + "properties": { + "clientMetric": { + "$ref": "#/definitions/PFMetrics", + "description": "The client metric on which the criteria should be applied." + }, + "aggregate": { + "$ref": "#/definitions/PFAgFunc", + "description": "The aggregation function to be applied on the client metric. Allowed functions\n- ‘percentage’ - for error metric , ‘avg’, ‘p50’, ‘p90’, ‘p95’, ‘p99’, ‘min’,\n‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec,\n‘count’ - for requests" + }, + "condition": { + "type": "string", + "description": "The comparison operator. Supported types ‘>’, ‘<’ " + }, + "requestName": { + "type": "string", + "description": "Request name for which the Pass fail criteria has to be applied " + }, + "value": { + "type": "number", + "format": "double", + "description": "The value to compare with the client metric. Allowed values - ‘error : [0.0 ,\n100.0] unit- % ’, response_time_ms and latency : any integer value unit- ms." + }, + "action": { + "$ref": "#/definitions/PFAction", + "description": "Action taken after the threshold is met. Default is ‘continue’.", + "default": "continue" + }, + "actualValue": { + "type": "number", + "format": "double", + "description": "The actual value of the client metric for the test run.", + "readOnly": true + }, + "result": { + "$ref": "#/definitions/PFResult", + "description": "Outcome of the test run.", + "readOnly": true + } + } + }, + "ResourceMetric": { + "type": "object", + "description": "Associated metric definition for particular metrics of the azure resource (\nRefer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition).", + "properties": { + "id": { + "type": "string", + "description": "Unique name for metric.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "Azure resource id." + }, + "metricNamespace": { + "type": "string", + "description": "Metric name space." + }, + "displayDescription": { + "type": "string", + "description": "Metric description." + }, + "name": { + "type": "string", + "description": "The invariant value of metric name" + }, + "aggregation": { + "type": "string", + "description": "Metric aggregation." + }, + "unit": { + "type": "string", + "description": "Metric unit." + }, + "resourceType": { + "type": "string", + "description": "Azure resource type." + } + }, + "required": [ + "resourceId", + "metricNamespace", + "name", + "aggregation", + "resourceType" + ] + }, + "ResourceMetricUpdate": { + "type": "object", + "description": "Associated metric definition for particular metrics of the azure resource (\nRefer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition).", + "properties": { + "resourceId": { + "type": "string", + "description": "Azure resource id." + }, + "metricNamespace": { + "type": "string", + "description": "Metric name space." + }, + "displayDescription": { + "type": "string", + "description": "Metric description." + }, + "name": { + "type": "string", + "description": "The invariant value of metric name" + }, + "aggregation": { + "type": "string", + "description": "Metric aggregation." + }, + "unit": { + "type": "string", + "description": "Metric unit." + }, + "resourceType": { + "type": "string", + "description": "Azure resource type." + } + } + }, + "Secret": { + "type": "object", + "description": "Secret", + "properties": { + "value": { + "type": "string", + "description": "The value of the secret for the respective type" + }, + "type": { + "$ref": "#/definitions/SecretType", + "description": "Type of secret" + } + } + }, + "SecretType": { + "type": "string", + "description": "Types of secrets supported.", + "enum": [ + "AKV_SECRET_URI", + "SECRET_VALUE" + ], + "x-ms-enum": { + "name": "SecretType", + "modelAsString": true, + "values": [ + { + "name": "AKV_SECRET_URI", + "value": "AKV_SECRET_URI", + "description": "If the secret is stored in an Azure Key Vault." + }, + { + "name": "SECRET_VALUE", + "value": "SECRET_VALUE", + "description": "If the secret value provided as plain text." + } + ] + } + }, + "Status": { + "type": "string", + "description": "Test run status.", + "enum": [ + "ACCEPTED", + "NOTSTARTED", + "PROVISIONING", + "PROVISIONED", + "CONFIGURING", + "CONFIGURED", + "EXECUTING", + "EXECUTED", + "DEPROVISIONING", + "DEPROVISIONED", + "DONE", + "CANCELLING", + "CANCELLED", + "FAILED", + "VALIDATION_SUCCESS", + "VALIDATION_FAILURE" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true, + "values": [ + { + "name": "ACCEPTED", + "value": "ACCEPTED", + "description": "Test run request is accepted." + }, + { + "name": "NOTSTARTED", + "value": "NOTSTARTED", + "description": "Test run is not yet started." + }, + { + "name": "PROVISIONING", + "value": "PROVISIONING", + "description": "Test run is provisioning." + }, + { + "name": "PROVISIONED", + "value": "PROVISIONED", + "description": "Test run is provisioned." + }, + { + "name": "CONFIGURING", + "value": "CONFIGURING", + "description": "Test run is getting configured." + }, + { + "name": "CONFIGURED", + "value": "CONFIGURED", + "description": "Test run configuration is done." + }, + { + "name": "EXECUTING", + "value": "EXECUTING", + "description": "Test run has started executing." + }, + { + "name": "EXECUTED", + "value": "EXECUTED", + "description": "Test run execution is completed." + }, + { + "name": "DEPROVISIONING", + "value": "DEPROVISIONING", + "description": "Test run is getting deprovisioned." + }, + { + "name": "DEPROVISIONED", + "value": "DEPROVISIONED", + "description": "Test run is deprovisioned." + }, + { + "name": "DONE", + "value": "DONE", + "description": "Test run is completed." + }, + { + "name": "CANCELLING", + "value": "CANCELLING", + "description": "Test run is being cancelled." + }, + { + "name": "CANCELLED", + "value": "CANCELLED", + "description": "Test run request is cancelled." + }, + { + "name": "FAILED", + "value": "FAILED", + "description": "Test run request is failed." + }, + { + "name": "VALIDATION_SUCCESS", + "value": "VALIDATION_SUCCESS", + "description": "Test run JMX file is validated." + }, + { + "name": "VALIDATION_FAILURE", + "value": "VALIDATION_FAILURE", + "description": "Test run JMX file validation is failed." + } + ] + } + }, + "Test": { + "type": "object", + "description": "Load test model.", + "properties": { + "passFailCriteria": { + "$ref": "#/definitions/PassFailCriteria", + "description": "Pass fail criteria for a test." + }, + "autoStopCriteria": { + "$ref": "#/definitions/AutoStopCriteria", + "description": "Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window." + }, + "secrets": { + "type": "object", + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", + "additionalProperties": { + "$ref": "#/definitions/Secret" + } + }, + "certificate": { + "$ref": "#/definitions/CertificateMetadata", + "description": "Certificates metadata." + }, + "environmentVariables": { + "type": "object", + "description": "Environment variables which are defined as a set of pairs.", + "additionalProperties": { + "type": "string" + } + }, + "loadTestConfiguration": { + "$ref": "#/definitions/LoadTestConfiguration", + "description": "The load test configuration." + }, + "baselineTestRunId": { + "type": "string", + "description": "Id of the test run to be marked as baseline to view trends of client-side metrics from recent test runs" + }, + "inputArtifacts": { + "$ref": "#/definitions/TestInputArtifacts", + "description": "The input artifacts for the test.", + "readOnly": true + }, + "testId": { + "type": "string", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$", + "readOnly": true + }, + "description": { + "type": "string", + "description": "The test description.", + "maxLength": 100 + }, + "displayName": { + "type": "string", + "description": "Display name of a test.", + "minLength": 2, + "maxLength": 50 + }, + "subnetId": { + "type": "string", + "description": "Subnet ID on which the load test instances should run." + }, + "kind": { + "$ref": "#/definitions/TestKind", + "description": "Kind of test." + }, + "publicIPDisabled": { + "type": "boolean", + "description": "Inject load test engines without deploying public IP for outbound access" + }, + "keyvaultReferenceIdentityType": { + "type": "string", + "description": "Type of the managed identity referencing the Key vault." + }, + "keyvaultReferenceIdentityId": { + "type": "string", + "description": "Resource Id of the managed identity referencing the Key vault." + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "testId" + ] + }, + "TestAppComponents": { + "type": "object", + "description": "Test app components", + "properties": { + "components": { + "type": "object", + "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", + "additionalProperties": { + "$ref": "#/definitions/AppComponent" + } + }, + "testId": { + "type": "string", + "description": "Test identifier", + "readOnly": true + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "components" + ] + }, + "TestAppComponentsUpdate": { + "type": "object", + "description": "Test app components", + "properties": { + "components": { + "type": "object", + "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", + "additionalProperties": { + "$ref": "#/definitions/AppComponentUpdate" + } + } + } + }, + "TestCreateOrUpdate": { + "type": "object", + "description": "Load test model.", + "properties": { + "passFailCriteria": { + "$ref": "#/definitions/PassFailCriteria", + "description": "Pass fail criteria for a test." + }, + "autoStopCriteria": { + "$ref": "#/definitions/AutoStopCriteria", + "description": "Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window." + }, + "secrets": { + "type": "object", + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", + "additionalProperties": { + "$ref": "#/definitions/Secret" + } + }, + "certificate": { + "$ref": "#/definitions/CertificateMetadata", + "description": "Certificates metadata." + }, + "environmentVariables": { + "type": "object", + "description": "Environment variables which are defined as a set of pairs.", + "additionalProperties": { + "type": "string" + } + }, + "loadTestConfiguration": { + "$ref": "#/definitions/LoadTestConfiguration", + "description": "The load test configuration." + }, + "baselineTestRunId": { + "type": "string", + "description": "Id of the test run to be marked as baseline to view trends of client-side metrics from recent test runs" + }, + "description": { + "type": "string", + "description": "The test description.", + "maxLength": 100 + }, + "displayName": { + "type": "string", + "description": "Display name of a test.", + "minLength": 2, + "maxLength": 50 + }, + "subnetId": { + "type": "string", + "description": "Subnet ID on which the load test instances should run." + }, + "kind": { + "$ref": "#/definitions/TestKind", + "description": "Kind of test." + }, + "publicIPDisabled": { + "type": "boolean", + "description": "Inject load test engines without deploying public IP for outbound access" + }, + "keyvaultReferenceIdentityType": { + "type": "string", + "description": "Type of the managed identity referencing the Key vault." + }, + "keyvaultReferenceIdentityId": { + "type": "string", + "description": "Resource Id of the managed identity referencing the Key vault." + } + } + }, + "TestFileInfo": { + "type": "object", + "description": "Test file info.", + "properties": { + "fileName": { + "type": "string", + "description": "Name of the file." + }, + "url": { + "type": "string", + "format": "uri", + "description": "File URL.", + "readOnly": true + }, + "fileType": { + "$ref": "#/definitions/FileType", + "description": "File type", + "readOnly": true + }, + "expireDateTime": { + "type": "string", + "format": "date-time", + "description": "Expiry time of the file (RFC 3339 literal format)", + "readOnly": true + }, + "validationStatus": { + "$ref": "#/definitions/FileStatus", + "description": "Validation status of the file", + "readOnly": true + }, + "validationFailureDetails": { + "type": "string", + "description": "Validation failure error details", + "readOnly": true + } + }, + "required": [ + "fileName" + ] + }, + "TestInputArtifacts": { + "type": "object", + "description": "The input artifacts for the test.", + "properties": { + "configFileInfo": { + "$ref": "#/definitions/TestFileInfo", + "description": "File info" + }, + "testScriptFileInfo": { + "$ref": "#/definitions/TestFileInfo", + "description": "File info" + }, + "userPropFileInfo": { + "$ref": "#/definitions/TestFileInfo", + "description": "File info" + }, + "inputArtifactsZipFileInfo": { + "$ref": "#/definitions/TestFileInfo", + "description": "File info" + }, + "urlTestConfigFileInfo": { + "$ref": "#/definitions/TestFileInfo", + "description": "The config json file for url based test" + }, + "additionalFileInfo": { + "type": "array", + "description": "Additional supported files for the test run", + "items": { + "$ref": "#/definitions/TestFileInfo" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "TestKind": { + "type": "string", + "description": "Test kind", + "enum": [ + "URL", + "JMX" + ], + "x-ms-enum": { + "name": "TestKind", + "modelAsString": true, + "values": [ + { + "name": "URL", + "value": "URL", + "description": "URL Test" + }, + { + "name": "JMX", + "value": "JMX", + "description": "JMX Test" + } + ] + } + }, + "TestRun": { + "type": "object", + "description": "Load test run model", + "properties": { + "testRunId": { + "type": "string", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$", + "readOnly": true + }, + "passFailCriteria": { + "$ref": "#/definitions/PassFailCriteria", + "description": "Pass fail criteria for a test." + }, + "autoStopCriteria": { + "$ref": "#/definitions/AutoStopCriteria", + "description": "Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window." + }, + "secrets": { + "type": "object", + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", + "additionalProperties": { + "$ref": "#/definitions/Secret" + } + }, + "certificate": { + "$ref": "#/definitions/CertificateMetadata", + "description": "Certificates metadata" + }, + "environmentVariables": { + "type": "object", + "description": "Environment variables which are defined as a set of pairs.", + "additionalProperties": { + "type": "string" + } + }, + "errorDetails": { + "type": "array", + "description": "Error details if there is any failure in load test run", + "items": { + "$ref": "#/definitions/ErrorDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "testRunStatistics": { + "type": "object", + "description": "Test run statistics.", + "additionalProperties": { + "$ref": "#/definitions/TestRunStatistics" + }, + "readOnly": true + }, + "loadTestConfiguration": { + "$ref": "#/definitions/LoadTestConfiguration", + "description": "The load test configuration." + }, + "testArtifacts": { + "$ref": "#/definitions/TestRunArtifacts", + "description": "Collection of test run artifacts", + "readOnly": true + }, + "testResult": { + "$ref": "#/definitions/PFTestResult", + "description": "Test result for pass/Fail criteria used during the test run.", + "readOnly": true + }, + "virtualUsers": { + "type": "integer", + "format": "int32", + "description": "Number of virtual users, for which test has been run.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Display name of a testRun.", + "minLength": 2, + "maxLength": 50 + }, + "testId": { + "type": "string", + "description": "Associated test Id.", + "minLength": 2, + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "The test run description.", + "maxLength": 100 + }, + "status": { + "$ref": "#/definitions/Status", + "description": "The test run status.", + "readOnly": true + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "The test run start DateTime(RFC 3339 literal format).", + "readOnly": true + }, + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "The test run end DateTime(RFC 3339 literal format).", + "readOnly": true + }, + "executedDateTime": { + "type": "string", + "format": "date-time", + "description": "Test run initiated time.", + "readOnly": true + }, + "portalUrl": { + "type": "string", + "description": "Portal url.", + "readOnly": true + }, + "duration": { + "type": "integer", + "format": "int64", + "description": "Test run duration in milliseconds.", + "readOnly": true + }, + "subnetId": { + "type": "string", + "description": "Subnet ID on which the load test instances should run.", + "readOnly": true + }, + "kind": { + "$ref": "#/definitions/TestKind", + "description": "Type of test.", + "readOnly": true + }, + "publicIPDisabled": { + "type": "boolean", + "description": "Inject load test engines without deploying public IP for outbound access", + "readOnly": true + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "testRunId" + ] + }, + "TestRunAppComponents": { + "type": "object", + "description": "Test run app component", + "properties": { + "components": { + "type": "object", + "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", + "additionalProperties": { + "$ref": "#/definitions/AppComponent" + } + }, + "testRunId": { + "type": "string", + "description": "Test run identifier", + "readOnly": true + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "components" + ] + }, + "TestRunAppComponentsUpdate": { + "type": "object", + "description": "Test run app component", + "properties": { + "components": { + "type": "object", + "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", + "additionalProperties": { + "$ref": "#/definitions/AppComponentUpdate" + } + } + } + }, + "TestRunArtifacts": { + "type": "object", + "description": "Collection of test run artifacts", + "properties": { + "inputArtifacts": { + "$ref": "#/definitions/TestRunInputArtifacts", + "description": "The input artifacts for the test run.", + "readOnly": true + }, + "outputArtifacts": { + "$ref": "#/definitions/TestRunOutputArtifacts", + "description": "The output artifacts for the test run." + } + } + }, + "TestRunCreateOrUpdate": { + "type": "object", + "description": "Load test run model", + "properties": { + "passFailCriteria": { + "$ref": "#/definitions/PassFailCriteria", + "description": "Pass fail criteria for a test." + }, + "autoStopCriteria": { + "$ref": "#/definitions/AutoStopCriteria", + "description": "Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window." + }, + "secrets": { + "type": "object", + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", + "additionalProperties": { + "$ref": "#/definitions/Secret" + } + }, + "certificate": { + "$ref": "#/definitions/CertificateMetadata", + "description": "Certificates metadata" + }, + "environmentVariables": { + "type": "object", + "description": "Environment variables which are defined as a set of pairs.", + "additionalProperties": { + "type": "string" + } + }, + "loadTestConfiguration": { + "$ref": "#/definitions/LoadTestConfiguration", + "description": "The load test configuration." + }, + "displayName": { + "type": "string", + "description": "Display name of a testRun.", + "minLength": 2, + "maxLength": 50 + }, + "testId": { + "type": "string", + "description": "Associated test Id.", + "minLength": 2, + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "The test run description.", + "maxLength": 100 + } + } + }, + "TestRunFileInfo": { + "type": "object", + "description": "Test run file info.", + "properties": { + "fileName": { + "type": "string", + "description": "Name of the file." + }, + "url": { + "type": "string", + "format": "uri", + "description": "File URL.", + "readOnly": true + }, + "fileType": { + "$ref": "#/definitions/FileType", + "description": "File type", + "readOnly": true + }, + "expireDateTime": { + "type": "string", + "format": "date-time", + "description": "Expiry time of the file (RFC 3339 literal format)", + "readOnly": true + }, + "validationStatus": { + "$ref": "#/definitions/FileStatus", + "description": "Validation status of the file", + "readOnly": true + }, + "validationFailureDetails": { + "type": "string", + "description": "Validation failure error details", + "readOnly": true + } + }, + "required": [ + "fileName" + ] + }, + "TestRunInputArtifacts": { + "type": "object", + "description": "The input artifacts for the test run.", + "properties": { + "configFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" + }, + "testScriptFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" + }, + "userPropFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" + }, + "inputArtifactsZipFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" + }, + "urlTestConfigFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "The config json file for url based test" + }, + "additionalFileInfo": { + "type": "array", + "description": "Additional supported files for the test run", + "items": { + "$ref": "#/definitions/TestRunFileInfo" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "TestRunOutputArtifacts": { + "type": "object", + "description": "The output artifacts for the test run.", + "properties": { + "resultFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" + }, + "logsFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" + }, + "artifactsContainerInfo": { + "$ref": "#/definitions/ArtifactsContainerInfo", + "description": "The container for test run artifacts." + } + } + }, + "TestRunServerMetricConfig": { + "type": "object", + "description": "Test run server metrics configuration", + "properties": { + "testRunId": { + "type": "string", + "description": "Test run identifier", + "readOnly": true + }, + "metrics": { + "type": "object", + "description": "Azure resource metrics collection {metric id : metrics object} (Refer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition\nfor metric id).", + "additionalProperties": { + "$ref": "#/definitions/ResourceMetric" + } + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + } + }, + "TestRunStatistics": { + "type": "object", + "description": "Test run statistics.", + "properties": { + "transaction": { + "type": "string", + "description": "Transaction name.", + "readOnly": true + }, + "sampleCount": { + "type": "number", + "format": "double", + "description": "Sampler count.", + "readOnly": true + }, + "errorCount": { + "type": "number", + "format": "double", + "description": "Error count.", + "readOnly": true + }, + "errorPct": { + "type": "number", + "format": "double", + "description": "Error percentage.", + "readOnly": true + }, + "meanResTime": { + "type": "number", + "format": "double", + "description": "Mean response time.", + "readOnly": true + }, + "medianResTime": { + "type": "number", + "format": "double", + "description": "Median response time.", + "readOnly": true + }, + "maxResTime": { + "type": "number", + "format": "double", + "description": "Max response time.", + "readOnly": true + }, + "minResTime": { + "type": "number", + "format": "double", + "description": "Minimum response time.", + "readOnly": true + }, + "pct1ResTime": { + "type": "number", + "format": "double", + "description": "90 percentile response time.", + "readOnly": true + }, + "pct2ResTime": { + "type": "number", + "format": "double", + "description": "95 percentile response time.", + "readOnly": true + }, + "pct3ResTime": { + "type": "number", + "format": "double", + "description": "99 percentile response time.", + "readOnly": true + }, + "throughput": { + "type": "number", + "format": "double", + "description": "Throughput.", + "readOnly": true + }, + "receivedKBytesPerSec": { + "type": "number", + "format": "double", + "description": "Received network bytes.", + "readOnly": true + }, + "sentKBytesPerSec": { + "type": "number", + "format": "double", + "description": "Send network bytes.", + "readOnly": true + } + } + }, + "TestServerMetricConfig": { + "type": "object", + "description": "Test server metrics configuration", + "properties": { + "testId": { + "type": "string", + "description": "Test identifier", + "readOnly": true + }, + "metrics": { + "type": "object", + "description": "Azure resource metrics collection {metric id : metrics object} (Refer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition\nfor metric id).", + "additionalProperties": { + "$ref": "#/definitions/ResourceMetric" + } + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "metrics" + ] + }, + "TestServerMetricConfigUpdate": { + "type": "object", + "description": "Test server metrics configuration", + "properties": { + "metrics": { + "type": "object", + "description": "Azure resource metrics collection {metric id : metrics object} (Refer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition\nfor metric id).", + "additionalProperties": { + "$ref": "#/definitions/ResourceMetricUpdate" + } + } + } + }, + "TimeGrain": { + "type": "string", + "description": "Time Grain", + "enum": [ + "PT5S", + "PT10S", + "PT1M", + "PT5M", + "PT1H" + ], + "x-ms-enum": { + "name": "TimeGrain", + "modelAsString": true, + "values": [ + { + "name": "PT5S", + "value": "PT5S", + "description": "5 seconds, available only if test run duration is less than 10 minutes." + }, + { + "name": "PT10S", + "value": "PT10S", + "description": "10 seconds, available only if test run duration is less than 10 minutes." + }, + { + "name": "PT1M", + "value": "PT1M", + "description": "1 minute" + }, + { + "name": "PT5M", + "value": "PT5M", + "description": "5 minutes, available only if test run duration is greater than 1 minute." + }, + { + "name": "PT1H", + "value": "PT1H", + "description": "1 hour, available only if test run duration is greater than 1 minute." + } + ] + } + }, + "TimeSeriesElement": { + "type": "object", + "description": "The time series returned when a data query is performed.", + "properties": { + "data": { + "type": "array", + "description": "An array of data points representing the metric values.", + "items": { + "$ref": "#/definitions/MetricValue" + }, + "x-ms-identifiers": [] + }, + "dimensionValues": { + "type": "array", + "description": "The dimension values ", + "items": { + "$ref": "#/definitions/DimensionValue" + }, + "x-ms-identifiers": [] + } + } + } + }, + "parameters": { + "Azure.Core.Foundations.ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" + }, + "ListTestQueryParams.lastModifiedEndTime": { + "name": "lastModifiedEndTime", + "in": "query", + "description": "End DateTime(RFC 3339 literal format) of the last updated time range to filter tests.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.lastModifiedStartTime": { + "name": "lastModifiedStartTime", + "in": "query", + "description": "Start DateTime(RFC 3339 literal format) of the last updated time range to filter tests.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.maxpagesize": { + "name": "maxpagesize", + "in": "query", + "description": "Number of results in response.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.orderby": { + "name": "orderby", + "in": "query", + "description": "Sort on the supported fields in (field asc/desc) format. eg:\nlastModifiedDateTime asc. Supported fields - lastModifiedDateTime", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.search": { + "name": "search", + "in": "query", + "description": "Prefix based, case sensitive search on searchable fields - displayName,\ncreatedBy. For example, to search for a test, with display name is Login Test,\nthe search parameter can be Login.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.executionFrom": { + "name": "executionFrom", + "in": "query", + "description": "Start DateTime(RFC 3339 literal format) of test-run execution time filter range.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.executionTo": { + "name": "executionTo", + "in": "query", + "description": "End DateTime(RFC 3339 literal format) of test-run execution time filter range.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.maxpagesize": { + "name": "maxpagesize", + "in": "query", + "description": "Number of results in response.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.orderby": { + "name": "orderby", + "in": "query", + "description": "Sort on the supported fields in (field asc/desc) format. eg: executedDateTime\nasc. Supported fields - executedDateTime", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.search": { + "name": "search", + "in": "query", + "description": "Prefix based, case sensitive search on searchable fields - description,\nexecutedUser. For example, to search for a test run, with description 500 VUs,\nthe search parameter can be 500.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.status": { + "name": "status", + "in": "query", + "description": "Comma separated list of test run status.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.testId": { + "name": "testId", + "in": "query", + "description": "Unique name of an existing load test.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MetricDimensionsRequest.interval": { + "name": "interval", + "in": "query", + "description": "The interval (i.e. timegrain) of the query.", + "required": false, + "type": "string", + "default": "PT1M", + "enum": [ + "PT5S", + "PT10S", + "PT1M", + "PT5M", + "PT1H" + ], + "x-ms-enum": { + "name": "TimeGrain", + "modelAsString": true, + "values": [ + { + "name": "PT5S", + "value": "PT5S", + "description": "5 seconds, available only if test run duration is less than 10 minutes." + }, + { + "name": "PT10S", + "value": "PT10S", + "description": "10 seconds, available only if test run duration is less than 10 minutes." + }, + { + "name": "PT1M", + "value": "PT1M", + "description": "1 minute" + }, + { + "name": "PT5M", + "value": "PT5M", + "description": "5 minutes, available only if test run duration is greater than 1 minute." + }, + { + "name": "PT1H", + "value": "PT1H", + "description": "1 hour, available only if test run duration is greater than 1 minute." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "MetricDimensionsRequest.metricNamespace": { + "name": "metricNamespace", + "in": "query", + "description": "Metric namespace to query metric definitions for.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MetricDimensionsRequest.metricname": { + "name": "metricname", + "in": "query", + "description": "Metric name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MetricDimensionsRequest.timespan": { + "name": "timespan", + "in": "query", + "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "OldTestRunIdQueryParam": { + "name": "oldTestRunId", + "in": "query", + "description": "Existing test run identifier that should be rerun, if this is provided, the\ntest will run with the JMX file, configuration and app components from the\nexisting test run. You can override the configuration values for new test run\nin the request body.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTest.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTest.json index 49503fbb2735..af2df34095e7 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTest.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTest.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestAdministration_CreateOrUpdateTest", + "title": "Create or update a load test", "parameters": { "api-version": "2022-11-01", "testId": "12345678-1234-1234-1234-123456789012", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestAppComponents.json index 1c95b6ed6c39..09f1540e5b83 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestAppComponents.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestAppComponents.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestAdministration_CreateOrUpdateAppComponents", + "title": "Add or update app components to a load test", "parameters": { "testId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", "api-version": "2022-11-01", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestRun.json new file mode 100644 index 000000000000..60aae3d96546 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestRun.json @@ -0,0 +1,268 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateTestRun", + "title": "Create/update and start a load test run", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "oldTestRunId": "12345678-1234-1234-1234-123456789012", + "api-version": "2022-11-01", + "body": { + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue" + } + } + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "ACCEPTED", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "results.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "ACCEPTED", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "results.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestRunAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestRunAppComponents.json index d7c70245fcad..50f97ad8de18 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestRunAppComponents.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestRunAppComponents.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_CreateOrUpdateAppComponents", + "title": "Add or update app components to a load test run", "parameters": { "testRunId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", "api-version": "2022-11-01", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestRunServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestRunServerMetricsConfig.json index cd0df84b769c..0feb297abfea 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestRunServerMetricsConfig.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestRunServerMetricsConfig.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_CreateOrUpdateServerMetricsConfig", + "title": "Add or update server metrics configuration for a load test run", "parameters": { "testRunId": "edc6e529-d009-4b99-b763-ca492e3a2823", "api-version": "2022-11-01", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestServerMetricsConfig.json index c35bccd8469d..e3f85da98089 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestServerMetricsConfig.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTestServerMetricsConfig.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestAdministration_CreateOrUpdateServerMetricsConfig", + "title": "Add or update server metrics configuration for a load test.", "parameters": { "testId": "edc6e529-d009-4b99-b763-ca492e3a2823", "api-version": "2022-11-01", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTest.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTest.json index 48dbc917b730..defce54c4410 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTest.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTest.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestAdministration_DeleteTest", + "title": "Delete a load test", "parameters": { "testId": "12345678-1234-1234-1234-123456789012", "api-version": "2022-11-01" diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestFile.json index e47e65f60ae1..ef1b58914ad2 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestFile.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestFile.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestAdministration_DeleteTestFile", + "title": "Delete a file from a load test", "parameters": { "testId": "12345678-1234-1234-1234-123456789012", "fileName": "app.jmx", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestRun.json index df9676add469..4df2e7467bcb 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestRun.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestRun.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_DeleteTestRun", + "title": "Delete a load test run", "parameters": { "testRunId": "12316678-1234-1234-1234-122451189012", "api-version": "2022-11-01" diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTest.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTest.json index f1e2aad07317..1ce1953b0d73 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTest.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTest.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestAdministration_GetTest", + "title": "Get a load test.", "parameters": { "testId": "12345678-1234-1234-1234-123456789012", "api-version": "2022-11-01" diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestFile.json index fd1bf267a4a2..d65e7f74c09c 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestFile.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestFile.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestAdministration_GetTestFile", + "title": "Get a file from a load test", "parameters": { "testId": "12345678-1234-1234-1234-123456789012", "fileName": "sample.jmx", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRun.json index 9ae496849efb..22e73e1f810e 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRun.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRun.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_GetTestRun", + "title": "Get a load test run.", "parameters": { "testRunId": "12316678-1234-1234-1234-122451189012", "api-version": "2022-11-01" diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunFile.json index 1998ef513827..3908457dc1bc 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunFile.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunFile.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_GetTestRunFile", + "title": "Get a file associated to a load test run.", "parameters": { "testRunId": "12316678-1234-1234-1234-122451189012", "fileName": "sample.jmx", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListMetricDimensionValues.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListMetricDimensionValues.json index 1630b5e2928f..e47e25336546 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListMetricDimensionValues.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListMetricDimensionValues.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_ListMetricDimensionValues", + "title": "List the dimension values for the given metric dimension name.", "parameters": { "testRunId": "12316678-1234-1234-1234-122451189012", "interval": "PT1H", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestAppComponents.json index 3a7f78cef40f..a93bc9d8f674 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestAppComponents.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestAppComponents.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestAdministration_GetAppComponents", + "title": "Get associated app component for the given test.", "parameters": { "testId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", "api-version": "2022-11-01" diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestFiles.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestFiles.json index 4197f07edcb2..dada9bdf386a 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestFiles.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestFiles.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestAdministration_ListTestFiles", + "title": "Get all test files.", "parameters": { "testId": "12345678-1234-1234-1234-123456789012", "api-version": "2022-11-01", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunAppComponents.json index d5ae97d55d22..125439b253ea 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunAppComponents.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunAppComponents.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_GetAppComponents", + "title": "Get associated app component for the given test run.", "parameters": { "testRunId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", "api-version": "2022-11-01" diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunMetrics.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunMetrics.json index 24b133cf2343..5b677e01b313 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunMetrics.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunMetrics.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_ListMetrics", + "title": "List the metric values for a load test run.", "parameters": { "testRunId": "12316678-1234-1234-1234-122451189012", "interval": "PT1H", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunMetricsDefinitions.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunMetricsDefinitions.json index 2f0676413fcc..5c9450a6c6e0 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunMetricsDefinitions.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunMetricsDefinitions.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_ListMetricDefinitions", + "title": "List the metric definitions for a load test run.", "parameters": { "testRunId": "12316678-1234-1234-1234-122451189012", "metricNamespace": "LoadTestRunMetrics", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunMetricsNamespaces.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunMetricsNamespaces.json index 7a10262a852f..f66a7e35cf95 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunMetricsNamespaces.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunMetricsNamespaces.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_ListMetricNamespaces", + "title": "List the metric namespaces for a load test run.", "parameters": { "testRunId": "12316678-1234-1234-1234-122451189012", "api-version": "2022-11-01" diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunServerMetricsConfig.json index b41ebef8bd09..c937c2d8003e 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunServerMetricsConfig.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunServerMetricsConfig.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_GetServerMetricsConfig", + "title": "List server metrics configuration for the given test run.", "parameters": { "testRunId": "12345678-1234-1234-1234-123456789012", "api-version": "2022-11-01" diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRuns.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRuns.json index bd09af508f69..779426d9638d 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRuns.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRuns.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_ListTestRuns", + "title": "List test runs.", "parameters": { "testId": "12345678-1234-1234-1234-123456789012", "orderBy": "executedDateTime", @@ -127,7 +129,7 @@ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" } ], - "nextLink": "next link" + "nextLink": "https://00000000-0000-0000-aaaa-00aa00aa00aa.westus2.cnt-prod.loadtesting.azure.com/test-runs?orderby=executedDateTime%20desc&continuationToken=some-value&search=&testId=&executionFrom=&executionTo=&status=&maxpagesize=50&api-version=2022-11-01" } } } diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestServerMetricsConfig.json index d359c1bb8deb..da1340b28ee7 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestServerMetricsConfig.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestServerMetricsConfig.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestAdministration_GetServerMetricsConfig", + "title": "List server metrics configuration for the given test.", "parameters": { "testId": "12345678-1234-1234-1234-123456789012", "api-version": "2022-11-01" diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTests.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTests.json index 4e4803698b1f..cdf4fc5d5135 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTests.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTests.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestAdministration_ListTests", + "title": "Get all load tests.", "parameters": { "orderBy": "executedDateTime", "search": "Performance_LoadTest", @@ -82,7 +84,7 @@ "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" } ], - "nextLink": "next link" + "nextLink": "https://00000000-0000-0000-aaaa-00aa00aa00aa.westus2.cnt-prod.loadtesting.azure.com/tests?orderby=executedDateTime%20desc&continuationToken=some-value&search=&&executionFrom=&executionTo=&status=&maxpagesize=50&api-version=2022-11-01" } } } diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/StopTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/StopTestRun.json index 1bfcde16698c..436f24b41042 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/StopTestRun.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/StopTestRun.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestRun_StopTestRun", + "title": "Stop test run by name.", "parameters": { "testRunId": "12316678-1234-1234-1234-122451189012", "api-version": "2022-11-01" diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/UploadTestFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/UploadTestFile.json index 5903444b8023..eb6dac12c9ed 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/UploadTestFile.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/UploadTestFile.json @@ -1,4 +1,6 @@ { + "operationId": "LoadTestAdministration_UploadTestFile", + "title": "Upload input file for a given test name.", "parameters": { "testId": "12345678-1234-1234-1234-123456789012", "fileName": "sample.jmx", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index 0a9e59c4e430..d51356815ed8 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -2,971 +2,938 @@ "swagger": "2.0", "info": { "title": "Azure Load Testing", + "version": "2022-11-01", "description": "These APIs allow end users to create, view and run load tests using Azure Load Test Service.", - "version": "2022-11-01" + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "x-ms-parameterized-host": { + "hostTemplate": "https://{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "name": "endpoint", + "in": "path", + "required": true, + "type": "string" + } + ] + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "Oauth2": [ + "https://cnt-prod.loadtesting.azure.com/.default" + ] + } + ], + "securityDefinitions": { + "Oauth2": { + "type": "oauth2", + "description": "OAuth 2.0 Flow with Microsoft Entra ID.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", + "scopes": { + "https://cnt-prod.loadtesting.azure.com/.default": "" + } + } }, + "tags": [ + { + "name": "Test" + }, + { + "name": "TestRun" + } + ], "paths": { - "/tests/{testId}": { - "patch": { + "/test-runs": { + "get": { + "operationId": "LoadTestRun_ListTestRuns", "tags": [ - "Test" - ], - "summary": "Create a new test or update an existing test.", - "operationId": "LoadTestAdministration_CreateOrUpdateTest", - "consumes": [ - "application/merge-patch+json" - ], - "produces": [ - "application/json" + "TestRun" ], + "summary": "Get all test runs for the given filters.", + "description": "Get all test runs for the given filters.", "parameters": [ { - "$ref": "#/parameters/TestIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersion" + "$ref": "#/parameters/ListTestRunQueryParams.orderby" }, { - "in": "body", - "name": "body", - "description": "Load test model", - "required": true, - "schema": { - "$ref": "#/definitions/Test" - } - } - ], - "responses": { - "200": { - "description": "The test was updated.", - "schema": { - "$ref": "#/definitions/Test" - } + "$ref": "#/parameters/ListTestRunQueryParams.search" }, - "201": { - "description": "The test was created.", - "schema": { - "$ref": "#/definitions/Test" - } + { + "$ref": "#/parameters/ListTestRunQueryParams.testId" }, - "default": { - "description": "Load Testing service error response.", - "schema": { - "$ref": "#/definitions/ErrorResponseBody" - }, - "headers": { - "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" - } - } - } - }, - "x-ms-examples": { - "Create or update a test": { - "$ref": "./examples/CreateOrUpdateTest.json" - } - } - }, - "delete": { - "tags": [ - "Test" - ], - "summary": "Delete a test by its name.", - "operationId": "LoadTestAdministration_DeleteTest", - "produces": [ - "application/json" - ], - "parameters": [ { - "$ref": "#/parameters/TestIdPathParameter" + "$ref": "#/parameters/ListTestRunQueryParams.executionFrom" }, { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "204": { - "description": "The test is deleted." + "$ref": "#/parameters/ListTestRunQueryParams.executionTo" }, - "default": { - "description": "Load Testing service error response.", - "schema": { - "$ref": "#/definitions/ErrorResponseBody" - }, - "headers": { - "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" - } - } - } - }, - "x-ms-examples": { - "Delete a test": { - "$ref": "./examples/DeleteTest.json" - } - } - }, - "get": { - "tags": [ - "Test" - ], - "summary": "Get load test details by test name", - "operationId": "LoadTestAdministration_GetTest", - "produces": [ - "application/json" - ], - "parameters": [ { - "$ref": "#/parameters/TestIdPathParameter" + "$ref": "#/parameters/ListTestRunQueryParams.status" }, { - "$ref": "#/parameters/ApiVersion" + "$ref": "#/parameters/ListTestRunQueryParams.maxpagesize" } ], "responses": { "200": { - "description": "The requested test.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/Test" + "$ref": "#/definitions/PagedTestRun" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Get a test by an unique name": { - "$ref": "./examples/GetTest.json" + "List test runs.": { + "$ref": "./examples/ListTestRuns.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/tests": { + "/test-runs/{testRunId}": { "get": { + "operationId": "LoadTestRun_GetTestRun", "tags": [ - "Test" - ], - "summary": "Get all load tests by the fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", - "operationId": "LoadTestAdministration_ListTests", - "produces": [ - "application/json" + "TestRun" ], + "summary": "Get test run details by test run Id.", + "description": "Get test run details by test run Id.", "parameters": [ { - "in": "query", - "name": "orderby", - "description": "Sort on the supported fields in (field asc/desc) format. eg: lastModifiedDateTime asc. Supported fields - lastModifiedDateTime", - "type": "string" - }, - { - "in": "query", - "name": "search", - "description": "Prefix based, case sensitive search on searchable fields - displayName, createdBy. For example, to search for a test, with display name is Login Test, the search parameter can be Login.", - "type": "string" - }, - { - "in": "query", - "name": "lastModifiedStartTime", - "description": "Start DateTime(ISO 8601 literal format) of the last updated time range to filter tests.", - "type": "string", - "format": "date-time" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "in": "query", - "name": "lastModifiedEndTime", - "description": "End DateTime(ISO 8601 literal format) of the last updated time range to filter tests.", + "name": "testRunId", + "in": "path", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, "type": "string", - "format": "date-time" - }, - { - "in": "query", - "name": "maxpagesize", - "description": "Number of results in response.", - "type": "integer", - "format": "int32", - "default": 50 - }, - { - "$ref": "#/parameters/ApiVersion" + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" } ], "responses": { "200": { - "description": "The requested tests.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/TestsList" + "$ref": "#/definitions/TestRun" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Search test with filters": { - "$ref": "./examples/ListTests.json" + "Get a load test run.": { + "$ref": "./examples/GetTestRun.json" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } - } - }, - "/tests/{testId}/files/{fileName}": { - "put": { + }, + "patch": { + "operationId": "LoadTestRun_CreateOrUpdateTestRun", "tags": [ - "Test" + "TestRun" ], - "summary": "Upload input file for a given test name. File size can't be more than 50 MB. Existing file with same name for the given test will be overwritten. File should be provided in the request body as application/octet-stream.", - "operationId": "LoadTestAdministration_UploadTestFile", + "summary": "Create and start a new test run with the given test run Id.", + "description": "Create and start a new test run with the given test run Id.", "consumes": [ - "application/octet-stream" - ], - "produces": [ - "application/json" + "application/merge-patch+json" ], "parameters": [ { - "$ref": "#/parameters/TestIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { + "name": "testRunId", "in": "path", - "name": "fileName", - "description": "Unique name for test file with file extension like : App.jmx", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, - "type": "string" - }, - { - "in": "query", - "name": "fileType", - "description": "File type", "type": "string", - "enum": [ - "JMX_FILE", - "USER_PROPERTIES", - "ADDITIONAL_ARTIFACTS" - ], - "x-ms-enum": { - "name": "fileType", - "modelAsString": true, - "values": [ - { - "value": "JMX_FILE", - "description": "If file is jmx script" - }, - { - "value": "USER_PROPERTIES", - "description": "If file is user properties" - }, - { - "value": "ADDITIONAL_ARTIFACTS", - "description": "If file is not any of other supported type" - } - ] - } + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" }, { - "$ref": "#/parameters/ApiVersion" + "$ref": "#/parameters/OldTestRunIdQueryParam" }, { - "in": "body", "name": "body", - "description": "The file content as application/octet-stream.", + "in": "body", + "description": "The resource instance.", "required": true, "schema": { - "format": "binary", - "type": "string" - } + "$ref": "#/definitions/TestRunCreateOrUpdate" + }, + "x-ms-client-name": "resource" } ], "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRun" + } + }, "201": { - "description": "The test artifact is uploaded.", + "description": "The request has succeeded and a new resource has been created as a result.", "schema": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestRun" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Upload a test file": { - "$ref": "./examples/UploadTestFile.json" + "Create/update and start a load test run": { + "$ref": "./examples/CreateOrUpdateTestRun.json" } } }, - "get": { + "delete": { + "operationId": "LoadTestRun_DeleteTestRun", "tags": [ - "Test" - ], - "summary": "Get test file by the file name.", - "operationId": "LoadTestAdministration_GetTestFile", - "produces": [ - "application/json" + "TestRun" ], + "summary": "Delete an existing load test run.", + "description": "Delete an existing load test run by providing the testRunId.", "parameters": [ { - "$ref": "#/parameters/TestIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { + "name": "testRunId", "in": "path", - "name": "fileName", - "description": "File name with file extension like app.jmx", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/ApiVersion" + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" } ], "responses": { - "200": { - "description": "The requested test file info.", - "schema": { - "$ref": "#/definitions/FileInfo" - } + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Get a test file by an unique name": { - "$ref": "./examples/GetTestFile.json" + "Delete a load test run": { + "$ref": "./examples/DeleteTestRun.json" } } - }, - "delete": { + } + }, + "/test-runs/{testRunId}:stop": { + "post": { + "operationId": "LoadTestRun_StopTestRun", "tags": [ - "Test" - ], - "summary": "Delete file by the file name for a test", - "operationId": "LoadTestAdministration_DeleteTestFile", - "produces": [ - "application/json" + "TestRun" ], + "summary": "Stop test run by test run Id.", + "description": "Stop test run by test run Id.", "parameters": [ { - "$ref": "#/parameters/TestIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { + "name": "testRunId", "in": "path", - "name": "fileName", - "description": "File name with file extension like app.jmx", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/ApiVersion" + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" } ], "responses": { - "204": { - "description": "The requested file is deleted." + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRun" + } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Delete a test file": { - "$ref": "./examples/DeleteTestFile.json" + "Stop test run by name.": { + "$ref": "./examples/StopTestRun.json" } } } }, - "/tests/{testId}/files": { + "/test-runs/{testRunId}/app-components": { "get": { + "operationId": "LoadTestRun_GetAppComponents", "tags": [ - "Test" - ], - "summary": "Get all test files.", - "operationId": "LoadTestAdministration_ListTestFiles", - "produces": [ - "application/json" + "TestRun" ], + "summary": "Get associated app component (collection of azure resources) for the given test\nrun.", + "description": "Get associated app component (collection of azure resources) for the given test\nrun.", "parameters": [ { - "$ref": "#/parameters/TestIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersion" + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" } ], "responses": { "200": { - "description": "The URLs for the requested test files.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/FileInfoList" + "$ref": "#/definitions/TestRunAppComponents" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Get all uploaded files to a test": { - "$ref": "./examples/ListTestFiles.json" + "Get associated app component for the given test run.": { + "$ref": "./examples/ListTestRunAppComponents.json" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } - } - }, - "/tests/{testId}/app-components": { + }, "patch": { + "operationId": "LoadTestRun_CreateOrUpdateAppComponents", "tags": [ - "Test" + "TestRun" ], - "summary": "Associate an app component (collection of azure resources) to a test", - "operationId": "LoadTestAdministration_CreateOrUpdateAppComponents", + "summary": "Add an app component to a test run.", + "description": "Add an app component to a test run by providing the resource Id, name and type.", "consumes": [ "application/merge-patch+json" ], - "produces": [ - "application/json" - ], "parameters": [ { - "$ref": "#/parameters/TestIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersion" + "name": "testRunId", + "in": "path", + "description": "Unique Id for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" }, { - "in": "body", "name": "body", + "in": "body", "description": "App Component model.", "required": true, "schema": { - "$ref": "#/definitions/TestAppComponents" + "$ref": "#/definitions/TestRunAppComponentsUpdate" } } ], "responses": { "200": { - "description": "The app component is updated.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/TestAppComponents" + "$ref": "#/definitions/TestRunAppComponents" } }, "201": { - "description": "The app component is created.", + "description": "The request has succeeded and a new resource has been created as a result.", "schema": { - "$ref": "#/definitions/TestAppComponents" + "$ref": "#/definitions/TestRunAppComponents" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Create or update app components for a test": { - "$ref": "./examples/CreateOrUpdateTestAppComponents.json" + "Add or update app components to a load test run": { + "$ref": "./examples/CreateOrUpdateTestRunAppComponents.json" } } - }, + } + }, + "/test-runs/{testRunId}/files/{fileName}": { "get": { + "operationId": "LoadTestRun_GetTestRunFile", "tags": [ - "Test" - ], - "summary": "Get associated app component (collection of azure resources) for the given test.", - "operationId": "LoadTestAdministration_GetAppComponents", - "produces": [ - "application/json" + "TestRun" ], + "summary": "Get test run file by file name.", + "description": "Get test run file by file name.", "parameters": [ { - "$ref": "#/parameters/TestIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" }, { - "$ref": "#/parameters/ApiVersion" + "name": "fileName", + "in": "path", + "description": "Name of the file.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "The requested app component.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/TestAppComponents" + "$ref": "#/definitions/TestRunFileInfo" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "List app components for a test": { - "$ref": "./examples/ListTestAppComponents.json" + "Get a file associated to a load test run.": { + "$ref": "./examples/GetTestRunFile.json" } } } }, - "/tests/{testId}/server-metrics-config": { - "patch": { + "/test-runs/{testRunId}/metric-definitions": { + "get": { + "operationId": "LoadTestRun_ListMetricDefinitions", "tags": [ - "Test" - ], - "summary": "Configure server metrics for a test", - "operationId": "LoadTestAdministration_CreateOrUpdateServerMetricsConfig", - "consumes": [ - "application/merge-patch+json" - ], - "produces": [ - "application/json" + "TestRun" ], + "summary": "List the metric definitions for a load test run.", + "description": "List the metric definitions for a load test run.", "parameters": [ { - "$ref": "#/parameters/TestIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersion" + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" }, { - "in": "body", - "name": "body", - "description": "Server metric configuration model.", + "name": "metricNamespace", + "in": "query", + "description": "Metric namespace to query metric definitions for.", "required": true, - "schema": { - "$ref": "#/definitions/TestServerMetricConfig" - } + "type": "string" } ], "responses": { "200": { - "description": "The server metrics config is updated.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/TestServerMetricConfig" - } - }, - "201": { - "description": "The server metrics config is created.", - "schema": { - "$ref": "#/definitions/TestServerMetricConfig" + "$ref": "#/definitions/MetricDefinitionCollection" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Configure server metrics config for a test": { - "$ref": "./examples/CreateOrUpdateTestServerMetricsConfig.json" + "List the metric definitions for a load test run.": { + "$ref": "./examples/ListTestRunMetricsDefinitions.json" } } - }, + } + }, + "/test-runs/{testRunId}/metric-dimensions/{name}/values": { "get": { + "operationId": "LoadTestRun_ListMetricDimensionValues", "tags": [ - "Test" - ], - "summary": "List server metrics configuration for the given test.", - "operationId": "LoadTestAdministration_GetServerMetricsConfig", - "produces": [ - "application/json" + "TestRun" ], + "summary": "List the dimension values for the given metric dimension name.", + "description": "List the dimension values for the given metric dimension name.", "parameters": [ { - "$ref": "#/parameters/TestIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "name", + "in": "path", + "description": "Dimension name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.metricname" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.interval" }, { - "$ref": "#/parameters/ApiVersion" + "$ref": "#/parameters/MetricDimensionsRequest.metricNamespace" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.timespan" } ], "responses": { "200": { - "description": "Requested server metrics configuration", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/TestServerMetricConfig" + "$ref": "#/definitions/DimensionValueList" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "List server metrics configuration for a test": { - "$ref": "./examples/ListTestServerMetricsConfig.json" + "List the dimension values for the given metric dimension name.": { + "$ref": "./examples/ListMetricDimensionValues.json" } } } }, - "/test-runs/{testRunId}": { - "patch": { + "/test-runs/{testRunId}/metric-namespaces": { + "get": { + "operationId": "LoadTestRun_ListMetricNamespaces", "tags": [ "TestRun" ], - "summary": "Create and start a new test run with the given name.", - "operationId": "LoadTestRun_CreateOrUpdateTestRun", - "consumes": [ - "application/merge-patch+json" - ], - "produces": [ - "application/json" - ], + "summary": "List the metric namespaces for a load test run.", + "description": "List the metric namespaces for a load test run.", "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" - }, - { - "in": "query", - "name": "oldTestRunId", - "description": "Existing test run identifier that should be rerun, if this is provided, the test will run with the JMX file, configuration and app components from the existing test run. You can override the configuration values for new test run in the request body.", - "type": "string" - }, - { - "$ref": "#/parameters/ApiVersion" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "in": "body", - "name": "body", - "description": "Load test run model", + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", "required": true, - "schema": { - "$ref": "#/definitions/TestRun" - } + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" } ], "responses": { - "201": { - "description": "The test run is created.", - "schema": { - "$ref": "#/definitions/TestRun" - } - }, "200": { - "description": "The test run is updated.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/TestRun" + "$ref": "#/definitions/MetricNamespaceCollection" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Create or update a test run": { - "$ref": "./examples/CreateAndUpdateTestRun.json" + "List the metric namespaces for a load test run.": { + "$ref": "./examples/ListTestRunMetricsNamespaces.json" } } - }, - "get": { + } + }, + "/test-runs/{testRunId}/metrics": { + "post": { + "operationId": "LoadTestRun_ListMetrics", "tags": [ "TestRun" ], - "summary": "Get test run details by name.", - "operationId": "LoadTestRun_GetTestRun", - "produces": [ - "application/json" - ], + "summary": "List the metric values for a load test run.", + "description": "List the metric values for a load test run.", "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "aggregation", + "in": "query", + "description": "The aggregation", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.metricname" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.interval" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.metricNamespace" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.timespan" }, { - "$ref": "#/parameters/ApiVersion" + "name": "body", + "in": "body", + "description": "Metric dimension filter ", + "required": false, + "schema": { + "$ref": "#/definitions/MetricRequestPayload" + } } ], "responses": { "200": { - "description": "The requested test run details", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/TestRun" + "$ref": "#/definitions/Metrics" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Get a test run": { - "$ref": "./examples/GetTestRun.json" + "List the metric values for a load test run.": { + "$ref": "./examples/ListTestRunMetrics.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/test-runs/{testRunId}/server-metrics-config": { + "get": { + "operationId": "LoadTestRun_GetServerMetricsConfig", "tags": [ "TestRun" ], - "summary": "Delete a test run by its name.", - "operationId": "LoadTestRun_DeleteTestRun", - "produces": [ - "application/json" - ], + "summary": "Get associated server metrics configuration for the given test run.", + "description": "Get associated server metrics configuration for the given test run.", "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersion" + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" } ], "responses": { - "204": { - "description": "The test run is deleted." + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRunServerMetricConfig" + } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Delete a test run": { - "$ref": "./examples/DeleteTestRun.json" + "List server metrics configuration for the given test run.": { + "$ref": "./examples/ListTestRunServerMetricsConfig.json" } } - } - }, - "/test-runs/{testRunId}/files/{fileName}": { - "get": { + }, + "patch": { + "operationId": "LoadTestRun_CreateOrUpdateServerMetricsConfig", "tags": [ "TestRun" ], - "summary": "Get test run file by file name.", - "operationId": "LoadTestRun_GetTestRunFile", - "produces": [ - "application/json" + "summary": "Configure server metrics for a test run", + "description": "Configure server metrics for a test run", + "consumes": [ + "application/merge-patch+json" ], "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { + "name": "testRunId", "in": "path", - "name": "fileName", - "description": "Test run file name with file extension", + "description": "Unique Id for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", "required": true, - "type": "string" + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" }, { - "$ref": "#/parameters/ApiVersion" + "name": "body", + "in": "body", + "description": "Server metric configuration model.", + "required": true, + "schema": { + "$ref": "#/definitions/TestRunServerMetricConfig" + } } ], "responses": { "200": { - "description": "The URL for the requested test run file", + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRunServerMetricConfig" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", "schema": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestRunServerMetricConfig" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Get a test run file by an unique name": { - "$ref": "./examples/GetTestRunFile.json" + "Add or update server metrics configuration for a load test run": { + "$ref": "./examples/CreateOrUpdateTestRunServerMetricsConfig.json" } } } }, - "/test-runs": { + "/tests": { "get": { + "operationId": "LoadTestAdministration_ListTests", "tags": [ - "TestRun" - ], - "summary": "Get all test runs with given filters", - "operationId": "LoadTestRun_ListTestRuns", - "produces": [ - "application/json" + "Test" ], + "summary": "Get all load tests by the fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", + "description": "Get all load tests by the fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", "parameters": [ { - "in": "query", - "name": "orderby", - "description": "Sort on the supported fields in (field asc/desc) format. eg: executedDateTime asc. Supported fields - executedDateTime", - "type": "string" - }, - { - "in": "query", - "name": "search", - "description": "Prefix based, case sensitive search on searchable fields - description, executedUser. For example, to search for a test run, with description 500 VUs, the search parameter can be 500.", - "type": "string" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "$ref": "#/parameters/TestIdQueryParameter" + "$ref": "#/parameters/ListTestQueryParams.orderby" }, { - "in": "query", - "name": "executionFrom", - "description": "Start DateTime(ISO 8601 literal format) of test-run execution time filter range.", - "type": "string", - "format": "date-time" + "$ref": "#/parameters/ListTestQueryParams.search" }, { - "in": "query", - "name": "executionTo", - "description": "End DateTime(ISO 8601 literal format) of test-run execution time filter range.", - "type": "string", - "format": "date-time" + "$ref": "#/parameters/ListTestQueryParams.lastModifiedStartTime" }, { - "in": "query", - "name": "status", - "description": "Comma separated list of test run status.", - "type": "string" + "$ref": "#/parameters/ListTestQueryParams.lastModifiedEndTime" }, { - "in": "query", - "name": "maxpagesize", - "description": "Number of results in response.", - "type": "integer", - "format": "int32", - "default": 50 - }, - { - "$ref": "#/parameters/ApiVersion" + "$ref": "#/parameters/ListTestQueryParams.maxpagesize" } ], "responses": { "200": { - "description": "The requested test runs", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/TestRunsList" + "$ref": "#/definitions/PagedTest" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Search test runs with filters": { - "$ref": "./examples/ListTestRuns.json" + "Get all load tests.": { + "$ref": "./examples/ListTests.json" } }, "x-ms-pageable": { @@ -974,2285 +941,2912 @@ } } }, - "/test-runs/{testRunId}:stop": { - "post": { + "/tests/{testId}": { + "get": { + "operationId": "LoadTestAdministration_GetTest", "tags": [ - "TestRun" - ], - "summary": "Stop test run by name.", - "operationId": "LoadTestRun_StopTestRun", - "produces": [ - "application/json" + "Test" ], + "summary": "Get load test details by test Id", + "description": "Get load test details by test Id", "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersion" + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" } ], "responses": { "200": { - "description": "The requested test run is getting cancelled. Call GET /test-runs/{testRunId} to check the status.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/TestRun" + "$ref": "#/definitions/Test" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Stop a test run": { - "$ref": "./examples/StopTestRun.json" + "Get a load test.": { + "$ref": "./examples/GetTest.json" } } - } - }, - "/test-runs/{testRunId}/metric-namespaces": { - "get": { + }, + "patch": { + "operationId": "LoadTestAdministration_CreateOrUpdateTest", "tags": [ - "TestRun" + "Test" ], - "summary": "List the metric namespaces for a load test run.", - "operationId": "LoadTestRun_ListMetricNamespaces", - "produces": [ - "application/json" + "summary": "Create a new test or update an existing test by providing the test Id.", + "description": "Create a new test or update an existing test by providing the test Id.", + "consumes": [ + "application/merge-patch+json" ], "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" }, { - "$ref": "#/parameters/ApiVersion" + "name": "body", + "in": "body", + "description": "The resource instance.", + "required": true, + "schema": { + "$ref": "#/definitions/TestCreateOrUpdate" + }, + "x-ms-client-name": "resource" } ], "responses": { "200": { - "description": "Successful request to get the list of metric namespaces", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/MetricNamespaceCollection" + "$ref": "#/definitions/Test" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/Test" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Lists the metric namespaces for a load test run.": { - "$ref": "./examples/ListTestRunMetricsNamespaces.json" + "Create or update a load test": { + "$ref": "./examples/CreateOrUpdateTest.json" } } - } - }, - "/test-runs/{testRunId}/metric-definitions": { - "get": { + }, + "delete": { + "operationId": "LoadTestAdministration_DeleteTest", "tags": [ - "TestRun" - ], - "summary": "List the metric definitions for a load test run.", - "operationId": "LoadTestRun_ListMetricDefinitions", - "produces": [ - "application/json" + "Test" ], + "summary": "Delete a test by its test Id.", + "description": "Delete a test by its test Id.", "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "in": "query", - "name": "metricNamespace", - "description": "Metric namespace to query metric definitions for.", + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/ApiVersion" + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" } ], "responses": { - "200": { - "description": "The requested load test metrics definition", - "schema": { - "$ref": "#/definitions/MetricDefinitionCollection" - } + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Lists the metric definitions for a load test run.": { - "$ref": "./examples/ListTestRunMetricsDefinitions.json" + "Delete a load test": { + "$ref": "./examples/DeleteTest.json" } } } }, - "/test-runs/{testRunId}/metrics": { - "post": { + "/tests/{testId}/app-components": { + "get": { + "operationId": "LoadTestAdministration_GetAppComponents", "tags": [ - "TestRun" - ], - "summary": "List the metric values for a load test run.", - "operationId": "LoadTestRun_ListMetrics", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" + "Test" ], + "summary": "Get associated app component (collection of azure resources) for the given test.", + "description": "Get associated app component (collection of azure resources) for the given test.", "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" - }, - { - "in": "query", - "name": "aggregation", - "description": "The aggregation", - "type": "string" - }, - { - "in": "query", - "name": "interval", - "description": "The interval (i.e. timegrain) of the query.", - "type": "string", - "default": "PT1M", - "enum": [ - "PT5S", - "PT10S", - "PT1M", - "PT5M", - "PT1H" - ], - "x-ms-enum": { - "name": "interval", - "modelAsString": true, - "values": [ - { - "value": "PT5S", - "description": "5 seconds, available only if test run duration is less than 10 minutes" - }, - { - "value": "PT10S", - "description": "10 seconds, available only if test run duration is less than 10 minutes" - }, - { - "value": "PT1M", - "description": "1 minute" - }, - { - "value": "PT5M", - "description": "5 minutes, available only if test run duration is greater than 1 minute" - }, - { - "value": "PT1H", - "description": "1 hour, available only if test run duration is greater than 1 minute" - } - ] - } - }, - { - "in": "query", - "name": "metricname", - "description": "Metric name", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "metricNamespace", - "description": "Metric namespace to query metric definitions for.", - "required": true, - "type": "string" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "in": "query", - "name": "timespan", - "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.", + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "in": "body", - "name": "body", - "description": "Metric dimension filter ", - "schema": { - "$ref": "#/definitions/MetricRequestPayload" - } + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" } ], "responses": { "200": { - "description": "The requested load test run metrics", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/Metrics" + "$ref": "#/definitions/TestAppComponents" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Lists the metric values for a load test run.": { - "$ref": "./examples/ListTestRunMetrics.json" + "Get associated app component for the given test.": { + "$ref": "./examples/ListTestAppComponents.json" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } - } - }, - "/test-runs/{testRunId}/metric-dimensions/{name}/values": { - "get": { + }, + "patch": { + "operationId": "LoadTestAdministration_CreateOrUpdateAppComponents", "tags": [ - "TestRun" + "Test" ], - "summary": "List the dimension values for the given metric dimension name.", - "operationId": "LoadTestRun_ListMetricDimensionValues", - "produces": [ - "application/json" + "summary": "Add an app component to a test.", + "description": "Add an app component to a test by providing the resource Id, name and type.", + "consumes": [ + "application/merge-patch+json" ], "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { + "name": "testId", "in": "path", - "name": "name", - "description": "Dimension name", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", "required": true, - "type": "string" - }, - { - "in": "query", - "name": "interval", - "description": "The interval (i.e. timegrain) of the query.", "type": "string", - "default": "PT1M", - "enum": [ - "PT5S", - "PT10S", - "PT1M", - "PT5M", - "PT1H" - ], - "x-ms-enum": { - "name": "interval", - "modelAsString": true, - "values": [ - { - "value": "PT5S", - "description": "5 seconds, available only if test run duration is less than 10 minutes" - }, - { - "value": "PT10S", - "description": "10 seconds, available only if test run duration is less than 10 minutes" - }, - { - "value": "PT1M", - "description": "1 minute" - }, - { - "value": "PT5M", - "description": "5 minutes, available only if test run duration is greater than 1 minute" - }, - { - "value": "PT1H", - "description": "1 hour, available only if test run duration is greater than 1 minute" - } - ] - } - }, - { - "in": "query", - "name": "metricname", - "description": "Metric name", - "required": true, - "type": "string" - }, - { - "in": "query", - "name": "metricNamespace", - "description": "Metric namespace to query metric definitions for.", - "required": true, - "type": "string" + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" }, { - "in": "query", - "name": "timespan", - "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.", + "name": "body", + "in": "body", + "description": "App Component model.", "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/ApiVersion" + "schema": { + "$ref": "#/definitions/TestAppComponentsUpdate" + } } ], "responses": { "200": { - "description": "The requested dimension values for the given dimension.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/DimensionValueList" + "$ref": "#/definitions/TestAppComponents" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestAppComponents" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Lists the metric dimension values for a load test run.": { - "$ref": "./examples/ListMetricDimensionValues.json" + "Add or update app components to a load test": { + "$ref": "./examples/CreateOrUpdateTestAppComponents.json" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/test-runs/{testRunId}/app-components": { - "patch": { + "/tests/{testId}/files": { + "get": { + "operationId": "LoadTestAdministration_ListTestFiles", "tags": [ - "TestRun" - ], - "summary": "Associate an app component (collection of azure resources) to a test run", - "operationId": "LoadTestRun_CreateOrUpdateAppComponents", - "consumes": [ - "application/merge-patch+json" - ], - "produces": [ - "application/json" + "Test" ], + "summary": "Get all test files.", + "description": "Get all test files.", "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" - }, - { - "$ref": "#/parameters/ApiVersion" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "in": "body", - "name": "body", - "description": "App Component model.", + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, - "schema": { - "$ref": "#/definitions/TestRunAppComponents" - } + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" } ], "responses": { "200": { - "description": "The app component is updated.", - "schema": { - "$ref": "#/definitions/TestRunAppComponents" - } - }, - "201": { - "description": "The app component is created.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/TestRunAppComponents" + "$ref": "#/definitions/PagedTestFileInfo" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Create or update app components for a test run": { - "$ref": "./examples/CreateOrUpdateTestRunAppComponents.json" + "Get all test files.": { + "$ref": "./examples/ListTestFiles.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, + } + }, + "/tests/{testId}/files/{fileName}": { "get": { + "operationId": "LoadTestAdministration_GetTestFile", "tags": [ - "TestRun" - ], - "summary": "Get associated app component (collection of azure resources) for the given test run.", - "operationId": "LoadTestRun_GetAppComponents", - "produces": [ - "application/json" + "Test" ], + "summary": "Get all the files that are associated with a test.", + "description": "Get all the files that are associated with a test.", "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" }, { - "$ref": "#/parameters/ApiVersion" + "name": "fileName", + "in": "path", + "description": "Name of the file.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "The requested app component.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/TestRunAppComponents" + "$ref": "#/definitions/TestFileInfo" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "List app components for a test run": { - "$ref": "./examples/ListTestRunAppComponents.json" + "Get a file from a load test": { + "$ref": "./examples/GetTestFile.json" } } - } - }, - "/test-runs/{testRunId}/server-metrics-config": { - "patch": { + }, + "put": { + "operationId": "LoadTestAdministration_UploadTestFile", "tags": [ - "TestRun" + "Test" ], - "summary": "Configure server metrics for a test run", - "operationId": "LoadTestRun_CreateOrUpdateServerMetricsConfig", + "summary": "Upload input file for a given test Id. File size can't be more than 50 MB.\nExisting file with same name for the given test will be overwritten. File\nshould be provided in the request body as application/octet-stream.", + "description": "Upload input file for a given test Id. File size can't be more than 50 MB.\nExisting file with same name for the given test will be overwritten. File\nshould be provided in the request body as application/octet-stream.", "consumes": [ - "application/merge-patch+json" - ], - "produces": [ - "application/json" + "application/octet-stream" ], "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersion" + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "fileName", + "in": "path", + "description": "Unique name for test file with file extension like : App.jmx", + "required": true, + "type": "string" + }, + { + "name": "fileType", + "in": "query", + "description": "File type", + "required": false, + "type": "string", + "enum": [ + "JMX_FILE", + "USER_PROPERTIES", + "ADDITIONAL_ARTIFACTS" + ], + "x-ms-enum": { + "name": "FileType", + "modelAsString": true, + "values": [ + { + "name": "JMX_FILE", + "value": "JMX_FILE", + "description": "If the file is a JMX script." + }, + { + "name": "USER_PROPERTIES", + "value": "USER_PROPERTIES", + "description": "If the file is a user properties file." + }, + { + "name": "ADDITIONAL_ARTIFACTS", + "value": "ADDITIONAL_ARTIFACTS", + "description": "If the file is not among any of the other supported file types." + } + ] + } }, { - "in": "body", "name": "body", - "description": "Server metric configuration model.", + "in": "body", + "description": "The file content as application/octet-stream.", "required": true, "schema": { - "$ref": "#/definitions/TestRunServerMetricConfig" + "type": "string", + "format": "binary" } } ], "responses": { - "200": { - "description": "The server metrics config is updated.", + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", "schema": { - "$ref": "#/definitions/TestRunServerMetricConfig" + "$ref": "#/definitions/TestFileInfo" } }, - "201": { - "description": "The server metrics config is created.", + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/TestRunServerMetricConfig" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } } + } + }, + "x-ms-examples": { + "Upload input file for a given test name.": { + "$ref": "./examples/UploadTestFile.json" + } + } + }, + "delete": { + "operationId": "LoadTestAdministration_DeleteTestFile", + "tags": [ + "Test" + ], + "summary": "Delete file by the file name for a test", + "description": "Delete file by the file name for a test", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "fileName", + "in": "path", + "description": "Name of the file.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "Configure server metrics config for a test run": { - "$ref": "./examples/CreateOrUpdateTestRunServerMetricsConfig.json" + "Delete a file from a load test": { + "$ref": "./examples/DeleteTestFile.json" } } - }, + } + }, + "/tests/{testId}/server-metrics-config": { "get": { + "operationId": "LoadTestAdministration_GetServerMetricsConfig", "tags": [ - "TestRun" + "Test" ], - "summary": "List server metrics configuration for the given test run.", - "operationId": "LoadTestRun_GetServerMetricsConfig", - "produces": [ - "application/json" + "summary": "List server metrics configuration for the given test.", + "description": "List server metrics configuration for the given test.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestServerMetricConfig" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List server metrics configuration for the given test.": { + "$ref": "./examples/ListTestServerMetricsConfig.json" + } + } + }, + "patch": { + "operationId": "LoadTestAdministration_CreateOrUpdateServerMetricsConfig", + "tags": [ + "Test" + ], + "summary": "Configure server metrics for a test", + "description": "Configure server metrics for a test", + "consumes": [ + "application/merge-patch+json" ], "parameters": [ { - "$ref": "#/parameters/TestRunIdPathParameter" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" }, { - "$ref": "#/parameters/ApiVersion" + "name": "body", + "in": "body", + "description": "Server metric configuration model.", + "required": true, + "schema": { + "$ref": "#/definitions/TestServerMetricConfigUpdate" + } } ], "responses": { "200": { - "description": "Requested server metrics configuration", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/TestRunServerMetricConfig" + "$ref": "#/definitions/TestServerMetricConfig" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestServerMetricConfig" } }, "default": { - "description": "Load Testing service error response.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorResponseBody" + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { - "description": "The error code for specific error that occurred.", - "type": "string" + "type": "string", + "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { - "List server metrics configuration for a test run": { - "$ref": "./examples/ListTestRunServerMetricsConfig.json" + "Add or update server metrics configuration for a load test.": { + "$ref": "./examples/CreateOrUpdateTestServerMetricsConfig.json" } } } } }, "definitions": { + "AggregationType": { + "type": "string", + "description": "Aggregation type.", + "enum": [ + "Average", + "Count", + "None", + "Total", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "x-ms-enum": { + "name": "AggregationType", + "modelAsString": true, + "values": [ + { + "name": "Average", + "value": "Average", + "description": "Average value." + }, + { + "name": "Count", + "value": "Count", + "description": "Total count." + }, + { + "name": "None", + "value": "None", + "description": "Aggregation will be average in this case." + }, + { + "name": "Total", + "value": "Total", + "description": "Total sum." + }, + { + "name": "Percentile90", + "value": "Percentile90", + "description": "90th percentile." + }, + { + "name": "Percentile95", + "value": "Percentile95", + "description": "95th percentile." + }, + { + "name": "Percentile99", + "value": "Percentile99", + "description": "99th percentile." + } + ] + } + }, "AppComponent": { - "description": "An Azure resource object (Refer azure generic resource model : https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)", "type": "object", + "description": "An Azure resource object (Refer azure generic resource model :https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)", "properties": { "resourceId": { - "description": "fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}", "type": "string", + "description": "fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}", "readOnly": true }, "resourceName": { - "description": "Azure resource name, required while creating the app component.", - "type": "string" + "type": "string", + "description": "Azure resource name, required while creating the app component." }, "resourceType": { - "description": "Azure resource type, required while creating the app component.", - "type": "string" + "type": "string", + "description": "Azure resource type, required while creating the app component." }, "displayName": { - "description": "Azure resource display name", - "type": "string" + "type": "string", + "description": "Azure resource display name" }, "resourceGroup": { - "description": "Resource group name of the Azure resource", "type": "string", + "description": "Resource group name of the Azure resource", "readOnly": true }, "subscriptionId": { - "description": "Subscription Id of the Azure resource", "type": "string", + "description": "Subscription Id of the Azure resource", "readOnly": true }, "kind": { - "description": "Kind of Azure resource type", - "type": "string" + "type": "string", + "description": "Kind of Azure resource type" } - } + }, + "required": [ + "resourceId", + "resourceName", + "resourceType" + ] }, - "CertificateMetadata": { - "description": "Certificates metadata", + "AppComponentUpdate": { "type": "object", + "description": "An Azure resource object (Refer azure generic resource model :https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)", "properties": { - "value": { - "description": "The value of the certificate for respective type", - "type": "string" + "resourceName": { + "type": "string", + "description": "Azure resource name, required while creating the app component." }, - "type": { - "description": "Type of certificate", - "enum": [ - "AKV_CERT_URI" - ], - "type": "string", - "x-ms-enum": { - "name": "CertificateType", - "modelAsString": true, - "values": [ - { - "value": "AKV_CERT_URI", - "description": "If the certificate is stored in an Azure Key Vault" - } - ] - } + "resourceType": { + "type": "string", + "description": "Azure resource type, required while creating the app component." }, - "name": { - "description": "Name of the certificate.", - "type": "string" + "displayName": { + "type": "string", + "description": "Azure resource display name" + }, + "kind": { + "type": "string", + "description": "Kind of Azure resource type" } } }, - "DimensionFilter": { - "description": "Dimension name and values to filter", + "Azure.Core.Foundations.Error": { "type": "object", + "description": "The error object.", "properties": { - "name": { - "description": "The dimension name", - "type": "string" + "code": { + "type": "string", + "description": "One of a server-defined set of error codes." }, - "values": { - "description": "The dimension values. Maximum values can be 20.", + "message": { + "type": "string", + "description": "A human-readable representation of the error." + }, + "target": { + "type": "string", + "description": "The target of the error." + }, + "details": { "type": "array", + "description": "An array of details about specific errors that led to this reported error.", "items": { - "type": "string" - } + "$ref": "#/definitions/Azure.Core.Foundations.Error" + }, + "x-ms-identifiers": [] + }, + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "An object containing more specific information than the current object about the error." } - } - }, - "DimensionValue": { - "description": "Represents a metric dimension value.", - "type": "object", + }, + "required": [ + "code", + "message" + ] + }, + "Azure.Core.Foundations.ErrorResponse": { + "type": "object", + "description": "A response containing error details.", "properties": { - "name": { - "description": "The name of the dimension.", - "type": "string" + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "The error object." + } + }, + "required": [ + "error" + ] + }, + "Azure.Core.Foundations.InnerError": { + "type": "object", + "description": "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.", + "properties": { + "code": { + "type": "string", + "description": "One of a server-defined set of error codes." }, - "value": { - "description": "The value of the dimension.", - "type": "string" + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "Inner error." } } }, - "DimensionValueList": { - "description": "Metrics dimension values.", + "CertificateMetadata": { "type": "object", + "description": "Certificates metadata", "properties": { "value": { - "description": "The dimension values", - "type": "array", - "items": { - "type": "string" - } + "type": "string", + "description": "The value of the certificate for respective type" }, - "nextLink": { - "description": "Link for the next set of values in case of paginated results, if applicable", - "type": "string" + "type": { + "$ref": "#/definitions/CertificateType", + "description": "Type of certificate" + }, + "name": { + "type": "string", + "description": "Name of the certificate." } } }, - "Error": { - "description": "Error from a REST request.", - "required": [ - "code", - "message" + "CertificateType": { + "type": "string", + "description": "Types of certificates supported.", + "enum": [ + "AKV_CERT_URI" ], + "x-ms-enum": { + "name": "CertificateType", + "modelAsString": true, + "values": [ + { + "name": "AKV_CERT_URI", + "value": "AKV_CERT_URI", + "description": "If the certificate is stored in an Azure Key Vault." + } + ] + } + }, + "DimensionFilter": { "type": "object", + "description": "Dimension name and values to filter", "properties": { - "code": { - "description": "The error code.", - "type": "string" - }, - "message": { - "description": "The error message.", - "type": "string" - }, - "target": { - "description": "The error target.", - "type": "string" + "name": { + "type": "string", + "description": "The dimension name" }, - "details": { - "description": "Additional details and inner errors.", + "values": { "type": "array", + "description": "The dimension values. Maximum values can be 20.", "items": { - "$ref": "#/definitions/Error" + "type": "string" } } } }, - "ErrorDetails": { - "description": "Error details if there is any failure in load test run", + "DimensionValue": { "type": "object", + "description": "Represents a metric dimension value.", "properties": { - "message": { - "description": "Error details in case test run was not successfully run.", + "name": { "type": "string", - "readOnly": true + "description": "The name of the dimension." + }, + "value": { + "type": "string", + "description": "The value of the dimension." } } }, - "ErrorResponseBody": { - "description": "The definition of an error object.", - "required": [ - "error" - ], + "DimensionValueList": { "type": "object", + "description": "Metrics dimension values.", "properties": { - "error": { - "$ref": "#/definitions/Error" + "value": { + "type": "array", + "description": "The dimension value", + "items": { + "type": "string" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "Link for the next set of values in case of paginated results, if applicable." } } }, - "FileInfo": { - "description": "File info", + "ErrorDetails": { "type": "object", + "description": "Error details if there is any failure in load test run", "properties": { - "url": { - "description": "File URL.", - "type": "string" - }, - "fileName": { - "description": "Name of the file.", - "type": "string" - }, - "fileType": { - "description": "File type", - "enum": [ - "JMX_FILE", - "USER_PROPERTIES", - "ADDITIONAL_ARTIFACTS" - ], - "type": "string", - "x-ms-enum": { - "name": "FileType", - "modelAsString": true, - "values": [ - { - "value": "JMX_FILE", - "description": "If file is jmx script" - }, - { - "value": "USER_PROPERTIES", - "description": "If file is user properties" - }, - { - "value": "ADDITIONAL_ARTIFACTS", - "description": "If file is not any of other supported type" - } - ] - } - }, - "expireDateTime": { - "format": "date-time", - "description": "Expiry time of the file (ISO 8601 literal format)", - "type": "string" - }, - "validationStatus": { - "description": "Validation status of the file", - "enum": [ - "NOT_VALIDATED", - "VALIDATION_SUCCESS", - "VALIDATION_FAILURE", - "VALIDATION_INITIATED", - "VALIDATION_NOT_REQUIRED" - ], - "type": "string", - "x-ms-enum": { - "name": "FileStatus", - "modelAsString": true, - "values": [ - { - "value": "NOT_VALIDATED", - "description": "File is not validated." - }, - { - "value": "VALIDATION_SUCCESS", - "description": "File is validated." - }, - { - "value": "VALIDATION_FAILURE", - "description": "File validation is failed." - }, - { - "value": "VALIDATION_INITIATED", - "description": "File validation is in progress." - }, - { - "value": "VALIDATION_NOT_REQUIRED", - "description": "Validation is not required." - } - ] - } - }, - "validationFailureDetails": { - "description": "Validation failure error details", - "type": "string" + "message": { + "type": "string", + "description": "Error details in case test run was not successfully run.", + "readOnly": true } } }, - "FileInfoList": { - "description": "Collection of files.", - "required": [ - "value" + "FileStatus": { + "type": "string", + "description": "File status.", + "enum": [ + "NOT_VALIDATED", + "VALIDATION_SUCCESS", + "VALIDATION_FAILURE", + "VALIDATION_INITIATED", + "VALIDATION_NOT_REQUIRED" ], - "type": "object", - "properties": { - "value": { - "description": "List of file info.", - "type": "array", - "items": { - "$ref": "#/definitions/FileInfo" + "x-ms-enum": { + "name": "FileStatus", + "modelAsString": true, + "values": [ + { + "name": "NOT_VALIDATED", + "value": "NOT_VALIDATED", + "description": "File is not validated." + }, + { + "name": "VALIDATION_SUCCESS", + "value": "VALIDATION_SUCCESS", + "description": "File is validated." + }, + { + "name": "VALIDATION_FAILURE", + "value": "VALIDATION_FAILURE", + "description": "File validation is failed." + }, + { + "name": "VALIDATION_INITIATED", + "value": "VALIDATION_INITIATED", + "description": "File validation is in progress." + }, + { + "name": "VALIDATION_NOT_REQUIRED", + "value": "VALIDATION_NOT_REQUIRED", + "description": "Validation is not required." } - }, - "nextLink": { - "description": "Link for the next list of file URLs, if applicable", - "type": "string" - } + ] + } + }, + "FileType": { + "type": "string", + "description": "Types of file supported.", + "enum": [ + "JMX_FILE", + "USER_PROPERTIES", + "ADDITIONAL_ARTIFACTS" + ], + "x-ms-enum": { + "name": "FileType", + "modelAsString": true, + "values": [ + { + "name": "JMX_FILE", + "value": "JMX_FILE", + "description": "If the file is a JMX script." + }, + { + "name": "USER_PROPERTIES", + "value": "USER_PROPERTIES", + "description": "If the file is a user properties file." + }, + { + "name": "ADDITIONAL_ARTIFACTS", + "value": "ADDITIONAL_ARTIFACTS", + "description": "If the file is not among any of the other supported file types." + } + ] } }, "LoadTestConfiguration": { - "description": "The load test configuration.", "type": "object", + "description": "Configurations for the load test.", "properties": { "engineInstances": { + "type": "integer", "format": "int32", - "description": "The number of engine instances to execute load test. Supported values are in range of 1-45. Required for creating a new test.", - "type": "integer" + "description": "The number of engine instances to execute load test. Supported values are in range of 1-400. Required for creating a new test." }, "splitAllCSVs": { - "description": "If false, Azure Load Testing copies and processes your input files unmodified across all test engine instances. If true, Azure Load Testing splits the CSV input data evenly across all engine instances. If you provide multiple CSV files, each file will be split evenly.", - "default": false, - "type": "boolean" + "type": "boolean", + "description": "If false, Azure Load Testing copies and processes your input files unmodified\nacross all test engine instances. If true, Azure Load Testing splits the CSV\ninput data evenly across all engine instances. If you provide multiple CSV\nfiles, each file will be split evenly.", + "default": false }, "quickStartTest": { - "description": "If true, optionalLoadTestConfig is required and JMX script for the load test is not required to upload.", - "default": false, - "type": "boolean" + "type": "boolean", + "description": "If true, optionalLoadTestConfig is required and JMX script for the load test is\nnot required to upload.", + "default": false }, "optionalLoadTestConfig": { - "$ref": "#/definitions/OptionalLoadTestConfig" + "$ref": "#/definitions/OptionalLoadTestConfig", + "description": "Configuration for quick load test" } } }, "MetricAvailability": { - "description": "Metric availability specifies the time grain (aggregation interval or frequency)", "type": "object", + "description": "Metric availability specifies the time grain (aggregation interval or frequency)", "properties": { "timeGrain": { - "description": "The time grain specifies the aggregation interval for the metric. Expressed as a duration 'PT1M', 'PT1H', etc.", - "enum": [ - "PT5S", - "PT10S", - "PT1M", - "PT5M", - "PT1H" - ], - "type": "string", - "x-ms-enum": { - "name": "TimeGrain", - "modelAsString": true, - "values": [ - { - "value": "PT5S", - "description": "5 seconds, available only if test run duration is less than 10 minutes" - }, - { - "value": "PT10S", - "description": "10 seconds, available only if test run duration is less than 10 minutes" - }, - { - "value": "PT1M", - "description": "1 minute" - }, - { - "value": "PT5M", - "description": "5 minutes, available only if test run duration is greater than 1 minute" - }, - { - "value": "PT1H", - "description": "1 hour, available only if test run duration is greater than 1 minute" - } - ] - } + "$ref": "#/definitions/TimeGrain", + "description": "The time grain specifies the aggregation interval for the metric. Expressed as\na duration 'PT1M', 'PT1H', etc." } } }, "MetricDefinition": { - "description": "Metric definition", "type": "object", + "description": "Metric definition", "properties": { "dimensions": { - "description": "List of dimensions", "type": "array", + "description": "List of dimensions", "items": { "$ref": "#/definitions/NameAndDesc" - } + }, + "x-ms-identifiers": [] }, "description": { - "description": "The metric description", - "type": "string" + "type": "string", + "description": "The metric description" }, "name": { - "description": "The metric name", - "type": "string" + "type": "string", + "description": "The metric name" }, "namespace": { - "description": "The namespace the metric belongs to.", - "type": "string" + "type": "string", + "description": "The namespace the metric belongs to." }, "primaryAggregationType": { - "description": "The primary aggregation type value defining how to use the values for display.", - "enum": [ - "Average", - "Count", - "None", - "Total", - "Percentile90", - "Percentile95", - "Percentile99" - ], - "type": "string", - "x-ms-enum": { - "name": "AggregationType", - "modelAsString": true, - "values": [ - { - "value": "Average", - "description": "Average value" - }, - { - "value": "Count", - "description": "Total count" - }, - { - "value": "None", - "description": "Aggregation will be average in this case" - }, - { - "value": "Total", - "description": "Total sum" - }, - { - "value": "Percentile90", - "description": "90th percentile" - }, - { - "value": "Percentile95", - "description": "95th percentile" - }, - { - "value": "Percentile99", - "description": "99th percentile" - } - ] - } + "$ref": "#/definitions/AggregationType", + "description": "The primary aggregation type value defining how to use the values for display." }, "supportedAggregationTypes": { - "description": "The collection of what all aggregation types are supported.", "type": "array", + "description": "The collection of what all aggregation types are supported.", "items": { "type": "string" } }, "unit": { - "description": "The unit of the metric.", - "enum": [ - "NotSpecified", - "Percent", - "Count", - "Seconds", - "Milliseconds", - "Bytes", - "BytesPerSecond", - "CountPerSecond" - ], - "type": "string", - "x-ms-enum": { - "name": "MetricUnit", - "modelAsString": true, - "values": [ - { - "value": "NotSpecified", - "description": "No unit specified" - }, - { - "value": "Percent", - "description": "Percentage" - }, - { - "value": "Count", - "description": "Value count" - }, - { - "value": "Seconds", - "description": "Seconds" - }, - { - "value": "Milliseconds", - "description": "Milliseconds" - }, - { - "value": "Bytes", - "description": "Bytes" - }, - { - "value": "BytesPerSecond", - "description": "Bytes per second" - }, - { - "value": "CountPerSecond", - "description": "Count per second" - } - ] - } + "$ref": "#/definitions/MetricUnit", + "description": "The unit of the metric." }, "metricAvailabilities": { - "description": "Metric availability specifies the time grain (aggregation interval or frequency).", "type": "array", + "description": "Metric availability specifies the time grain (aggregation interval or\nfrequency).", "items": { "$ref": "#/definitions/MetricAvailability" - } + }, + "x-ms-identifiers": [] } } }, "MetricDefinitionCollection": { - "description": "Represents collection of metric definitions.", - "required": [ - "value" - ], "type": "object", + "description": "Represents collection of metric definitions.", "properties": { "value": { - "description": "the values for the metric definitions.", "type": "array", + "description": "the values for the metric definitions.", "items": { "$ref": "#/definitions/MetricDefinition" - } + }, + "x-ms-identifiers": [] } - } + }, + "required": [ + "value" + ] }, "MetricNamespace": { - "description": "Metric namespace class specifies the metadata for a metric namespace.", "type": "object", + "description": "Metric namespace class specifies the metadata for a metric namespace.", "properties": { "description": { - "description": "The namespace description.", - "type": "string" + "type": "string", + "description": "The namespace description." }, "name": { - "description": "The metric namespace name.", - "type": "string" + "type": "string", + "description": "The metric namespace name." } } }, "MetricNamespaceCollection": { - "description": "Represents collection of metric namespaces.", - "required": [ - "value" - ], "type": "object", + "description": "Represents collection of metric namespaces.", "properties": { "value": { - "description": "The values for the metric namespaces.", "type": "array", + "description": "The values for the metric namespaces.", "items": { "$ref": "#/definitions/MetricNamespace" - } + }, + "x-ms-identifiers": [] } - } + }, + "required": [ + "value" + ] }, "MetricRequestPayload": { - "description": "Filters to fetch the set of metric", "type": "object", + "description": "Filters to fetch the set of metric.", "properties": { "filters": { - "description": "Get metrics for specific dimension values. Example: Metric contains dimension like SamplerName, Error. To retrieve all the time series data where SamplerName is equals to HTTPRequest1 or HTTPRequest2, the DimensionFilter value will be {\"SamplerName\", [\"HTTPRequest1\", \"HTTPRequest2\"}", "type": "array", + "description": "Get metrics for specific dimension values. Example: Metric contains dimension\nlike SamplerName, Error. To retrieve all the time series data where SamplerName\nis equals to HTTPRequest1 or HTTPRequest2, the DimensionFilter value will be\n{\"SamplerName\", [\"HTTPRequest1\", \"HTTPRequest2\"}", "items": { "$ref": "#/definitions/DimensionFilter" - } + }, + "x-ms-identifiers": [] } } }, + "MetricUnit": { + "type": "string", + "description": "Metric unit.", + "enum": [ + "NotSpecified", + "Percent", + "Count", + "Seconds", + "Milliseconds", + "Bytes", + "BytesPerSecond", + "CountPerSecond" + ], + "x-ms-enum": { + "name": "MetricUnit", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "No unit specified." + }, + { + "name": "Percent", + "value": "Percent", + "description": "Percentage." + }, + { + "name": "Count", + "value": "Count", + "description": "Value count." + }, + { + "name": "Seconds", + "value": "Seconds", + "description": "Seconds." + }, + { + "name": "Milliseconds", + "value": "Milliseconds", + "description": "Milliseconds" + }, + { + "name": "Bytes", + "value": "Bytes", + "description": "Bytes" + }, + { + "name": "BytesPerSecond", + "value": "BytesPerSecond", + "description": "Bytes per second" + }, + { + "name": "CountPerSecond", + "value": "CountPerSecond", + "description": "Count per second" + } + ] + } + }, "MetricValue": { - "description": "Represents a metric value.", "type": "object", + "description": "Represents a metric value.", "properties": { "timestamp": { - "description": "The timestamp for the metric value in ISO 8601 format.", - "type": "string" + "type": "string", + "format": "date-time", + "description": "The timestamp for the metric value in RFC 3339 format." }, "value": { + "type": "number", "format": "double", - "description": "The metric value.", - "type": "number" + "description": "The metric value." } } }, "Metrics": { - "description": "The response to a metrics query.", "type": "object", + "description": "The response to a metrics query.", "properties": { "value": { - "description": "Timeseries data for metric query.", "type": "array", + "description": "The TimeSeriesElement items on this page", "items": { "$ref": "#/definitions/TimeSeriesElement" - } + }, + "x-ms-identifiers": [] }, "nextLink": { - "description": "Link for the next set of timeseries in case of paginated results, if applicable", - "type": "string" + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, "NameAndDesc": { - "description": "The name and description", "type": "object", + "description": "The name and description", "properties": { "description": { - "description": "The description", - "type": "string" + "type": "string", + "description": "The description" }, "name": { - "description": "The name", - "type": "string" + "type": "string", + "description": "The name" } } }, "OptionalLoadTestConfig": { - "description": "Optional load test config", "type": "object", + "description": "Configuration for quick load test", "properties": { "endpointUrl": { - "description": "Test URL. Provide the complete HTTP URL. For example, http://contoso-app.azurewebsites.net/login", - "type": "string" + "type": "string", + "description": "Test URL. Provide the complete HTTP URL. For example, https://contoso-app.azurewebsites.net/login" }, "virtualUsers": { + "type": "integer", "format": "int32", - "description": "No of concurrent virtual users", - "type": "integer" + "description": "No of concurrent virtual users." }, "rampUpTime": { + "type": "integer", "format": "int32", - "description": "Ramp up time", - "type": "integer" + "description": "Ramp up time in seconds." }, "duration": { + "type": "integer", "format": "int32", - "description": "Test run duration", - "type": "integer" + "description": "Test run duration in seconds." } } }, - "PassFailCriteria": { - "description": "Pass fail criteria for a test.", - "type": "object", - "properties": { - "passFailMetrics": { - "description": "Map of id and pass fail metrics { id : pass fail metrics }.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/PassFailMetric" + "PFAction": { + "type": "string", + "description": "Action to take on failure of pass/fail criteria.", + "enum": [ + "continue", + "stop" + ], + "x-ms-enum": { + "name": "PFAction", + "modelAsString": true, + "values": [ + { + "name": "continue", + "value": "continue", + "description": "Test will continue to run even if pass fail metric criteria metric gets failed." + }, + { + "name": "stop", + "value": "stop", + "description": "Test run will stop if pass fail criteria metric is not passed." } - } + ] } }, - "PassFailMetric": { - "description": "Pass fail metric", - "type": "object", - "properties": { - "clientMetric": { - "description": "The client metric on which the criteria should be applied.", - "enum": [ - "response_time_ms", - "latency", - "error", - "requests", - "requests_per_sec" - ], - "type": "string", - "x-ms-enum": { - "name": "PFMetrics", - "modelAsString": true, - "values": [ - { - "value": "response_time_ms", - "description": "Pass fail criteria for response time metric" - }, - { - "value": "latency", - "description": "Pass fail criteria for response time metric" - }, - { - "value": "error", - "description": "Pass fail criteria for error metric" - }, - { - "value": "requests", - "description": "Pass fail criteria for total requests" - }, - { - "value": "requests_per_sec", - "description": "Pass fail criteria for request rate." - } - ] + "PFAgFunc": { + "type": "string", + "description": "Aggregation functions for pass/fail criteria.", + "enum": [ + "count", + "percentage", + "avg", + "p50", + "p90", + "p95", + "p99", + "min", + "max" + ], + "x-ms-enum": { + "name": "PFAgFunc", + "modelAsString": true, + "values": [ + { + "name": "count", + "value": "count", + "description": "Criteria applies for count value." + }, + { + "name": "percentage", + "value": "percentage", + "description": "Criteria applies for given percentage value." + }, + { + "name": "avg", + "value": "avg", + "description": "Criteria applies for avg value." + }, + { + "name": "p50", + "value": "p50", + "description": "Criteria applies for 50th percentile value." + }, + { + "name": "p90", + "value": "p90", + "description": "Criteria applies for 90th percentile value." + }, + { + "name": "p95", + "value": "p95", + "description": "Criteria applies for 95th percentile value." + }, + { + "name": "p99", + "value": "p99", + "description": "Criteria applies for 99th percentile value." + }, + { + "name": "min", + "value": "min", + "description": "Criteria applies for minimum value." + }, + { + "name": "max", + "value": "max", + "description": "Criteria applies for maximum value." + } + ] + } + }, + "PFMetrics": { + "type": "string", + "description": "Metrics for pass/fail criteria.", + "enum": [ + "response_time_ms", + "latency", + "error", + "requests", + "requests_per_sec" + ], + "x-ms-enum": { + "name": "PFMetrics", + "modelAsString": true, + "values": [ + { + "name": "response_time_ms", + "value": "response_time_ms", + "description": "Pass fail criteria for response time metric in milliseconds." + }, + { + "name": "latency", + "value": "latency", + "description": "Pass fail criteria for latency metric in milliseconds." + }, + { + "name": "error", + "value": "error", + "description": "Pass fail criteria for error metric." + }, + { + "name": "requests", + "value": "requests", + "description": "Pass fail criteria for total requests." + }, + { + "name": "requests_per_sec", + "value": "requests_per_sec", + "description": "Pass fail criteria for request per second." + } + ] + } + }, + "PFResult": { + "type": "string", + "description": "Pass/fail criteria result.", + "enum": [ + "passed", + "undetermined", + "failed" + ], + "x-ms-enum": { + "name": "PFResult", + "modelAsString": true, + "values": [ + { + "name": "passed", + "value": "passed", + "description": "Given pass fail criteria metric has passed." + }, + { + "name": "undetermined", + "value": "undetermined", + "description": "Given pass fail criteria metric couldn't determine." + }, + { + "name": "failed", + "value": "failed", + "description": "Given pass fail criteria metric has failed." } + ] + } + }, + "PFTestResult": { + "type": "string", + "description": "Test result based on pass/fail criteria.", + "enum": [ + "PASSED", + "NOT_APPLICABLE", + "FAILED" + ], + "x-ms-enum": { + "name": "PFTestResult", + "modelAsString": true, + "values": [ + { + "name": "PASSED", + "value": "PASSED", + "description": "Pass/fail criteria has passed." + }, + { + "name": "NOT_APPLICABLE", + "value": "NOT_APPLICABLE", + "description": "Pass/fail criteria is not applicable." + }, + { + "name": "FAILED", + "value": "FAILED", + "description": "Pass/fail criteria has failed." + } + ] + } + }, + "PagedTest": { + "type": "object", + "description": "Paged collection of Test items", + "properties": { + "value": { + "type": "array", + "description": "The Test items on this page", + "items": { + "$ref": "#/definitions/Test" + }, + "x-ms-identifiers": [] }, - "aggregate": { - "description": "The aggregation function to be applied on the client metric. Allowed functions - ‘percentage’ - for error metric , ‘avg’, ‘p50’, ‘p90’, ‘p95’, ‘p99’, ‘min’, ‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec, ‘count’ - for requests", - "enum": [ - "count", - "percentage", - "avg", - "p50", - "p90", - "p95", - "p99", - "min", - "max" - ], - "type": "string", - "x-ms-enum": { - "name": "PFAgFunc", - "modelAsString": true, - "values": [ - { - "value": "count", - "description": "Criteria applies for count value" - }, - { - "value": "percentage", - "description": "Criteria applies for given percentage value" - }, - { - "value": "avg", - "description": "Criteria applies for avg value" - }, - { - "value": "p50", - "description": "Criteria applies for 50th percentile value" - }, - { - "value": "p90", - "description": "Criteria applies for 90th percentile value" - }, - { - "value": "p95", - "description": "Criteria applies for 95th percentile value" - }, - { - "value": "p99", - "description": "Criteria applies for 99th percentile value" - }, - { - "value": "min", - "description": "Criteria applies for minimum value" - }, - { - "value": "max", - "description": "Criteria applies for maximum value" - } - ] + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedTestFileInfo": { + "type": "object", + "description": "Paged collection of TestFileInfo items", + "properties": { + "value": { + "type": "array", + "description": "The TestFileInfo items on this page", + "items": { + "$ref": "#/definitions/TestFileInfo" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedTestRun": { + "type": "object", + "description": "Paged collection of TestRun items", + "properties": { + "value": { + "type": "array", + "description": "The TestRun items on this page", + "items": { + "$ref": "#/definitions/TestRun" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PassFailCriteria": { + "type": "object", + "description": "Pass fail criteria for a test.", + "properties": { + "passFailMetrics": { + "type": "object", + "description": "Map of id and pass fail metrics { id : pass fail metrics }.", + "additionalProperties": { + "$ref": "#/definitions/PassFailMetric" } + } + } + }, + "PassFailMetric": { + "type": "object", + "description": "Pass fail metric", + "properties": { + "clientMetric": { + "$ref": "#/definitions/PFMetrics", + "description": "The client metric on which the criteria should be applied." + }, + "aggregate": { + "$ref": "#/definitions/PFAgFunc", + "description": "The aggregation function to be applied on the client metric. Allowed functions\n- ‘percentage’ - for error metric , ‘avg’, ‘p50’, ‘p90’, ‘p95’, ‘p99’, ‘min’,\n‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec,\n‘count’ - for requests" }, "condition": { - "description": "The comparison operator. Supported types ‘>’, ‘<’ ", - "type": "string" + "type": "string", + "description": "The comparison operator. Supported types ‘>’, ‘<’ " }, "requestName": { - "description": "Request name for which the Pass fail criteria has to be applied ", - "type": "string" + "type": "string", + "description": "Request name for which the Pass fail criteria has to be applied " }, "value": { + "type": "number", "format": "double", - "description": "The value to compare with the client metric. Allowed values - ‘error : [0.0 , 100.0] unit- % ’, response_time_ms and latency : any integer value unit- ms.", - "type": "number" + "description": "The value to compare with the client metric. Allowed values - ‘error : [0.0 ,\n100.0] unit- % ’, response_time_ms and latency : any integer value unit- ms." }, "action": { + "$ref": "#/definitions/PFAction", "description": "Action taken after the threshold is met. Default is ‘continue’.", - "default": "continue", - "enum": [ - "continue", - "stop" - ], - "type": "string", - "x-ms-enum": { - "name": "PFAction", - "modelAsString": true, - "values": [ - { - "value": "continue", - "description": "Test will continue to run even if pass fail metric criteria metric gets failed" - }, - { - "value": "stop", - "description": "Test run will stop if pass fail criteria metric is not passed." - } - ] - } + "default": "continue" }, "actualValue": { + "type": "number", "format": "double", "description": "The actual value of the client metric for the test run.", - "type": "number", "readOnly": true }, "result": { + "$ref": "#/definitions/PFResult", "description": "Outcome of the test run.", - "enum": [ - "passed", - "undetermined", - "failed" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "PFResult", - "modelAsString": true, - "values": [ - { - "value": "passed", - "description": "Given pass fail criteria metric has passed." - }, - { - "value": "undetermined", - "description": "Given pass fail criteria metric couldn't determine." - }, - { - "value": "failed", - "description": "Given pass fail criteria metric has failed." - } - ] - } + "readOnly": true } } }, "ResourceMetric": { - "description": "Associated metric definition for particular metrics of the azure resource ( Refer : https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition).", - "required": [ - "aggregation", - "metricNamespace", - "name", - "resourceId", - "resourceType" - ], "type": "object", + "description": "Associated metric definition for particular metrics of the azure resource (\nRefer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition).", "properties": { "id": { - "description": "Unique name for metric.", "type": "string", + "description": "Unique name for metric.", "readOnly": true }, "resourceId": { - "description": "Azure resource id.", - "type": "string" + "type": "string", + "description": "Azure resource id." }, "metricNamespace": { - "description": "Metric name space.", - "type": "string" + "type": "string", + "description": "Metric name space." }, "displayDescription": { - "description": "Metric description.", - "type": "string" + "type": "string", + "description": "Metric description." }, "name": { - "description": "The invariant value of metric name", - "type": "string" + "type": "string", + "description": "The invariant value of metric name" }, "aggregation": { - "description": "Metric aggregation.", - "type": "string" + "type": "string", + "description": "Metric aggregation." }, "unit": { - "description": "Metric unit.", - "type": "string" + "type": "string", + "description": "Metric unit." + }, + "resourceType": { + "type": "string", + "description": "Azure resource type." + } + }, + "required": [ + "resourceId", + "metricNamespace", + "name", + "aggregation", + "resourceType" + ] + }, + "ResourceMetricUpdate": { + "type": "object", + "description": "Associated metric definition for particular metrics of the azure resource (\nRefer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition).", + "properties": { + "resourceId": { + "type": "string", + "description": "Azure resource id." + }, + "metricNamespace": { + "type": "string", + "description": "Metric name space." + }, + "displayDescription": { + "type": "string", + "description": "Metric description." + }, + "name": { + "type": "string", + "description": "The invariant value of metric name" + }, + "aggregation": { + "type": "string", + "description": "Metric aggregation." + }, + "unit": { + "type": "string", + "description": "Metric unit." + }, + "resourceType": { + "type": "string", + "description": "Azure resource type." + } + } + }, + "Secret": { + "type": "object", + "description": "Secret", + "properties": { + "value": { + "type": "string", + "description": "The value of the secret for the respective type" + }, + "type": { + "$ref": "#/definitions/SecretType", + "description": "Type of secret" + } + } + }, + "SecretType": { + "type": "string", + "description": "Types of secrets supported.", + "enum": [ + "AKV_SECRET_URI", + "SECRET_VALUE" + ], + "x-ms-enum": { + "name": "SecretType", + "modelAsString": true, + "values": [ + { + "name": "AKV_SECRET_URI", + "value": "AKV_SECRET_URI", + "description": "If the secret is stored in an Azure Key Vault." + }, + { + "name": "SECRET_VALUE", + "value": "SECRET_VALUE", + "description": "If the secret value provided as plain text." + } + ] + } + }, + "Status": { + "type": "string", + "description": "Test run status.", + "enum": [ + "ACCEPTED", + "NOTSTARTED", + "PROVISIONING", + "PROVISIONED", + "CONFIGURING", + "CONFIGURED", + "EXECUTING", + "EXECUTED", + "DEPROVISIONING", + "DEPROVISIONED", + "DONE", + "CANCELLING", + "CANCELLED", + "FAILED", + "VALIDATION_SUCCESS", + "VALIDATION_FAILURE" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true, + "values": [ + { + "name": "ACCEPTED", + "value": "ACCEPTED", + "description": "Test run request is accepted." + }, + { + "name": "NOTSTARTED", + "value": "NOTSTARTED", + "description": "Test run is not yet started." + }, + { + "name": "PROVISIONING", + "value": "PROVISIONING", + "description": "Test run is provisioning." + }, + { + "name": "PROVISIONED", + "value": "PROVISIONED", + "description": "Test run is provisioned." + }, + { + "name": "CONFIGURING", + "value": "CONFIGURING", + "description": "Test run is getting configured." + }, + { + "name": "CONFIGURED", + "value": "CONFIGURED", + "description": "Test run configuration is done." + }, + { + "name": "EXECUTING", + "value": "EXECUTING", + "description": "Test run has started executing." + }, + { + "name": "EXECUTED", + "value": "EXECUTED", + "description": "Test run execution is completed." + }, + { + "name": "DEPROVISIONING", + "value": "DEPROVISIONING", + "description": "Test run is getting deprovisioned." + }, + { + "name": "DEPROVISIONED", + "value": "DEPROVISIONED", + "description": "Test run is deprovisioned." + }, + { + "name": "DONE", + "value": "DONE", + "description": "Test run is completed." + }, + { + "name": "CANCELLING", + "value": "CANCELLING", + "description": "Test run is being cancelled." + }, + { + "name": "CANCELLED", + "value": "CANCELLED", + "description": "Test run request is cancelled." + }, + { + "name": "FAILED", + "value": "FAILED", + "description": "Test run request is failed." + }, + { + "name": "VALIDATION_SUCCESS", + "value": "VALIDATION_SUCCESS", + "description": "Test run JMX file is validated." + }, + { + "name": "VALIDATION_FAILURE", + "value": "VALIDATION_FAILURE", + "description": "Test run JMX file validation is failed." + } + ] + } + }, + "Test": { + "type": "object", + "description": "Load test model.", + "properties": { + "passFailCriteria": { + "$ref": "#/definitions/PassFailCriteria", + "description": "Pass fail criteria for a test." + }, + "secrets": { + "type": "object", + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", + "additionalProperties": { + "$ref": "#/definitions/Secret" + } + }, + "certificate": { + "$ref": "#/definitions/CertificateMetadata", + "description": "Certificates metadata." + }, + "environmentVariables": { + "type": "object", + "description": "Environment variables which are defined as a set of pairs.", + "additionalProperties": { + "type": "string" + } + }, + "loadTestConfiguration": { + "$ref": "#/definitions/LoadTestConfiguration", + "description": "The load test configuration." + }, + "inputArtifacts": { + "$ref": "#/definitions/TestInputArtifacts", + "description": "The input artifacts for the test.", + "readOnly": true + }, + "testId": { + "type": "string", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$", + "readOnly": true + }, + "description": { + "type": "string", + "description": "The test description.", + "maxLength": 100 + }, + "displayName": { + "type": "string", + "description": "Display name of a test.", + "minLength": 2, + "maxLength": 50 + }, + "subnetId": { + "type": "string", + "description": "Subnet ID on which the load test instances should run." + }, + "keyvaultReferenceIdentityType": { + "type": "string", + "description": "Type of the managed identity referencing the Key vault." + }, + "keyvaultReferenceIdentityId": { + "type": "string", + "description": "Resource Id of the managed identity referencing the Key vault." + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "testId" + ] + }, + "TestAppComponents": { + "type": "object", + "description": "Test app components", + "properties": { + "components": { + "type": "object", + "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", + "additionalProperties": { + "$ref": "#/definitions/AppComponent" + } + }, + "testId": { + "type": "string", + "description": "Test identifier", + "readOnly": true + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true }, - "resourceType": { - "description": "Azure resource type.", - "type": "string" + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true } - } + }, + "required": [ + "components" + ] }, - "Secret": { - "description": "Secret", + "TestAppComponentsUpdate": { "type": "object", + "description": "Test app components", "properties": { - "value": { - "description": "The value of the secret for the respective type", - "type": "string" - }, - "type": { - "description": "Type of secret", - "enum": [ - "AKV_SECRET_URI", - "SECRET_VALUE" - ], - "type": "string", - "x-ms-enum": { - "name": "SecretType", - "modelAsString": true, - "values": [ - { - "value": "AKV_SECRET_URI", - "description": "If the secret is stored in an Azure Key Vault" - }, - { - "value": "SECRET_VALUE", - "description": "If the Plain text secret value provided" - } - ] + "components": { + "type": "object", + "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", + "additionalProperties": { + "$ref": "#/definitions/AppComponentUpdate" } } } }, - "Test": { - "description": "Load test model", + "TestCreateOrUpdate": { "type": "object", + "description": "Load test model.", "properties": { "passFailCriteria": { - "$ref": "#/definitions/PassFailCriteria" + "$ref": "#/definitions/PassFailCriteria", + "description": "Pass fail criteria for a test." }, "secrets": { - "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the secret is stored in an Azure Key Vault, the value should be the secret identifier and the type should be AKV_SECRET_URI. If the secret is stored elsewhere, the secret value should be provided directly and the type should be SECRET_VALUE.", "type": "object", + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", "additionalProperties": { "$ref": "#/definitions/Secret" } }, "certificate": { - "$ref": "#/definitions/CertificateMetadata" + "$ref": "#/definitions/CertificateMetadata", + "description": "Certificates metadata." }, "environmentVariables": { - "description": "Environment variables which are defined as a set of pairs.", "type": "object", + "description": "Environment variables which are defined as a set of pairs.", "additionalProperties": { "type": "string" } }, "loadTestConfiguration": { - "$ref": "#/definitions/LoadTestConfiguration" - }, - "inputArtifacts": { - "$ref": "#/definitions/TestInputArtifacts" - }, - "testId": { - "description": "Unique test name as identifier.", - "maxLength": 50, - "minLength": 2, - "type": "string", - "readOnly": true + "$ref": "#/definitions/LoadTestConfiguration", + "description": "The load test configuration." }, "description": { + "type": "string", "description": "The test description.", - "maxLength": 100, - "type": "string" + "maxLength": 100 }, "displayName": { + "type": "string", "description": "Display name of a test.", - "maxLength": 50, "minLength": 2, - "type": "string" + "maxLength": 50 }, "subnetId": { - "description": "Subnet ID on which the load test instances should run.", - "type": "string" - }, - "keyvaultReferenceIdentityType": { - "description": "Type of the managed identity referencing the Key vault.", - "type": "string" - }, - "keyvaultReferenceIdentityId": { - "description": "Resource Id of the managed identity referencing the Key vault.", - "type": "string" - }, - "createdDateTime": { - "format": "date-time", - "description": "The creation datetime(ISO 8601 literal format).", - "type": "string", - "readOnly": true - }, - "createdBy": { - "description": "The user that created.", "type": "string", - "readOnly": true + "description": "Subnet ID on which the load test instances should run." }, - "lastModifiedDateTime": { - "format": "date-time", - "description": "The last Modified datetime(ISO 8601 literal format).", + "keyvaultReferenceIdentityType": { "type": "string", - "readOnly": true + "description": "Type of the managed identity referencing the Key vault." }, - "lastModifiedBy": { - "description": "The user that last modified.", + "keyvaultReferenceIdentityId": { "type": "string", - "readOnly": true + "description": "Resource Id of the managed identity referencing the Key vault." } } }, - "TestAppComponents": { - "description": "Test app component", - "required": [ - "components" - ], + "TestFileInfo": { "type": "object", + "description": "Test file info.", "properties": { - "components": { - "description": "Azure resource collection { resource id (fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}) : resource object } ", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/AppComponent" - } + "fileName": { + "type": "string", + "description": "Name of the file." }, - "testId": { - "description": "Test identifier", + "url": { "type": "string", + "format": "uri", + "description": "File URL.", "readOnly": true }, - "createdDateTime": { - "format": "date-time", - "description": "The creation datetime(ISO 8601 literal format).", - "type": "string", + "fileType": { + "$ref": "#/definitions/FileType", + "description": "File type", "readOnly": true }, - "createdBy": { - "description": "The user that created.", + "expireDateTime": { "type": "string", + "format": "date-time", + "description": "Expiry time of the file (RFC 3339 literal format)", "readOnly": true }, - "lastModifiedDateTime": { - "format": "date-time", - "description": "The last Modified datetime(ISO 8601 literal format).", - "type": "string", + "validationStatus": { + "$ref": "#/definitions/FileStatus", + "description": "Validation status of the file", "readOnly": true }, - "lastModifiedBy": { - "description": "The user that last modified.", + "validationFailureDetails": { "type": "string", + "description": "Validation failure error details", "readOnly": true } - } + }, + "required": [ + "fileName" + ] }, "TestInputArtifacts": { - "description": "The input artifacts for the test.", "type": "object", + "description": "The input artifacts for the test.", "properties": { "configFileInfo": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestFileInfo", + "description": "File info" }, "testScriptFileInfo": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestFileInfo", + "description": "File info" }, "userPropFileInfo": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestFileInfo", + "description": "File info" }, "inputArtifactsZipFileInfo": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestFileInfo", + "description": "File info" }, "additionalFileInfo": { - "description": "Additional supported files for the test run", "type": "array", + "description": "Additional supported files for the test run", "items": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestFileInfo" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [] } - }, - "readOnly": true + } }, "TestRun": { - "description": "Load test run model", "type": "object", + "description": "Load test run model", "properties": { + "testRunId": { + "type": "string", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$", + "readOnly": true + }, "passFailCriteria": { - "$ref": "#/definitions/PassFailCriteria" + "$ref": "#/definitions/PassFailCriteria", + "description": "Pass fail criteria for a test." }, "secrets": { - "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the secret is stored in an Azure Key Vault, the value should be the secret identifier and the type should be AKV_SECRET_URI. If the secret is stored elsewhere, the secret value should be provided directly and the type should be SECRET_VALUE.", "type": "object", + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", "additionalProperties": { "$ref": "#/definitions/Secret" } }, "certificate": { - "$ref": "#/definitions/CertificateMetadata" + "$ref": "#/definitions/CertificateMetadata", + "description": "Certificates metadata" }, "environmentVariables": { - "description": "Environment variables which are defined as a set of pairs.", "type": "object", + "description": "Environment variables which are defined as a set of pairs.", "additionalProperties": { "type": "string" } }, "errorDetails": { - "description": "Error details if there is any failure in load test run", "type": "array", + "description": "Error details if there is any failure in load test run", "items": { "$ref": "#/definitions/ErrorDetails" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [] }, "testRunStatistics": { - "description": "Test run statistics.", "type": "object", + "description": "Test run statistics.", "additionalProperties": { "$ref": "#/definitions/TestRunStatistics" }, "readOnly": true }, "loadTestConfiguration": { - "$ref": "#/definitions/LoadTestConfiguration" + "$ref": "#/definitions/LoadTestConfiguration", + "description": "The load test configuration." }, "testArtifacts": { - "$ref": "#/definitions/TestRunArtifacts" + "$ref": "#/definitions/TestRunArtifacts", + "description": "Collection of test run artifacts", + "readOnly": true }, "testResult": { + "$ref": "#/definitions/PFTestResult", "description": "Test result for pass/Fail criteria used during the test run.", - "enum": [ - "PASSED", - "NOT_APPLICABLE", - "FAILED" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "PFTestResult", - "modelAsString": true, - "values": [ - { - "value": "PASSED", - "description": "Pass/fail criteria has passed." - }, - { - "value": "NOT_APPLICABLE", - "description": "Pass/fail criteria is not applicable." - }, - { - "value": "FAILED", - "description": "Pass/fail criteria has failed." - } - ] - } + "readOnly": true }, "virtualUsers": { + "type": "integer", "format": "int32", "description": "Number of virtual users, for which test has been run.", - "type": "integer", - "readOnly": true - }, - "testRunId": { - "description": "Unique test run name as identifier", - "type": "string", "readOnly": true }, "displayName": { + "type": "string", "description": "Display name of a testRun.", - "maxLength": 50, "minLength": 2, - "type": "string" + "maxLength": 50 }, "testId": { + "type": "string", "description": "Associated test Id.", - "maxLength": 50, "minLength": 2, - "type": "string" + "maxLength": 50 }, "description": { + "type": "string", "description": "The test run description.", - "maxLength": 100, - "type": "string" + "maxLength": 100 }, "status": { + "$ref": "#/definitions/Status", "description": "The test run status.", - "enum": [ - "ACCEPTED", - "NOTSTARTED", - "PROVISIONING", - "PROVISIONED", - "CONFIGURING", - "CONFIGURED", - "EXECUTING", - "EXECUTED", - "DEPROVISIONING", - "DEPROVISIONED", - "DONE", - "CANCELLING", - "CANCELLED", - "FAILED", - "VALIDATION_SUCCESS", - "VALIDATION_FAILURE" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "Status", - "modelAsString": true, - "values": [ - { - "value": "ACCEPTED", - "description": "Test run request is accepted" - }, - { - "value": "NOTSTARTED", - "description": "Test run is not yet started." - }, - { - "value": "PROVISIONING", - "description": "Test run is getting provision" - }, - { - "value": "PROVISIONED", - "description": "Test run is provisioned" - }, - { - "value": "CONFIGURING", - "description": "Test run is getting configure" - }, - { - "value": "CONFIGURED", - "description": "Test run configuration is done" - }, - { - "value": "EXECUTING", - "description": "Test run has started executing" - }, - { - "value": "EXECUTED", - "description": "Test run has been executed" - }, - { - "value": "DEPROVISIONING", - "description": "Test run is getting deprovision" - }, - { - "value": "DEPROVISIONED", - "description": "Test run request is deprovisioned" - }, - { - "value": "DONE", - "description": "Test run request is finished" - }, - { - "value": "CANCELLING", - "description": "Test run request is getting cancelled" - }, - { - "value": "CANCELLED", - "description": "Test run request is cancelled" - }, - { - "value": "FAILED", - "description": "Test run request is failed" - }, - { - "value": "VALIDATION_SUCCESS", - "description": "Test run JMX file is validated" - }, - { - "value": "VALIDATION_FAILURE", - "description": "Test run JMX file validation is failed" - } - ] - } + "readOnly": true }, "startDateTime": { - "format": "date-time", - "description": "The test run start DateTime(ISO 8601 literal format).", "type": "string", + "format": "date-time", + "description": "The test run start DateTime(RFC 3339 literal format).", "readOnly": true }, "endDateTime": { - "format": "date-time", - "description": "The test run end DateTime(ISO 8601 literal format).", "type": "string", + "format": "date-time", + "description": "The test run end DateTime(RFC 3339 literal format).", "readOnly": true }, "executedDateTime": { + "type": "string", "format": "date-time", "description": "Test run initiated time.", - "type": "string", "readOnly": true }, "portalUrl": { - "description": "Portal url.", "type": "string", + "description": "Portal url.", "readOnly": true }, "duration": { + "type": "integer", "format": "int64", "description": "Test run duration in milliseconds.", - "type": "integer", "readOnly": true }, "subnetId": { - "description": "Subnet ID on which the load test instances should run.", "type": "string", + "description": "Subnet ID on which the load test instances should run.", "readOnly": true }, "createdDateTime": { - "format": "date-time", - "description": "The creation datetime(ISO 8601 literal format).", "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", "readOnly": true }, "createdBy": { - "description": "The user that created.", "type": "string", + "description": "The user that created.", "readOnly": true }, "lastModifiedDateTime": { - "format": "date-time", - "description": "The last Modified datetime(ISO 8601 literal format).", "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", "readOnly": true }, "lastModifiedBy": { - "description": "The user that last modified.", "type": "string", + "description": "The user that last modified.", "readOnly": true } - } + }, + "required": [ + "testRunId" + ] }, "TestRunAppComponents": { + "type": "object", "description": "Test run app component", + "properties": { + "components": { + "type": "object", + "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", + "additionalProperties": { + "$ref": "#/definitions/AppComponent" + } + }, + "testRunId": { + "type": "string", + "description": "Test run identifier", + "readOnly": true + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, "required": [ "components" - ], + ] + }, + "TestRunAppComponentsUpdate": { + "type": "object", + "description": "Test run app component", + "properties": { + "components": { + "type": "object", + "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", + "additionalProperties": { + "$ref": "#/definitions/AppComponentUpdate" + } + } + } + }, + "TestRunArtifacts": { + "type": "object", + "description": "Collection of test run artifacts", + "properties": { + "inputArtifacts": { + "$ref": "#/definitions/TestRunInputArtifacts", + "description": "The input artifacts for the test run.", + "readOnly": true + }, + "outputArtifacts": { + "$ref": "#/definitions/TestRunOutputArtifacts", + "description": "The output artifacts for the test run." + } + } + }, + "TestRunCreateOrUpdate": { + "type": "object", + "description": "Load test run model", + "properties": { + "passFailCriteria": { + "$ref": "#/definitions/PassFailCriteria", + "description": "Pass fail criteria for a test." + }, + "secrets": { + "type": "object", + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", + "additionalProperties": { + "$ref": "#/definitions/Secret" + } + }, + "certificate": { + "$ref": "#/definitions/CertificateMetadata", + "description": "Certificates metadata" + }, + "environmentVariables": { + "type": "object", + "description": "Environment variables which are defined as a set of pairs.", + "additionalProperties": { + "type": "string" + } + }, + "loadTestConfiguration": { + "$ref": "#/definitions/LoadTestConfiguration", + "description": "The load test configuration." + }, + "displayName": { + "type": "string", + "description": "Display name of a testRun.", + "minLength": 2, + "maxLength": 50 + }, + "testId": { + "type": "string", + "description": "Associated test Id.", + "minLength": 2, + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "The test run description.", + "maxLength": 100 + } + } + }, + "TestRunFileInfo": { "type": "object", + "description": "Test run file info.", "properties": { - "components": { - "description": "Azure resource collection { resource id (fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}) : resource object } ", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/AppComponent" - } + "fileName": { + "type": "string", + "description": "Name of the file." }, - "testRunId": { - "description": "Test run identifier", + "url": { "type": "string", + "format": "uri", + "description": "File URL.", "readOnly": true }, - "createdDateTime": { - "format": "date-time", - "description": "The creation datetime(ISO 8601 literal format).", - "type": "string", + "fileType": { + "$ref": "#/definitions/FileType", + "description": "File type", "readOnly": true }, - "createdBy": { - "description": "The user that created.", + "expireDateTime": { "type": "string", + "format": "date-time", + "description": "Expiry time of the file (RFC 3339 literal format)", "readOnly": true }, - "lastModifiedDateTime": { - "format": "date-time", - "description": "The last Modified datetime(ISO 8601 literal format).", - "type": "string", + "validationStatus": { + "$ref": "#/definitions/FileStatus", + "description": "Validation status of the file", "readOnly": true }, - "lastModifiedBy": { - "description": "The user that last modified.", + "validationFailureDetails": { "type": "string", + "description": "Validation failure error details", "readOnly": true } - } - }, - "TestRunArtifacts": { - "description": "Collection of test run artifacts", - "type": "object", - "properties": { - "inputArtifacts": { - "$ref": "#/definitions/TestRunInputArtifacts" - }, - "outputArtifacts": { - "$ref": "#/definitions/TestRunOutputArtifacts" - } }, - "readOnly": true + "required": [ + "fileName" + ] }, "TestRunInputArtifacts": { - "description": "The input artifacts for the test run.", "type": "object", + "description": "The input artifacts for the test run.", "properties": { "configFileInfo": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" }, "testScriptFileInfo": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" }, "userPropFileInfo": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" }, "inputArtifactsZipFileInfo": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" }, "additionalFileInfo": { - "description": "Additional supported files for the test run", "type": "array", + "description": "Additional supported files for the test run", "items": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestRunFileInfo" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [] } - }, - "readOnly": true + } }, "TestRunOutputArtifacts": { - "description": "The output artifacts for the test run.", "type": "object", + "description": "The output artifacts for the test run.", "properties": { "resultFileInfo": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" }, "logsFileInfo": { - "$ref": "#/definitions/FileInfo" + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" } } }, "TestRunServerMetricConfig": { - "description": "Test run server metrics configuration", "type": "object", + "description": "Test run server metrics configuration", "properties": { "testRunId": { - "description": "Test run identifier", "type": "string", + "description": "Test run identifier", "readOnly": true }, "metrics": { - "description": "Azure resource metrics collection {metric id : metrics object} (Refer : https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition for metric id).", "type": "object", + "description": "Azure resource metrics collection {metric id : metrics object} (Refer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition\nfor metric id).", "additionalProperties": { "$ref": "#/definitions/ResourceMetric" } }, "createdDateTime": { - "format": "date-time", - "description": "The creation datetime(ISO 8601 literal format).", "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", "readOnly": true }, "createdBy": { - "description": "The user that created.", "type": "string", + "description": "The user that created.", "readOnly": true }, "lastModifiedDateTime": { - "format": "date-time", - "description": "The last Modified datetime(ISO 8601 literal format).", "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", "readOnly": true }, "lastModifiedBy": { - "description": "The user that last modified.", "type": "string", + "description": "The user that last modified.", "readOnly": true } } }, "TestRunStatistics": { - "description": "Test run statistics.", "type": "object", + "description": "Test run statistics.", "properties": { "transaction": { - "description": "Transaction name.", "type": "string", + "description": "Transaction name.", "readOnly": true }, "sampleCount": { + "type": "number", "format": "double", "description": "Sampler count.", - "type": "number", "readOnly": true }, "errorCount": { + "type": "number", "format": "double", "description": "Error count.", - "type": "number", "readOnly": true }, "errorPct": { + "type": "number", "format": "double", "description": "Error percentage.", - "type": "number", "readOnly": true }, "meanResTime": { + "type": "number", "format": "double", "description": "Mean response time.", - "type": "number", "readOnly": true }, "medianResTime": { + "type": "number", "format": "double", "description": "Median response time.", - "type": "number", "readOnly": true }, "maxResTime": { + "type": "number", "format": "double", "description": "Max response time.", - "type": "number", "readOnly": true }, "minResTime": { + "type": "number", "format": "double", "description": "Minimum response time.", - "type": "number", "readOnly": true }, "pct1ResTime": { + "type": "number", "format": "double", "description": "90 percentile response time.", - "type": "number", "readOnly": true }, "pct2ResTime": { + "type": "number", "format": "double", "description": "95 percentile response time.", - "type": "number", "readOnly": true }, "pct3ResTime": { + "type": "number", "format": "double", "description": "99 percentile response time.", - "type": "number", "readOnly": true }, "throughput": { + "type": "number", "format": "double", "description": "Throughput.", - "type": "number", "readOnly": true }, "receivedKBytesPerSec": { + "type": "number", "format": "double", "description": "Received network bytes.", - "type": "number", "readOnly": true }, "sentKBytesPerSec": { + "type": "number", "format": "double", "description": "Send network bytes.", - "type": "number", "readOnly": true } - }, - "readOnly": true - }, - "TestRunsList": { - "description": "Collection of test runs", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "List of test runs", - "type": "array", - "items": { - "$ref": "#/definitions/TestRun" - } - }, - "nextLink": { - "description": "Link for the next list of test runs in case of paginated results, if applicable", - "type": "string" - } } }, "TestServerMetricConfig": { - "description": "Test server metrics configuration", "type": "object", + "description": "Test server metrics configuration", "properties": { "testId": { - "description": "Test identifier", "type": "string", + "description": "Test identifier", "readOnly": true }, "metrics": { - "description": "Azure resource metrics collection {metric id : metrics object} (Refer : https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition for metric id).", "type": "object", + "description": "Azure resource metrics collection {metric id : metrics object} (Refer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition\nfor metric id).", "additionalProperties": { "$ref": "#/definitions/ResourceMetric" } }, "createdDateTime": { - "format": "date-time", - "description": "The creation datetime(ISO 8601 literal format).", "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", "readOnly": true }, "createdBy": { - "description": "The user that created.", "type": "string", + "description": "The user that created.", "readOnly": true }, "lastModifiedDateTime": { - "format": "date-time", - "description": "The last Modified datetime(ISO 8601 literal format).", "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", "readOnly": true }, "lastModifiedBy": { - "description": "The user that last modified.", "type": "string", + "description": "The user that last modified.", "readOnly": true } - } - }, - "TestsList": { - "description": "Collection of tests", + }, "required": [ - "value" - ], + "metrics" + ] + }, + "TestServerMetricConfigUpdate": { "type": "object", + "description": "Test server metrics configuration", "properties": { - "value": { - "description": "List of tests", - "type": "array", - "items": { - "$ref": "#/definitions/Test" + "metrics": { + "type": "object", + "description": "Azure resource metrics collection {metric id : metrics object} (Refer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition\nfor metric id).", + "additionalProperties": { + "$ref": "#/definitions/ResourceMetricUpdate" } - }, - "nextLink": { - "description": "Link for the next list of tests in case of paginated results, if applicable", - "type": "string" } } }, + "TimeGrain": { + "type": "string", + "description": "Time Grain", + "enum": [ + "PT5S", + "PT10S", + "PT1M", + "PT5M", + "PT1H" + ], + "x-ms-enum": { + "name": "TimeGrain", + "modelAsString": true, + "values": [ + { + "name": "PT5S", + "value": "PT5S", + "description": "5 seconds, available only if test run duration is less than 10 minutes." + }, + { + "name": "PT10S", + "value": "PT10S", + "description": "10 seconds, available only if test run duration is less than 10 minutes." + }, + { + "name": "PT1M", + "value": "PT1M", + "description": "1 minute" + }, + { + "name": "PT5M", + "value": "PT5M", + "description": "5 minutes, available only if test run duration is greater than 1 minute." + }, + { + "name": "PT1H", + "value": "PT1H", + "description": "1 hour, available only if test run duration is greater than 1 minute." + } + ] + } + }, "TimeSeriesElement": { - "description": "The time series returned when a data query is performed.", "type": "object", + "description": "The time series returned when a data query is performed.", "properties": { "data": { - "description": "An array of data points representing the metric values.", "type": "array", + "description": "An array of data points representing the metric values.", "items": { "$ref": "#/definitions/MetricValue" - } + }, + "x-ms-identifiers": [] }, "dimensionValues": { - "description": "The dimension values ", "type": "array", + "description": "The dimension values ", "items": { "$ref": "#/definitions/DimensionValue" - } + }, + "x-ms-identifiers": [] } } } }, "parameters": { - "ApiVersion": { - "in": "query", + "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", - "description": "API version", + "in": "query", + "description": "The API version to use for this operation.", "required": true, - "type": "string" + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" + }, + "ListTestQueryParams.lastModifiedEndTime": { + "name": "lastModifiedEndTime", + "in": "query", + "description": "End DateTime(RFC 3339 literal format) of the last updated time range to filter tests.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.lastModifiedStartTime": { + "name": "lastModifiedStartTime", + "in": "query", + "description": "Start DateTime(RFC 3339 literal format) of the last updated time range to filter tests.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.maxpagesize": { + "name": "maxpagesize", + "in": "query", + "description": "Number of results in response.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.orderby": { + "name": "orderby", + "in": "query", + "description": "Sort on the supported fields in (field asc/desc) format. eg:\nlastModifiedDateTime asc. Supported fields - lastModifiedDateTime", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.search": { + "name": "search", + "in": "query", + "description": "Prefix based, case sensitive search on searchable fields - displayName,\ncreatedBy. For example, to search for a test, with display name is Login Test,\nthe search parameter can be Login.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.executionFrom": { + "name": "executionFrom", + "in": "query", + "description": "Start DateTime(RFC 3339 literal format) of test-run execution time filter range.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.executionTo": { + "name": "executionTo", + "in": "query", + "description": "End DateTime(RFC 3339 literal format) of test-run execution time filter range.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.maxpagesize": { + "name": "maxpagesize", + "in": "query", + "description": "Number of results in response.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.orderby": { + "name": "orderby", + "in": "query", + "description": "Sort on the supported fields in (field asc/desc) format. eg: executedDateTime\nasc. Supported fields - executedDateTime", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" }, - "TestIdQueryParameter": { + "ListTestRunQueryParams.search": { + "name": "search", "in": "query", + "description": "Prefix based, case sensitive search on searchable fields - description,\nexecutedUser. For example, to search for a test run, with description 500 VUs,\nthe search parameter can be 500.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.status": { + "name": "status", + "in": "query", + "description": "Comma separated list of test run status.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.testId": { "name": "testId", + "in": "query", "description": "Unique name of an existing load test.", + "required": false, "type": "string", "x-ms-parameter-location": "method" }, - "TestIdPathParameter": { - "in": "path", - "name": "testId", - "description": "Unique name for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "MetricDimensionsRequest.interval": { + "name": "interval", + "in": "query", + "description": "The interval (i.e. timegrain) of the query.", + "required": false, + "type": "string", + "default": "PT1M", + "enum": [ + "PT5S", + "PT10S", + "PT1M", + "PT5M", + "PT1H" + ], + "x-ms-enum": { + "name": "TimeGrain", + "modelAsString": true, + "values": [ + { + "name": "PT5S", + "value": "PT5S", + "description": "5 seconds, available only if test run duration is less than 10 minutes." + }, + { + "name": "PT10S", + "value": "PT10S", + "description": "10 seconds, available only if test run duration is less than 10 minutes." + }, + { + "name": "PT1M", + "value": "PT1M", + "description": "1 minute" + }, + { + "name": "PT5M", + "value": "PT5M", + "description": "5 minutes, available only if test run duration is greater than 1 minute." + }, + { + "name": "PT1H", + "value": "PT1H", + "description": "1 hour, available only if test run duration is greater than 1 minute." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "MetricDimensionsRequest.metricNamespace": { + "name": "metricNamespace", + "in": "query", + "description": "Metric namespace to query metric definitions for.", "required": true, "type": "string", - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", "x-ms-parameter-location": "method" }, - "TestRunIdPathParameter": { - "in": "path", - "name": "testRunId", - "description": "Unique name for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "MetricDimensionsRequest.metricname": { + "name": "metricname", + "in": "query", + "description": "Metric name", "required": true, "type": "string", - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", "x-ms-parameter-location": "method" }, - "Endpoint": { - "in": "path", - "name": "Endpoint", - "description": "URL to perform data plane API operations on the resource.", + "MetricDimensionsRequest.timespan": { + "name": "timespan", + "in": "query", + "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.", "required": true, "type": "string", - "format": "uri", - "x-ms-parameter-location": "client", - "x-ms-skip-url-encoding": true - } - }, - "securityDefinitions": { - "oauth2": { - "type": "oauth2", - "flow": "implicit", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", - "scopes": { - "https://cnt-prod.loadtesting.azure.com/.default": "OAuth2 scope for Azure Load Test Service" - }, - "description": "Azure Active Directory OAuth2 Flow" - } - }, - "security": [ - { - "oauth2": [ - "https://cnt-prod.loadtesting.azure.com/.default" - ] + "x-ms-parameter-location": "method" + }, + "OldTestRunIdQueryParam": { + "name": "oldTestRunId", + "in": "query", + "description": "Existing test run identifier that should be rerun, if this is provided, the\ntest will run with the JMX file, configuration and app components from the\nexisting test run. You can override the configuration values for new test run\nin the request body.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" } - ], - "x-ms-parameterized-host": { - "hostTemplate": "{Endpoint}", - "useSchemePrefix": true, - "positionInOperation": "first", - "parameters": [ - { - "$ref": "#/parameters/Endpoint" - } - ] - }, - "schemes": [ - "https" - ] + } } diff --git a/specification/loadtestservice/data-plane/readme.md b/specification/loadtestservice/data-plane/readme.md index f00329f1618a..9d2a2a0db7e1 100644 --- a/specification/loadtestservice/data-plane/readme.md +++ b/specification/loadtestservice/data-plane/readme.md @@ -27,7 +27,17 @@ tag: package-2022-11-01 title: LoadTestingClient ``` -### Tag: package-2021-11-01 + +### Tag: package-2023-04-01-preview + +These settings apply only when `--tag=package-2023-04-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2023-04-01-preview' +input-file: + - Microsoft.LoadTestService/preview/2023-04-01-preview/loadtestservice.json +``` + +### Tag: package-2022-11-01 These settings apply only when `--tag=package-2022-11-01` is specified on the command line. diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/L3IsolationDomains.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/L3IsolationDomains.json index f2bc323e4282..57bc93f2aed7 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/L3IsolationDomains.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/L3IsolationDomains.json @@ -1881,6 +1881,10 @@ "type": "object", "description": "The ExternalNetwork patchable properties.", "properties": { + "networkToNetworkInterconnectId": { + "description": "ARM Resource ID of the networkToNetworkInterconnectId of the ExternalNetwork resource.", + "$ref": "./common.json#/definitions/NetworkToNetworkInterconnectIdProperty" + }, "importRoutePolicyId": { "description": "ARM Resource ID of the RoutePolicy. This is used for the backward compatibility.", "$ref": "./common.json#/definitions/RoutePolicyIdProperty" @@ -2012,11 +2016,6 @@ } ], "properties": { - "networkToNetworkInterconnectId": { - "type": "string", - "description": "Gets the networkToNetworkInterconnectId of the resource.", - "readOnly": true - }, "peeringOption": { "description": "Peering option list.", "$ref": "./common.json#/definitions/PeeringOption" diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/ExternalNetworks_Create_MaximumSet_Gen.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/ExternalNetworks_Create_MaximumSet_Gen.json index fc9e3044cbb6..eedc1891dd01 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/ExternalNetworks_Create_MaximumSet_Gen.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/ExternalNetworks_Create_MaximumSet_Gen.json @@ -7,6 +7,7 @@ "externalNetworkName": "example-externalnetwork", "body": { "properties": { + "networkToNetworkInterconnectId": "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-fabric/networkToNetworkInterconnects/example-nni", "peeringOption": "OptionA", "optionBProperties": { "importRouteTargets": [ diff --git a/specification/maps/data-plane/Common/preview/1.0/common.json b/specification/maps/data-plane/Common/preview/1.0/common.json index 549971651a29..f406682ab039 100644 --- a/specification/maps/data-plane/Common/preview/1.0/common.json +++ b/specification/maps/data-plane/Common/preview/1.0/common.json @@ -871,7 +871,7 @@ "name": "zoom", "x-ms-client-name": "z", "in": "query", - "description": "Zoom level for the desired tile. \n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "description": "Zoom level for the desired tile. \n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", "format": "int32", diff --git a/specification/maps/data-plane/Common/preview/2022-09-01-preview/common.json b/specification/maps/data-plane/Common/preview/2022-09-01-preview/common.json index 8984f04bff41..0737478f44b4 100644 --- a/specification/maps/data-plane/Common/preview/2022-09-01-preview/common.json +++ b/specification/maps/data-plane/Common/preview/2022-09-01-preview/common.json @@ -786,7 +786,7 @@ "name": "zoom", "x-ms-client-name": "z", "in": "query", - "description": "Zoom level for the desired tile. \n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "description": "Zoom level for the desired tile. \n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", "format": "int32", diff --git a/specification/maps/data-plane/Common/stable/2023-06-01/common.json b/specification/maps/data-plane/Common/stable/2023-06-01/common.json index 1ac85f0d08a7..6c5fdfa756ce 100644 --- a/specification/maps/data-plane/Common/stable/2023-06-01/common.json +++ b/specification/maps/data-plane/Common/stable/2023-06-01/common.json @@ -786,7 +786,7 @@ "name": "zoom", "x-ms-client-name": "z", "in": "query", - "description": "Zoom level for the desired tile. \n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "description": "Zoom level for the desired tile. \n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", "format": "int32", diff --git a/specification/maps/data-plane/Creator/preview/1.0/spatial.json b/specification/maps/data-plane/Creator/preview/1.0/spatial.json index 255bb0aebe37..878bd01ada69 100644 --- a/specification/maps/data-plane/Creator/preview/1.0/spatial.json +++ b/specification/maps/data-plane/Creator/preview/1.0/spatial.json @@ -155,7 +155,7 @@ "paths": { "/spatial/geofence/{format}": { "get": { - "description": "**Search Geofence Get API**\n\n**Applies to:** S1 Pricing tier.\n\nThe Geofence Get API allows you to retrieve the proximity of a coordinate to a \ngeofence that has been uploaded to the Data service. You can use the \n[Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) to upload \na geofence or set of fences. See [Geofencing GeoJSON data](https://docs.microsoft.com/en-us/azure/azure-maps/geofence-geojson) \nfor more details on the geofence data format. To query the proximity of a coordinate, you supply the location of the object you are tracking as well\nas the ID for the fence or set of fences, and the response will contain information about\nthe distance from the outer edge of the geofence. A negative value signifies that the \ncoordinate is inside of the fence while a positive value means that it is outside of the\nfence.

This API can be used for a variety of scenarios that include things like asset \ntracking, fleet management, or setting up alerts for moving objects.\n\nThe API supports [integration with Event Grid](https://docs.microsoft.com/azure/azure-maps/azure-maps-event-grid-integration). The isAsync parameter is used to enable integration with Event Grid (disabled by default).\nTo test this API, you can upload the sample data from Post Geofence API examples(Request Body) via Data Upload API and replace the [udid] from the sample request below with the udid returned by Data Upload API.\n\n\n### Geofencing InnerError code\n\nIn geofencing response error contract, `innererror` is an object containing service specific information about the error. `code` is a property in `innererror` which can map to a specific geofencing error type. The table belows shows the code mapping between all the known client error type to the corresponding geofencing error `message`.\n\ninnererror.code | error.message\n---------------------------- | -------------------------------------- \nNullDeviceId | Device Id should not be null.\nNullUdid\t | Udid should not be null.\nUdidWrongFormat| Udid should be acquired from user data ingestion API.\nInvalidUserTime| Usertime is invalid.\nInvalidSearchBuffer| Searchbuffer is invalid.\nInvalidSearchRange| The value range of searchbuffer should be from 0 to 500 meters.\nInvalidLatLon| Lat and/or lon parameters are invalid.\nInvalidIsAsyncValue| The IsAsync parameter is invalid.\nInvalidModeValue| The mode parameter invalid.\nInvalidJson| Geofencing data is not a valid json file.\nNotSupportedGeoJson| Geofencing data can't be read as a Feature or FeatureCollections.\nInvalidGeoJson| Geofencing data is invalid.\nNoUserDataWithAccountOrSubscription| Can't find user geofencing data with provided account-id and/or subscription-id.\nNoUserDataWithUdid|\tCan't find user geofencing data with provided udid.", + "description": "**Search Geofence Get API**\n\n**Applies to:** S1 Pricing tier.\n\nThe Geofence Get API allows you to retrieve the proximity of a coordinate to a \ngeofence that has been uploaded to the Data service. You can use the \n[Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) to upload \na geofence or set of fences. See [Geofencing GeoJSON data](https://docs.microsoft.com/en-us/azure/azure-maps/geofence-geojson) \nfor more details on the geofence data format. To query the proximity of a coordinate, you supply the location of the object you are tracking as well\nas the ID for the fence or set of fences, and the response will contain information about\nthe distance from the outer edge of the geofence. A negative value signifies that the \ncoordinate is inside of the fence while a positive value means that it is outside of the\nfence.

This API can be used for a variety of scenarios that include things like asset \ntracking, fleet management, or setting up alerts for moving objects.\n\nThe API supports [integration with Event Grid](https://docs.microsoft.com/azure/azure-maps/azure-maps-event-grid-integration). The isAsync parameter is used to enable integration with Event Grid (disabled by default).\nTo test this API, you can upload the sample data from Post Geofence API examples (Request Body) via Data Upload API and replace the `{udid}` from the sample request below with the udid returned by Data Upload API.\n\n\n### Geofencing InnerError code\n\nIn geofencing response error contract, `innererror` is an object containing service specific information about the error. `code` is a property in `innererror` which can map to a specific geofencing error type. The table belows shows the code mapping between all the known client error type to the corresponding geofencing error `message`.\n\ninnererror.code | error.message\n---------------------------- | -------------------------------------- \nNullDeviceId | Device Id should not be null.\nNullUdid\t | Udid should not be null.\nUdidWrongFormat| Udid should be acquired from user data ingestion API.\nInvalidUserTime| Usertime is invalid.\nInvalidSearchBuffer| Searchbuffer is invalid.\nInvalidSearchRange| The value range of searchbuffer should be from 0 to 500 meters.\nInvalidLatLon| Lat and/or lon parameters are invalid.\nInvalidIsAsyncValue| The IsAsync parameter is invalid.\nInvalidModeValue| The mode parameter invalid.\nInvalidJson| Geofencing data is not a valid json file.\nNotSupportedGeoJson| Geofencing data can't be read as a Feature or FeatureCollections.\nInvalidGeoJson| Geofencing data is invalid.\nNoUserDataWithAccountOrSubscription| Can't find user geofencing data with provided account-id and/or subscription-id.\nNoUserDataWithUdid|\tCan't find user geofencing data with provided udid.", "operationId": "Spatial_GetGeofence", "x-ms-examples": { "GetGeofence": { @@ -370,7 +370,7 @@ } }, "get": { - "description": "**Applies to**: S1 pricing tier.\n\nThis API returns a FeatureCollection where each Feature is a buffer around the corresponding indexed Feature of the input. The buffer could be either on the outside or the inside of the provided Feature, depending on the distance provided in the input. There must be either one distance provided per Feature in the FeatureCollection input, or if only one distance is provided, then that distance is applied to every Feature in the collection. The positive (or negative) buffer of a geometry is defined as the Minkowski sum (or difference) of the geometry with a circle of radius equal to the absolute value of the buffer distance. The buffer API always returns a polygonal result. The negative or zero-distance buffer of lines and points is always an empty polygon. The input features are provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain a collection of Point, MultiPoint, Polygon, MultiPolygon, LineString and MultiLineString. GeometryCollection will be ignored if provided. \n\nTo test this API, you can upload the sample data from [Post Buffer API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postbuffer#examples) examples(Request Body without distances array) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the [udid] from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getbuffer#examples) with the udid returned by Data Upload API.", + "description": "**Applies to**: S1 pricing tier.\n\nThis API returns a FeatureCollection where each Feature is a buffer around the corresponding indexed Feature of the input. The buffer could be either on the outside or the inside of the provided Feature, depending on the distance provided in the input. There must be either one distance provided per Feature in the FeatureCollection input, or if only one distance is provided, then that distance is applied to every Feature in the collection. The positive (or negative) buffer of a geometry is defined as the Minkowski sum (or difference) of the geometry with a circle of radius equal to the absolute value of the buffer distance. The buffer API always returns a polygonal result. The negative or zero-distance buffer of lines and points is always an empty polygon. The input features are provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain a collection of Point, MultiPoint, Polygon, MultiPolygon, LineString and MultiLineString. GeometryCollection will be ignored if provided. \n\nTo test this API, you can upload the sample data from [Post Buffer API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postbuffer#examples) examples (Request Body without distances array) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the `{udid}` from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getbuffer#examples) with the udid returned by Data Upload API.", "operationId": "Spatial_GetBuffer", "x-ms-examples": { "GetBuffer": { @@ -459,7 +459,7 @@ } }, "get": { - "description": "**Applies to**: S1 pricing tier.\n\nThis API returns the closest point between a base point and a given set of points in the user uploaded data set identified by udid. The set of target points is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may only contain a collection of Point geometry. MultiPoint or other geometries will be ignored if provided. The maximum number of points accepted is 100,000. The algorithm does not take into account routing or traffic. Information returned includes closest point latitude, longitude, and distance in meters from the closest point.\n\nTo test this API, you can upload the sample data from [Post Closest Point API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postclosestpoint#examples) examples(Request Body) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the [udid] from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getclosestpoint#examples) with the udid returned by Data Upload API.", + "description": "**Applies to**: S1 pricing tier.\n\nThis API returns the closest point between a base point and a given set of points in the user uploaded data set identified by udid. The set of target points is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may only contain a collection of Point geometry. MultiPoint or other geometries will be ignored if provided. The maximum number of points accepted is 100,000. The algorithm does not take into account routing or traffic. Information returned includes closest point latitude, longitude, and distance in meters from the closest point.\n\nTo test this API, you can upload the sample data from [Post Closest Point API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postclosestpoint#examples) examples (Request Body) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the `{udid}` from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getclosestpoint#examples) with the udid returned by Data Upload API.", "operationId": "Spatial_GetClosestPoint", "x-ms-examples": { "GetClosestPoint": { @@ -547,7 +547,7 @@ } }, "get": { - "description": "**Applies to**: S1 pricing tier.\n\nThis API returns a boolean value indicating whether a point is inside a set of polygons. The set of polygons is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain Polygon and MultiPolygon geometries, other geometries will be ignored if provided. If the point is inside or on the boundary of one of these polygons, the value returned is true. In all other cases, the value returned is false. When the point is inside multiple polygons, the result will give intersecting geometries section to show all valid geometries(referenced by geometryId) in user data. The maximum number of vertices accepted to form a Polygon is 10,000.\n\n \nTo test this API, you can upload the sample data from [Post Point In Polygon API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postpointinpolygon#examples) examples(Request Body) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the [udid] from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getpointinpolygon#examples) with the udid returned by Data Upload API.", + "description": "**Applies to**: S1 pricing tier.\n\nThis API returns a boolean value indicating whether a point is inside a set of polygons. The set of polygons is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain Polygon and MultiPolygon geometries, other geometries will be ignored if provided. If the point is inside or on the boundary of one of these polygons, the value returned is true. In all other cases, the value returned is false. When the point is inside multiple polygons, the result will give intersecting geometries section to show all valid geometries(referenced by geometryId) in user data. The maximum number of vertices accepted to form a Polygon is 10,000.\n\n \nTo test this API, you can upload the sample data from [Post Point In Polygon API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postpointinpolygon#examples) examples (Request Body) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the `{udid}` from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getpointinpolygon#examples) with the udid returned by Data Upload API.", "operationId": "Spatial_EvaluatePointInPolygon", "x-ms-examples": { "GetPointInPolygon": { diff --git a/specification/maps/data-plane/Creator/preview/2.0/data.json b/specification/maps/data-plane/Creator/preview/2.0/data.json index d41b59e0628e..b3a2e2724d7d 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/data.json +++ b/specification/maps/data-plane/Creator/preview/2.0/data.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -101,7 +101,7 @@ }, "UniqueDataId": { "name": "udid", - "description": "The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload) call.", + "description": "The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload API](https://docs.microsoft.com/rest/api/maps/data-v2/upload) call.", "type": "string", "in": "path", "required": true, @@ -126,7 +126,7 @@ "paths": { "/mapData": { "post": { - "description": "> [!NOTE]\n>\n> **Azure Maps Data service retirement**\n>\n> The Azure Maps Data service (both [v1](/rest/api/maps/data) and [v2](/rest/api/maps/data-v2)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](https://learn.microsoft.com/en-us/azure/azure-maps/how-to-create-data-registries).\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Data Upload API allows the caller to upload data content to the Azure Maps service.\nYou can use this API in a scenario like uploading a collection of Geofences in `GeoJSON` \nformat, for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial).\n\n>[!Important]\n>By using this feature, you agree to the preview legal terms. See the [Preview Supplemental Terms](https://azure.microsoft.com/en-us/support/legal/preview-supplemental-terms/) for additional details.\n## Submit Upload Request\n\nTo upload your content you will use a `POST` request. The request body will contain the data to upload. The \n`dataFormat` query parameter will contain the format for the data, the `dataSharingLevel` query parameter \ncan contain the sharing level for the data. The `Content-Type` header will be set to the content type of the \ndata.\n\nFor example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence \ncontent. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one \nof the following media types:\n\n- `application/json`\n- `application/vnd.geo+json`\n- `application/octet-stream`\n\nHere's a sample request body for uploading a simple Geofence represented as a circle geometry using a center \npoint and a radius. The sample below is in `GeoJSON`:\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```\n\nThe Data Upload API performs a \nlong-running operation.\n\n## Data Upload Limits\n\nPlease, be aware that currently every Azure Maps account has a [data storage limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). \nOnce the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. \nYou can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete) to \ndelete old/unused content and create space for new uploads.", + "description": "> [!NOTE]\n>\n> **Azure Maps Data service retirement**\n>\n> The Azure Maps Data service (both [v1](/rest/api/maps/data) and [v2](/rest/api/maps/data-v2)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](https://learn.microsoft.com/azure/azure-maps/how-to-create-data-registries).\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Data Upload API allows the caller to upload data content to the Azure Maps service.\nYou can use this API in a scenario like uploading a collection of Geofences in `GeoJSON` \nformat, for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial).\n\n>[!Important]\n>By using this feature, you agree to the preview legal terms. See the [Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for additional details.\n## Submit Upload Request\n\nTo upload your content you will use a `POST` request. The request body will contain the data to upload. The \n`dataFormat` query parameter will contain the format for the data, the `dataSharingLevel` query parameter \ncan contain the sharing level for the data. The `Content-Type` header will be set to the content type of the \ndata.\n\nFor example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence \ncontent. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one \nof the following media types:\n\n- `application/json`\n- `application/vnd.geo+json`\n- `application/octet-stream`\n\nHere's a sample request body for uploading a simple Geofence represented as a circle geometry using a center \npoint and a radius. The sample below is in `GeoJSON`:\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```\n\nThe Data Upload API performs a \nlong-running operation.\n\n## Data Upload Limits\n\nPlease, be aware that currently every Azure Maps account has a [data storage limit](https://docs.microsoft.com/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). \nOnce the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. \nYou can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete) to \ndelete old/unused content and create space for new uploads.", "operationId": "Data_Upload", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { @@ -180,7 +180,7 @@ } }, "get": { - "description": "> [!NOTE]\n>\n> **Azure Maps Data service retirement**\n>\n> The Azure Maps Data service (both [v1](/rest/api/maps/data) and [v2](/rest/api/maps/data-v2)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](https://learn.microsoft.com/en-us/azure/azure-maps/how-to-create-data-registries).\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload). \n\n\n>[!Important]\n>By using this feature, you agree to the preview legal terms. See the [Preview Supplemental Terms](https://azure.microsoft.com/en-us/support/legal/preview-supplemental-terms/) for additional details.\n### Submit List Request\n\nTo list all your map data content you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe Data List API returns the complete list of all data in `json` format. The response contains the following details for each data resource:\n\n > udid - The unique data id for the data resource.\n\n > location - The location of the data resource. Execute a HTTP `GET` on this location to download the data.\n\n\nHere's a sample response returning the `udid` and `location` of 3 data resources: \n\n
\n\n```json\n{\n \"mapDataList\": \n [\n {\n \"udid\": \"9a1288fa-1858-4a3b-b68d-13a8j5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 29920,\n \"uploadStatus\": \"Completed\"\n },\n {\n \"udid\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 1339,\n \"uploadStatus\": \"Completed\"\n },\n {\n \"udid\": \"7c1288fa-2058-4a1b-b68f-13a6h5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 1650,\n \"uploadStatus\": \"Pending\"\n }]\n}\n```\n\n
", + "description": "> [!NOTE]\n>\n> **Azure Maps Data service retirement**\n>\n> The Azure Maps Data service (both [v1](/rest/api/maps/data) and [v2](/rest/api/maps/data-v2)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](https://learn.microsoft.com/azure/azure-maps/how-to-create-data-registries).\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload API](https://docs.microsoft.com/rest/api/maps/data-v2/upload). \n\n\n>[!Important]\n>By using this feature, you agree to the preview legal terms. See the [Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for additional details.\n### Submit List Request\n\nTo list all your map data content you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe Data List API returns the complete list of all data in `json` format. The response contains the following details for each data resource:\n\n > udid - The unique data id for the data resource.\n\n > location - The location of the data resource. Execute a HTTP `GET` on this location to download the data.\n\n\nHere's a sample response returning the `udid` and `location` of 3 data resources: \n\n
\n\n```json\n{\n \"mapDataList\": \n [\n {\n \"udid\": \"9a1288fa-1858-4a3b-b68d-13a8j5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 29920,\n \"uploadStatus\": \"Completed\"\n },\n {\n \"udid\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 1339,\n \"uploadStatus\": \"Completed\"\n },\n {\n \"udid\": \"7c1288fa-2058-4a1b-b68f-13a6h5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 1650,\n \"uploadStatus\": \"Pending\"\n }]\n}\n```\n\n
", "operationId": "Data_List", "x-ms-examples": { "List all the previously uploaded data": { @@ -210,7 +210,7 @@ }, "/mapData/{udid}": { "put": { - "description": "> [!NOTE]\n>\n> **Azure Maps Data service retirement**\n>\n> The Azure Maps Data service (both [v1](/rest/api/maps/data) and [v2](/rest/api/maps/data-v2)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](https://learn.microsoft.com/en-us/azure/azure-maps/how-to-create-data-registries).\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Data Update API allows the caller to update a previously uploaded data content.\n\nYou can use this API in a scenario like adding or removing geofences to or from an existing collection of geofences. \nGeofences are uploaded using the [Data Upload API](https://docs.microsoft.com/rest/api/maps/data-v2/upload), for \nuse in the [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial).\n\nPlease note that the Update API will *replace* and *override* the existing data content.\n\n>[!Important]\n>By using this feature, you agree to the preview legal terms. See the [Preview Supplemental Terms](https://azure.microsoft.com/en-us/support/legal/preview-supplemental-terms/) for additional details.\n## Submit Update Request\n\nTo update your content you will use a `PUT` request. The request body will contain the new data that will replace \nthe existing data. The `Content-Type` header will be set to the content type of the data, and the path will contain \nthe `udid` of the data to be update.\n\nFor example, to update a collection of geofences that were previously uploaded using the Upload API, place the new \ngeofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received \npreviously in the upload API response. And set the `Content-Type` header to one of the following media types:\n\n- `application/json`\n- `application/vnd.geo+json`\n- `application/octet-stream`\n\nHere's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a center \npoint and a radius. The sample below is in `GeoJSON`:\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```\n\nThe previously uploaded geofence had a radius of 100m. The above request will update it to 500m.\n\nThe Data Update API performs a \nlong-running operation.\n\n## Data Update Limits\n\nPlease, be aware that currently every Azure Maps account has a [data storage limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). \nOnce the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. \nYou can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete) to \ndelete old/unused content and create space for new uploads.", + "description": "> [!NOTE]\n>\n> **Azure Maps Data service retirement**\n>\n> The Azure Maps Data service (both [v1](/rest/api/maps/data) and [v2](/rest/api/maps/data-v2)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](https://learn.microsoft.com/azure/azure-maps/how-to-create-data-registries).\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Data Update API allows the caller to update a previously uploaded data content.\n\nYou can use this API in a scenario like adding or removing geofences to or from an existing collection of geofences. \nGeofences are uploaded using the [Data Upload API](https://docs.microsoft.com/rest/api/maps/data-v2/upload), for \nuse in the [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial).\n\nPlease note that the Update API will *replace* and *override* the existing data content.\n\n>[!Important]\n>By using this feature, you agree to the preview legal terms. See the [Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for additional details.\n## Submit Update Request\n\nTo update your content you will use a `PUT` request. The request body will contain the new data that will replace \nthe existing data. The `Content-Type` header will be set to the content type of the data, and the path will contain \nthe `udid` of the data to be update.\n\nFor example, to update a collection of geofences that were previously uploaded using the Upload API, place the new \ngeofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received \npreviously in the upload API response. And set the `Content-Type` header to one of the following media types:\n\n- `application/json`\n- `application/vnd.geo+json`\n- `application/octet-stream`\n\nHere's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a center \npoint and a radius. The sample below is in `GeoJSON`:\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```\n\nThe previously uploaded geofence had a radius of 100m. The above request will update it to 500m.\n\nThe Data Update API performs a \nlong-running operation.\n\n## Data Update Limits\n\nPlease, be aware that currently every Azure Maps account has a [data storage limit](https://docs.microsoft.com/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). \nOnce the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. \nYou can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete) to \ndelete old/unused content and create space for new uploads.", "operationId": "Data_Update", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { @@ -260,7 +260,7 @@ } }, "get": { - "description": "> [!NOTE]\n>\n> **Azure Maps Data service retirement**\n>\n> The Azure Maps Data service (both [v1](/rest/api/maps/data) and [v2](/rest/api/maps/data-v2)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](https://learn.microsoft.com/en-us/azure/azure-maps/how-to-create-data-registries).\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to download a previously uploaded data content.
\nYou can use this API in a scenario like downloading an existing collection of geofences uploaded previously using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload) for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). \n\n\n>[!Important]\n>By using this feature, you agree to the preview legal terms. See the [Preview Supplemental Terms](https://azure.microsoft.com/en-us/support/legal/preview-supplemental-terms/) for additional details.\n### Submit Download Request\n\nTo download your content you will use a `GET` request where the path will contain the `udid` of the data to download. Optionally, you can also pass in an `Accept` header to specify a preference for the `Content-Type` of the data response.
\nFor example, to download a collection of geofences previously uploaded using the Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response and set the `Accept` header to either one of the following media types: \n \n - `application/json`\n - `application/vnd.geo+json`\n - `application/octet-stream`\n\n\n### Download Data Response\n\nThe Download API will return a HTTP `200 OK` response if the data resource with the passed-in `udid` is found, where the response body will contain the content of the data resource.
\nA HTTP `400 Bad Request` error response will be returned if the data resource with the passed-in `udid` is not found.
\n\nHere's a sample response body for a simple geofence represented in `GeoJSON` uploaded previously using the Upload API:\n
\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```", + "description": "> [!NOTE]\n>\n> **Azure Maps Data service retirement**\n>\n> The Azure Maps Data service (both [v1](/rest/api/maps/data) and [v2](/rest/api/maps/data-v2)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](https://learn.microsoft.com/azure/azure-maps/how-to-create-data-registries).\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to download a previously uploaded data content.
\nYou can use this API in a scenario like downloading an existing collection of geofences uploaded previously using the [Data Upload API](https://docs.microsoft.com/rest/api/maps/data-v2/upload) for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial). \n\n\n>[!Important]\n>By using this feature, you agree to the preview legal terms. See the [Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for additional details.\n### Submit Download Request\n\nTo download your content you will use a `GET` request where the path will contain the `udid` of the data to download. Optionally, you can also pass in an `Accept` header to specify a preference for the `Content-Type` of the data response.
\nFor example, to download a collection of geofences previously uploaded using the Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response and set the `Accept` header to either one of the following media types: \n \n - `application/json`\n - `application/vnd.geo+json`\n - `application/octet-stream`\n\n\n### Download Data Response\n\nThe Download API will return a HTTP `200 OK` response if the data resource with the passed-in `udid` is found, where the response body will contain the content of the data resource.
\nA HTTP `400 Bad Request` error response will be returned if the data resource with the passed-in `udid` is not found.
\n\nHere's a sample response body for a simple geofence represented in `GeoJSON` uploaded previously using the Upload API:\n
\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```", "operationId": "Data_Download", "x-ms-examples": { "Download previously uploaded GeoJSON data containing geometries that represent a collection of geofences": { @@ -302,7 +302,7 @@ } }, "delete": { - "description": "> [!NOTE]\n>\n> **Azure Maps Data service retirement**\n>\n> The Azure Maps Data service (both [v1](/rest/api/maps/data) and [v2](/rest/api/maps/data-v2)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](https://learn.microsoft.com/en-us/azure/azure-maps/how-to-create-data-registries).\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to delete a previously uploaded data content.
\nYou can use this API in a scenario like removing geofences previously uploaded using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload) for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). You can also use this API to delete old/unused uploaded content and create space for new content.\n\n\n>[!Important]\n>By using this feature, you agree to the preview legal terms. See the [Preview Supplemental Terms](https://azure.microsoft.com/en-us/support/legal/preview-supplemental-terms/) for additional details.\n### Submit Delete Request\n\nTo delete your content you will issue a `DELETE` request where the path will contain the `udid` of the data to delete.
\nFor example, to delete a collection of geofences previously uploaded using the Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. \n\n\n### Delete Data Response\n\nThe Data Delete API returns a HTTP `204 No Content` response with an empty body, if the data resource was deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if the data resource with the passed-in `udid` is not found. ", + "description": "> [!NOTE]\n>\n> **Azure Maps Data service retirement**\n>\n> The Azure Maps Data service (both [v1](/rest/api/maps/data) and [v2](/rest/api/maps/data-v2)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](https://learn.microsoft.com/azure/azure-maps/how-to-create-data-registries).\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to delete a previously uploaded data content.
\nYou can use this API in a scenario like removing geofences previously uploaded using the [Data Upload API](https://docs.microsoft.com/rest/api/maps/data-v2/upload) for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial). You can also use this API to delete old/unused uploaded content and create space for new content.\n\n\n>[!Important]\n>By using this feature, you agree to the preview legal terms. See the [Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for additional details.\n### Submit Delete Request\n\nTo delete your content you will issue a `DELETE` request where the path will contain the `udid` of the data to delete.
\nFor example, to delete a collection of geofences previously uploaded using the Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. \n\n\n### Delete Data Response\n\nThe Data Delete API returns a HTTP `204 No Content` response with an empty body, if the data resource was deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if the data resource with the passed-in `udid` is not found. ", "operationId": "Data_Delete", "x-ms-examples": { "Delete previously uploaded GeoJSON data containing geometries that represent a collection of geofences": { @@ -332,7 +332,7 @@ }, "/mapData/operations/{operationId}": { "get": { - "description": "> [!NOTE]\n>\n> **Azure Maps Data service retirement**\n>\n> The Azure Maps Data service (both [v1](/rest/api/maps/data) and [v2](/rest/api/maps/data-v2)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](https://learn.microsoft.com/en-us/azure/azure-maps/how-to-create-data-registries).\n\nThis path will be obtained from a call to POST /mapData. While in progress, an http200 will be returned with no extra headers - followed by an http200 with Resource-Location header once completed.\n>[!Important]\n>By using this feature, you agree to the preview legal terms. See the [Preview Supplemental Terms](https://azure.microsoft.com/en-us/support/legal/preview-supplemental-terms/) for additional details.\n", + "description": "> [!NOTE]\n>\n> **Azure Maps Data service retirement**\n>\n> The Azure Maps Data service (both [v1](/rest/api/maps/data) and [v2](/rest/api/maps/data-v2)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](https://learn.microsoft.com/azure/azure-maps/how-to-create-data-registries).\n\nThis path will be obtained from a call to POST /mapData. While in progress, an http200 will be returned with no extra headers - followed by an http200 with Resource-Location header once completed.\n>[!Important]\n>By using this feature, you agree to the preview legal terms. See the [Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for additional details.\n", "operationId": "Data_GetOperation", "x-ms-examples": { "Get the status of an operation which is still running": { diff --git a/specification/maps/data-plane/Creator/preview/2.0/dataset.json b/specification/maps/data-plane/Creator/preview/2.0/dataset.json index 71b906f554f4..08a909a75436 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/dataset.json +++ b/specification/maps/data-plane/Creator/preview/2.0/dataset.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -69,7 +69,7 @@ }, "ConversionIdQuery": { "name": "conversionId", - "description": "The unique ID used to create the dataset. The `conversionId` must have been obtained from a successful call to the Conversion Service [Convert API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert) and may be provided with multiple query parameters with same name (if more than one is provided).", + "description": "The unique ID used to create the dataset. The `conversionId` must have been obtained from a successful call to the Conversion Service [Convert API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert) and may be provided with multiple query parameters with same name (if more than one is provided).", "type": "string", "in": "query", "required": true, @@ -150,7 +150,7 @@ } }, "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a list of all previously successfully created datasets.\n\n### Submit List Request\n\nTo list all your datasets, you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe List API returns the complete list of all datasets in `json` format. The response contains the following fields (if they are not null or empty):\n> created - The timestamp the dataset was created.\n> datasetId - The id for the dataset.\n> description - The description for the dataset.\n> datasetSources - The source data that was used when the create request was issued.\n> ontology - The source [ontology](https://docs.microsoft.com/en-us/azure/azure-maps/creator-facility-ontology) that was used in the conversion service for the input data.
\n\nThe `datasetSources` describes the source data that was used when the create request was issued and contains the following elements (if they are not null or empty):\n\n> conversionIds - The list of `conversionId` (null if none were provided).\n> appendDatasetId - The `datasetId` that was used for an append operation (null if none was used).\n>featureCounts - The counts for each feature type in the dataset.
\n\nHere's a sample response returning the `timestamp`, `datasetId`, `description`, `datasetSources`, and `ontology` of 3 dataset resources:\n\n\n```json\n{\n \"datasets\": [\n {\n \"timestamp\": \"2020-01-01T22:50:48.123Z\",\n \"datasetId\": \"f6495f62-94f8-0ec2-c252-45626f82fcb2\",\n \"description\": \"Some description or comment for the dataset.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"15d21452-c9bb-27b6-5e79-743ca5c3205d\"\n ], },\n \"\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n },\n {\n \"timestamp\": \"2020-01-01T22:57:53.123Z\",\n \"datasetId\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"description\": \"Create from upload '0c1288fa-2058-4a1b-b68d-13a5f5af7d7c'.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"0c1288fa-2058-4a1b-b68d-13a5f5af7d7c\"\n ],\n \"appendDatasetId\": \"46d1edb6-d29e-4786-9589-dbd4efd7a977\"\n },\n \"ontology\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n }\n ]\n}\n```", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a list of all previously successfully created datasets.\n\n### Submit List Request\n\nTo list all your datasets, you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe List API returns the complete list of all datasets in `json` format. The response contains the following fields (if they are not null or empty):\n> created - The timestamp the dataset was created.\n> datasetId - The id for the dataset.\n> description - The description for the dataset.\n> datasetSources - The source data that was used when the create request was issued.\n> ontology - The source [ontology](https://docs.microsoft.com/azure/azure-maps/creator-facility-ontology) that was used in the conversion service for the input data.
\n\nThe `datasetSources` describes the source data that was used when the create request was issued and contains the following elements (if they are not null or empty):\n\n> conversionIds - The list of `conversionId` (null if none were provided).\n> appendDatasetId - The `datasetId` that was used for an append operation (null if none was used).\n>featureCounts - The counts for each feature type in the dataset.
\n\nHere's a sample response returning the `timestamp`, `datasetId`, `description`, `datasetSources`, and `ontology` of 3 dataset resources:\n\n\n```json\n{\n \"datasets\": [\n {\n \"timestamp\": \"2020-01-01T22:50:48.123Z\",\n \"datasetId\": \"f6495f62-94f8-0ec2-c252-45626f82fcb2\",\n \"description\": \"Some description or comment for the dataset.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"15d21452-c9bb-27b6-5e79-743ca5c3205d\"\n ], },\n \"\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n },\n {\n \"timestamp\": \"2020-01-01T22:57:53.123Z\",\n \"datasetId\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"description\": \"Create from upload '0c1288fa-2058-4a1b-b68d-13a5f5af7d7c'.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"0c1288fa-2058-4a1b-b68d-13a5f5af7d7c\"\n ],\n \"appendDatasetId\": \"46d1edb6-d29e-4786-9589-dbd4efd7a977\"\n },\n \"ontology\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n }\n ]\n}\n```", "operationId": "Dataset_List", "x-ms-examples": { "List all the previously created datasets": { @@ -184,7 +184,7 @@ }, "/datasets/{datasetId}": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a previously successfully created dataset.\n\n### Submit Get Details Request\n\nTo get the details for a previously created dataset, you will issue a `GET` request with the `datasetId` in the path.\n\n### Get Details Response\n\nThe Get Details API returns the details for a dataset in `json` format. The response contains the following fields (if they are not null or empty):\n> created - The timestamp the dataset was created.\n> datasetId - The id for the dataset.\n> description - The description for the dataset.\n> datasetSources - The source data that was used when the create request was issued.\n> ontology - The source [ontology](https://docs.microsoft.com/en-us/azure/azure-maps/creator-facility-ontology) that was used in the conversion service for the input data.
\n\nThe `datasetSources` describes the source data that was used when the create request was issued and contains the following elements (if they are not null or empty):\n> conversionIds - The list of `conversionId` (null if none were provided).\n> appendDatasetId - The `datasetId` that was used for an append operation (null if none was used).\n>featureCounts - The counts for each feature type in the dataset.
\n\nHere's a sample response returning the `timestamp`, `datasetId`, `description`, `datasetSources`, and `ontology` of a dataset resource:\n\n```json\n{\n \"timestamp\": \"2020-01-01T22:50:48.123Z\",\n \"datasetId\": \"f6495f62-94f8-0ec2-c252-45626f82fcb2\",\n \"description\": \"Some description or comment for the dataset.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"15d21452-c9bb-27b6-5e79-743ca5c3205d\"\n ],\n },\n \"ontology\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n }\n```", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a previously successfully created dataset.\n\n### Submit Get Details Request\n\nTo get the details for a previously created dataset, you will issue a `GET` request with the `datasetId` in the path.\n\n### Get Details Response\n\nThe Get Details API returns the details for a dataset in `json` format. The response contains the following fields (if they are not null or empty):\n> created - The timestamp the dataset was created.\n> datasetId - The id for the dataset.\n> description - The description for the dataset.\n> datasetSources - The source data that was used when the create request was issued.\n> ontology - The source [ontology](https://docs.microsoft.com/azure/azure-maps/creator-facility-ontology) that was used in the conversion service for the input data.
\n\nThe `datasetSources` describes the source data that was used when the create request was issued and contains the following elements (if they are not null or empty):\n> conversionIds - The list of `conversionId` (null if none were provided).\n> appendDatasetId - The `datasetId` that was used for an append operation (null if none was used).\n>featureCounts - The counts for each feature type in the dataset.
\n\nHere's a sample response returning the `timestamp`, `datasetId`, `description`, `datasetSources`, and `ontology` of a dataset resource:\n\n```json\n{\n \"timestamp\": \"2020-01-01T22:50:48.123Z\",\n \"datasetId\": \"f6495f62-94f8-0ec2-c252-45626f82fcb2\",\n \"description\": \"Some description or comment for the dataset.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"15d21452-c9bb-27b6-5e79-743ca5c3205d\"\n ],\n },\n \"ontology\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n }\n```", "operationId": "Dataset_Get", "x-ms-examples": { "Get details for a previously created dataset": { diff --git a/specification/maps/data-plane/Creator/preview/2.0/dwgconversion.json b/specification/maps/data-plane/Creator/preview/2.0/dwgconversion.json index 6ea91d81efc8..c32a2e705758 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/dwgconversion.json +++ b/specification/maps/data-plane/Creator/preview/2.0/dwgconversion.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -77,7 +77,7 @@ }, "ConversionId": { "name": "conversionId", - "description": "The conversion id for the content. The `conversionId` must have been obtained from a successful [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert) call.", + "description": "The conversion id for the content. The `conversionId` must have been obtained from a successful [Conversion API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert) call.", "type": "string", "in": "path", "required": true, @@ -85,7 +85,7 @@ }, "OutputOntology": { "name": "outputOntology", - "description": "Output ontology version. \"facility-2.0\" is the only supported value at this time. Please refer to this [article](https://docs.microsoft.com/en-us/azure/azure-maps/creator-facility-ontology) for more information about Azure Maps Creator ontologies.", + "description": "Output ontology version. \"facility-2.0\" is the only supported value at this time. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/creator-facility-ontology) for more information about Azure Maps Creator ontologies.", "type": "string", "in": "query", "required": true, @@ -165,7 +165,7 @@ } }, "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a list of all successful data conversions submitted previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert). \n\n### Submit List Request\n\nTo list all successful conversions you will issue a `GET` request with no additional parameters.\n\n### List Data Response\n\nThe Conversion List API returns the complete list of all conversion details in `json` format.
\n\nHere is a sample response returning the details of two successful conversion requests: \n\n
\n\n```json\n{\n \"conversions\": \n [\n {\n \"conversionId\": \"54398242-ea6c-1f31-4fa6-79b1ae0fc24d\",\n \"udid\": \"31838736-8b84-11ea-bc55-0242ac130003\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n },\n {\n \"conversionId\": \"2acf7d32-8b84-11ea-bc55-0242ac130003\",\n \"udid\": \"1214bc58-8b84-11ea-bc55-0242ac1300039\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n }\n ]\n}\n```\n\n
", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a list of all successful data conversions submitted previously using the [Conversion API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert). \n\n### Submit List Request\n\nTo list all successful conversions you will issue a `GET` request with no additional parameters.\n\n### List Data Response\n\nThe Conversion List API returns the complete list of all conversion details in `json` format.
\n\nHere is a sample response returning the details of two successful conversion requests: \n\n
\n\n```json\n{\n \"conversions\": \n [\n {\n \"conversionId\": \"54398242-ea6c-1f31-4fa6-79b1ae0fc24d\",\n \"udid\": \"31838736-8b84-11ea-bc55-0242ac130003\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n },\n {\n \"conversionId\": \"2acf7d32-8b84-11ea-bc55-0242ac130003\",\n \"udid\": \"1214bc58-8b84-11ea-bc55-0242ac1300039\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n }\n ]\n}\n```\n\n
", "operationId": "Conversion_List", "x-ms-examples": { "Returns a list of all the data processed by the Conversion Service for the account": { @@ -199,7 +199,7 @@ }, "/conversions/{conversionId}": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a successful data conversion submitted previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert). ", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a successful data conversion submitted previously using the [Conversion API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert). ", "operationId": "Conversion_Get", "x-ms-examples": { "Get the details for one conversion operation": { @@ -230,7 +230,7 @@ } }, "delete": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to delete any data conversions created previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert).\n\n### Submit Delete Request\n\nTo delete your conversion data you will issue a `DELETE` request where the path will contain the `conversionId` of the data to delete.\n\n### Conversion Delete Response\n\nThe Conversion Delete API returns a HTTP `204 No Content` response with an empty body, if the converted data resources were deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if no resource associated with the passed-in `conversionId` is found. ", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to delete any data conversions created previously using the [Conversion API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert).\n\n### Submit Delete Request\n\nTo delete your conversion data you will issue a `DELETE` request where the path will contain the `conversionId` of the data to delete.\n\n### Conversion Delete Response\n\nThe Conversion Delete API returns a HTTP `204 No Content` response with an empty body, if the converted data resources were deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if no resource associated with the passed-in `conversionId` is found. ", "operationId": "Conversion_Delete", "x-ms-examples": { "Delete previously converted content": { diff --git a/specification/maps/data-plane/Creator/preview/2.0/featurestate.json b/specification/maps/data-plane/Creator/preview/2.0/featurestate.json index 646813f84a8a..fce531d32ac7 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/featurestate.json +++ b/specification/maps/data-plane/Creator/preview/2.0/featurestate.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -77,7 +77,7 @@ }, "DatasetIdForCreate": { "name": "datasetId", - "description": "The datasetId must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create) call.", + "description": "The datasetId must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/rest/api/maps/v2/dataset/create) call.", "type": "string", "in": "query", "required": true, diff --git a/specification/maps/data-plane/Creator/preview/2.0/tileset.json b/specification/maps/data-plane/Creator/preview/2.0/tileset.json index e49c1ea9ef87..835581c62aa3 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/tileset.json +++ b/specification/maps/data-plane/Creator/preview/2.0/tileset.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -69,7 +69,7 @@ }, "DatasetIdQuery": { "name": "datasetId", - "description": "The unique `datasetId` that the tileset create API uses to retrieve features to generate tiles. The `datasetId` must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create) call.", + "description": "The unique `datasetId` that the tileset create API uses to retrieve features to generate tiles. The `datasetId` must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/rest/api/maps/v2/dataset/create) call.", "type": "string", "in": "query", "required": true, diff --git a/specification/maps/data-plane/Creator/preview/2.0/wfs.json b/specification/maps/data-plane/Creator/preview/2.0/wfs.json index 346a20ba9d3c..87ab73ba1e1b 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/wfs.json +++ b/specification/maps/data-plane/Creator/preview/2.0/wfs.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -116,7 +116,7 @@ "paths": { "/wfs/datasets/{datasetId}/": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Landing Page API provides links to the API definition, the Conformance statements and the metadata about the feature data in this dataset.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Landing Page API provides links to the API definition, the Conformance statements and the metadata about the feature data in this dataset.", "operationId": "WFS_GetLandingPage", "x-ms-examples": { "GetLandingPage": { @@ -149,7 +149,7 @@ }, "/wfs/datasets/{datasetId}/conformance": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThe Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Requirements Classes lists all requirements classes specified in the standard that the server conforms to.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThe Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Requirements Classes lists all requirements classes specified in the standard that the server conforms to.", "operationId": "WFS_ListConformance", "x-ms-examples": { "GetConformance": { @@ -182,7 +182,7 @@ }, "/wfs/datasets/{datasetId}/collections": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Collections Description API provides descriptions of all the collections in a given dataset.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Collections Description API provides descriptions of all the collections in a given dataset.", "operationId": "WFS_GetCollections", "x-ms-examples": { "GetCollections": { @@ -215,7 +215,7 @@ }, "/wfs/datasets/{datasetId}/collections/{collectionId}": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\n \nThe Collection Description API provides the description of a given collection. It includes the links to the operations that can be performed on the collection.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\n \nThe Collection Description API provides the description of a given collection. It includes the links to the operations that can be performed on the collection.", "operationId": "WFS_GetCollection", "x-ms-examples": { "GetCollection": { @@ -251,7 +251,7 @@ }, "/wfs/datasets/{datasetId}/collections/{collectionId}/definition": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\n \nThe Collection Definition API provides the detailed data model of a given collection.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\n \nThe Collection Definition API provides the detailed data model of a given collection.", "operationId": "WFS_GetCollectionDefinition", "x-ms-examples": { "GetCollectionDefinition": { @@ -287,7 +287,7 @@ }, "/wfs/datasets/{datasetId}/collections/{collectionId}/items": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Features API returns the list of features in the given collection.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Features API returns the list of features in the given collection.", "operationId": "WFS_GetFeatures", "x-ms-examples": { "GetFeatures": { @@ -332,7 +332,7 @@ }, "/wfs/datasets/{datasetId}/collections/{collectionId}/items/{featureId}": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Feature API returns the feature identified by the provided id in the given collection.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Feature API returns the feature identified by the provided id in the given collection.", "operationId": "WFS_GetFeature", "x-ms-examples": { "GetFeature": { @@ -366,7 +366,7 @@ } }, "delete": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Delete Feature API deletes the feature identified by the provided id in the given collection. At this point this API supports only facility features. Deleting a facility feature deletes all the child features of that facility recursively.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Delete Feature API deletes the feature identified by the provided id in the given collection. At this point this API supports only facility features. Deleting a facility feature deletes all the child features of that facility recursively.", "operationId": "WFS_DeleteFeature", "x-ms-examples": { "DeleteFeature": { diff --git a/specification/maps/data-plane/Creator/preview/2022-09-01-preview/dataset.json b/specification/maps/data-plane/Creator/preview/2022-09-01-preview/dataset.json index e247b134b78d..0a5653c6982d 100644 --- a/specification/maps/data-plane/Creator/preview/2022-09-01-preview/dataset.json +++ b/specification/maps/data-plane/Creator/preview/2022-09-01-preview/dataset.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Creator/preview/2022-09-01-preview/mapconfiguration.json b/specification/maps/data-plane/Creator/preview/2022-09-01-preview/mapconfiguration.json index 3eea56ebca07..eb0d836a99f1 100644 --- a/specification/maps/data-plane/Creator/preview/2022-09-01-preview/mapconfiguration.json +++ b/specification/maps/data-plane/Creator/preview/2022-09-01-preview/mapconfiguration.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Creator/preview/2022-09-01-preview/routeset.json b/specification/maps/data-plane/Creator/preview/2022-09-01-preview/routeset.json index 96885d5e7041..6e05628f5c5d 100644 --- a/specification/maps/data-plane/Creator/preview/2022-09-01-preview/routeset.json +++ b/specification/maps/data-plane/Creator/preview/2022-09-01-preview/routeset.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Creator/preview/2022-09-01-preview/style.json b/specification/maps/data-plane/Creator/preview/2022-09-01-preview/style.json index 15168bcb2098..31c030dfe4c4 100644 --- a/specification/maps/data-plane/Creator/preview/2022-09-01-preview/style.json +++ b/specification/maps/data-plane/Creator/preview/2022-09-01-preview/style.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Creator/preview/2022-09-01-preview/tileset.json b/specification/maps/data-plane/Creator/preview/2022-09-01-preview/tileset.json index 05a3734eb21a..2acb5a2d6390 100644 --- a/specification/maps/data-plane/Creator/preview/2022-09-01-preview/tileset.json +++ b/specification/maps/data-plane/Creator/preview/2022-09-01-preview/tileset.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -102,7 +102,7 @@ "paths": { "/tilesets": { "post": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Create request creates a tileset from the specified dataset. A tileset contains a set of tiles that can be consumed \nfrom the [Get Map Tile](/rest/api/maps/render/getmaptile) to retrieve custom tiles. To make a dataset, use the \n[DataSet Create API](/rest/api/maps/v2/dataset/create).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n## Submit Create Request\n\nTo create your tileset you will make a `POST` request with an **optional request body** as [tileset configuration](/rest/api/documentation-preview/tileset/create?#tilesetconfiguration). The `datasetId` query parameter will be used as the source of the tileset data.\n\nThe Create Tileset API is a [long-running operation](https://aka.ms/am-creator-lrt-v2).", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Create request creates a tileset from the specified dataset. A tileset contains a set of tiles that can be consumed \nfrom the [Get Map Tile](/rest/api/maps/render/getmaptile) to retrieve custom tiles. To make a dataset, use the \n[DataSet Create API](/rest/api/maps/v2/dataset/create).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n## Submit Create Request\n\nTo create your tileset you will make a `POST` request with an **optional request body** as [tileset configuration](/rest/api/maps-creator/tileset/create#tilesetconfiguration). The `datasetId` query parameter will be used as the source of the tileset data.\n\nThe Create Tileset API is a [long-running operation](https://aka.ms/am-creator-lrt-v2).", "operationId": "Tileset_Create", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { @@ -241,7 +241,7 @@ }, "/tilesets:fetchConfiguration": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Get Configuration request allows the caller to get a default [tileset configuration](/rest/api/documentation-preview/tileset/get-configuration?#tilesetconfiguration) based on the dataset provided. Then the tileset configuration can be used to create custom tileset using the [Tileset Create API](/rest/api/documentation-preview/tileset/create).\n\n Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Get Configuration request allows the caller to get a default [tileset configuration](/rest/api/maps-creator/tileset/get-configuration#tilesetconfiguration) based on the dataset provided. Then the tileset configuration can be used to create custom tileset using the [Tileset Create API](/rest/api/documentation-preview/tileset/create).\n\n Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.", "operationId": "Tileset_GetConfiguration", "x-ms-examples": { "Gets the tileset configuration for a given dataset": { @@ -261,7 +261,7 @@ ], "responses": { "200": { - "description": "Get tileset configuration request completed successfully. The response body contains a default [tileset configuration](/rest/api/documentation-preview/tileset/get-configuration?#tilesetconfiguration) generated for the given dataset.", + "description": "Get tileset configuration request completed successfully. The response body contains a default [tileset configuration](/rest/api/maps-creator/tileset/get-configuration#tilesetconfiguration) generated for the given dataset.", "schema": { "$ref": "#/definitions/TilesetConfiguration" } @@ -274,7 +274,7 @@ }, "/tilesets:validateConfiguration": { "post": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Validate Configuration request allows the caller to validate a [tileset configuration](/rest/api/documentation-preview/tileset/validate-configuration?#tilesetconfiguration).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Validate Configuration request allows the caller to validate a [tileset configuration](/rest/api/maps-creator/tileset/validate-configuration#tilesetconfiguration).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.", "operationId": "Tileset_ValidateConfiguration", "x-ms-examples": { "Validates the correctness of a tileset configuration": { diff --git a/specification/maps/data-plane/Creator/preview/2022-09-01-preview/wayfind.json b/specification/maps/data-plane/Creator/preview/2022-09-01-preview/wayfind.json index 7200fec1dcec..9af53eb8f6e6 100644 --- a/specification/maps/data-plane/Creator/preview/2022-09-01-preview/wayfind.json +++ b/specification/maps/data-plane/Creator/preview/2022-09-01-preview/wayfind.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Creator/preview/2023-03-01-preview/dataset.json b/specification/maps/data-plane/Creator/preview/2023-03-01-preview/dataset.json index d1b9ed9d77b5..c17d5fcb6e2e 100644 --- a/specification/maps/data-plane/Creator/preview/2023-03-01-preview/dataset.json +++ b/specification/maps/data-plane/Creator/preview/2023-03-01-preview/dataset.json @@ -68,7 +68,7 @@ }, "ConversionIdQuery": { "name": "conversionId", - "description": "ID to create the dataset. The `conversionId` must be obtained from a successful call to the Conversion Service [Convert API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert). Only one conversionId can be provided per API call. **conversionId and udid are mutually exclusive parameters.**", + "description": "ID to create the dataset. The `conversionId` must be obtained from a successful call to the Conversion Service [Convert API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert). Only one conversionId can be provided per API call. **conversionId and udid are mutually exclusive parameters.**", "type": "string", "in": "query", "required": false, @@ -76,7 +76,7 @@ }, "Udid": { "name": "udid", - "description": "ID to create the dataset. The `udid` can be obtained from uploading data using [Azure Maps Data Service](https://docs.microsoft.com/en-us/rest/api/maps/data-v2). Only one udid can be provided per API call. **outputOntology parameter must be provided with the udid. conversionId and udid are mutually exclusive parameters.**", + "description": "ID to create the dataset. The `udid` can be obtained from uploading data using [Azure Maps Data Service](https://docs.microsoft.com/rest/api/maps/data-v2). Only one udid can be provided per API call. **outputOntology parameter must be provided with the udid. conversionId and udid are mutually exclusive parameters.**", "type": "string", "in": "query", "required": false, @@ -131,7 +131,7 @@ "paths": { "/datasets": { "post": { - "description": "This API allows the caller to create a dataset from data that was uploaded to the [Azure Maps Data Service](https://docs.microsoft.com/en-us/rest/api/maps/data-v2) and converted using the [Azure Maps Conversion Service](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion). You can also create a dataset directly using data uploaded to the [Azure Maps Data Service](https://docs.microsoft.com/en-us/rest/api/maps/data-v2), provided that the uploaded data is a zip of GeoJSON files conforming to the [facility ontology](https://docs.microsoft.com/en-us/azure/azure-maps/creator-facility-ontology) format.\n\nFor more information on how to create a dataset from a zip of GeoJSON files, please visit this [article](https://aka.ms/howtofacilitygeojson)\n\n### Submit Create Request\n\nTo create your dataset, issue a `POST` request with the required parameters. The Create API is a [long-running operation](https://aka.ms/am-creator-lrt-v2).", + "description": "This API allows the caller to create a dataset from data that was uploaded to the [Azure Maps Data Service](https://docs.microsoft.com/rest/api/maps/data-v2) and converted using the [Azure Maps Conversion Service](https://docs.microsoft.com/rest/api/maps/v2/conversion). You can also create a dataset directly using data uploaded to the [Azure Maps Data Service](https://docs.microsoft.com/rest/api/maps/data-v2), provided that the uploaded data is a zip of GeoJSON files conforming to the [facility ontology](https://docs.microsoft.com/azure/azure-maps/creator-facility-ontology) format.\n\nFor more information on how to create a dataset from a zip of GeoJSON files, please visit this [article](https://aka.ms/howtofacilitygeojson)\n\n### Submit Create Request\n\nTo create your dataset, issue a `POST` request with the required parameters. The Create API is a [long-running operation](https://aka.ms/am-creator-lrt-v2).", "operationId": "Dataset_Create", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { diff --git a/specification/maps/data-plane/Creator/preview/2023-03-01-preview/dwgconversion.json b/specification/maps/data-plane/Creator/preview/2023-03-01-preview/dwgconversion.json index ea5bb4610978..437d56cec7b2 100644 --- a/specification/maps/data-plane/Creator/preview/2023-03-01-preview/dwgconversion.json +++ b/specification/maps/data-plane/Creator/preview/2023-03-01-preview/dwgconversion.json @@ -76,7 +76,7 @@ }, "ConversionId": { "name": "conversionId", - "description": "The conversion id for the content. The `conversionId` must have been obtained from a successful [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert) call.", + "description": "The conversion id for the content. The `conversionId` must have been obtained from a successful [Conversion API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert) call.", "type": "string", "in": "path", "required": true, @@ -98,11 +98,11 @@ "values": [ { "value": "1.0", - "description": "The drawing package version 1.0. Please refer to this [article](https://docs.microsoft.com/en-us/azure/azure-maps/drawing-requirements?pivots=1.0) for more information." + "description": "The drawing package version 1.0. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/drawing-requirements?pivots=1.0) for more information." }, { "value": "2.0", - "description": "The drawing package version 2.0. Please refer to this [article](https://docs.microsoft.com/en-us/azure/azure-maps/drawing-requirements?pivots=2.0) for more information." + "description": "The drawing package version 2.0. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/drawing-requirements?pivots=2.0) for more information." } ] }, @@ -166,7 +166,7 @@ } }, "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a list of all successful data conversions submitted previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert). \n\n### Submit List Request\n\nTo list all successful conversions you will issue a `GET` request with no additional parameters.\n\n### List Data Response\n\nThe Conversion List API returns the complete list of all conversion details in `json` format.
\n\nHere is a sample response returning the details of two successful conversion requests: \n\n
\n\n```json\n{\n \"conversions\": \n [\n {\n \"conversionId\": \"54398242-ea6c-1f31-4fa6-79b1ae0fc24d\",\n \"udid\": \"31838736-8b84-11ea-bc55-0242ac130003\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n },\n {\n \"conversionId\": \"2acf7d32-8b84-11ea-bc55-0242ac130003\",\n \"udid\": \"1214bc58-8b84-11ea-bc55-0242ac1300039\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n }\n ]\n}\n```\n\n
", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a list of all successful data conversions submitted previously using the [Conversion API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert). \n\n### Submit List Request\n\nTo list all successful conversions you will issue a `GET` request with no additional parameters.\n\n### List Data Response\n\nThe Conversion List API returns the complete list of all conversion details in `json` format.
\n\nHere is a sample response returning the details of two successful conversion requests: \n\n
\n\n```json\n{\n \"conversions\": \n [\n {\n \"conversionId\": \"54398242-ea6c-1f31-4fa6-79b1ae0fc24d\",\n \"udid\": \"31838736-8b84-11ea-bc55-0242ac130003\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n },\n {\n \"conversionId\": \"2acf7d32-8b84-11ea-bc55-0242ac130003\",\n \"udid\": \"1214bc58-8b84-11ea-bc55-0242ac1300039\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n }\n ]\n}\n```\n\n
", "operationId": "Conversion_List", "x-ms-examples": { "Returns a list of all the data processed by the Conversion Service for the account": { @@ -200,7 +200,7 @@ }, "/conversions/{conversionId}": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a successful data conversion submitted previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert). ", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a successful data conversion submitted previously using the [Conversion API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert). ", "operationId": "Conversion_Get", "x-ms-examples": { "Get the details for one conversion operation": { @@ -231,7 +231,7 @@ } }, "delete": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to delete any data conversions created previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert).\n\n### Submit Delete Request\n\nTo delete your conversion data you will issue a `DELETE` request where the path will contain the `conversionId` of the data to delete.\n\n### Conversion Delete Response\n\nThe Conversion Delete API returns a HTTP `204 No Content` response with an empty body, if the converted data resources were deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if no resource associated with the passed-in `conversionId` is found. ", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to delete any data conversions created previously using the [Conversion API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert).\n\n### Submit Delete Request\n\nTo delete your conversion data you will issue a `DELETE` request where the path will contain the `conversionId` of the data to delete.\n\n### Conversion Delete Response\n\nThe Conversion Delete API returns a HTTP `204 No Content` response with an empty body, if the converted data resources were deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if no resource associated with the passed-in `conversionId` is found. ", "operationId": "Conversion_Delete", "x-ms-examples": { "Delete previously converted content": { diff --git a/specification/maps/data-plane/Creator/preview/2023-03-01-preview/features.json b/specification/maps/data-plane/Creator/preview/2023-03-01-preview/features.json index 597485644365..5539a4f8cd0e 100644 --- a/specification/maps/data-plane/Creator/preview/2023-03-01-preview/features.json +++ b/specification/maps/data-plane/Creator/preview/2023-03-01-preview/features.json @@ -144,7 +144,7 @@ "paths": { "/features/datasets/{datasetId}": { "get": { - "description": "The Get Landing Page API provides links to the API definition, the Conformance statements, and the metadata about the feature data in this dataset.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://learn.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get Landing Page API provides links to the API definition, the Conformance statements, and the metadata about the feature data in this dataset.\n\nThe Features API is a part of [Creator](/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see [pricing tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_GetLandingPage", "x-ms-examples": { "GetLandingPage": { @@ -177,7 +177,7 @@ }, "/features/datasets/{datasetId}/api": { "get": { - "description": "The Get API Definition API provides a description of the capabilities of the Features service. It can be used by developers to understand the API or by development tools to support the implementation of servers and clients.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://learn.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get API Definition API provides a description of the capabilities of the Features service. It can be used by developers to understand the API or by development tools to support the implementation of servers and clients.\n\nThe Features API is a part of [Creator](/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see [pricing tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_GetApiDefinition", "x-ms-examples": { "GetApiDefinition": { @@ -210,7 +210,7 @@ }, "/features/datasets/{datasetId}/conformance": { "get": { - "description": "The Get Conformance API lists all requirements classes specified in the standard that the server conforms to.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://learn.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get Conformance API lists all requirements classes specified in the standard that the server conforms to.\n\nThe Features API is a part of [Creator](/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see [pricing tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_ListConformance", "x-ms-examples": { "GetConformance": { @@ -243,7 +243,7 @@ }, "/features/datasets/{datasetId}/collections": { "get": { - "description": "The Get Collections API provides a list of all the collections in a given dataset.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://learn.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get Collections API provides a list of all the collections in a given dataset.\n\nThe Features API is a part of [Creator](/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see [pricing tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_GetCollections", "x-ms-examples": { "GetCollections": { @@ -276,7 +276,7 @@ }, "/features/datasets/{datasetId}/collections/{collectionId}": { "get": { - "description": "The Get Collection API returns the collection identified by the provided id in the given dataset.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://learn.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get Collection API returns the collection identified by the provided id in the given dataset.\n\nThe Features API is a part of [Creator](/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see [pricing tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_GetCollection", "x-ms-examples": { "GetCollection": { @@ -312,7 +312,7 @@ }, "/features/datasets/{datasetId}/collections/{collectionId}/definition": { "get": { - "description": "The Collection Definition API provides the detailed data model of a given collection.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://learn.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Collection Definition API provides the detailed data model of a given collection.\n\nThe Features API is a part of [Creator](/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see [pricing tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_GetCollectionDefinition", "x-ms-examples": { "GetCollectionDefinition": { @@ -348,7 +348,7 @@ }, "/features/datasets/{datasetId}/collections/{collectionId}/items": { "get": { - "description": "The Get Features API returns the list of features in the given collection.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://learn.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get Features API returns the list of features in the given collection.\n\nThe Features API is a part of [Creator](/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see [pricing tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_GetItems", "x-ms-examples": { "GetFeatures": { @@ -391,7 +391,7 @@ } }, "post": { - "description": "This Post Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API creates a feature with the provided attributes in the given collection.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://learn.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "This Post Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API creates a feature with the provided attributes in the given collection.\n\nThe Features API is a part of [Creator](/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see [pricing tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_Create", "x-ms-examples": { "PostFeature": { @@ -430,7 +430,7 @@ }, "/features/datasets/{datasetId}/collections/{collectionId}/items/{featureId}": { "get": { - "description": "The Get Feature API returns the feature identified by the provided id in the given collection.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://learn.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get Feature API returns the feature identified by the provided id in the given collection.\n\nThe Features API is a part of [Creator](azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see [pricing tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_Get", "x-ms-examples": { "GetFeature": { @@ -464,7 +464,7 @@ } }, "put": { - "description": "This Put Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API **replaces** the feature identified by the provided id in the given collection, i.e., the request body overwrites all the existing attributes of a feature.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://learn.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "This Put Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API **replaces** the feature identified by the provided id in the given collection, i.e., the request body overwrites all the existing attributes of a feature.\n\nThe Features API is a part of [Creator](/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see [pricing tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_Replace", "x-ms-examples": { "PutFeature": { @@ -501,7 +501,7 @@ } }, "patch": { - "description": "This Patch Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API **updates** attributes by performing a merge patch on the feature identified by the provided id in the given collection. It allows for the update of individual feature attributes without implicitly overwriting excluded attributes in the request body.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://learn.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "This Patch Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API **updates** attributes by performing a merge patch on the feature identified by the provided id in the given collection. It allows for the update of individual feature attributes without implicitly overwriting excluded attributes in the request body.\n\nThe Features API is a part of [Creator](/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see [pricing tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_Update", "x-ms-examples": { "PatchFeature": { @@ -538,7 +538,7 @@ } }, "delete": { - "description": "This Delete Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API deletes the feature identified by the provided id in the given collection. Please note that if other existing features are dependent on the requested feature for deletion, the delete request will fail until the dependent features are deleted first.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://learn.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "This Delete Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API deletes the feature identified by the provided id in the given collection. Please note that if other existing features are dependent on the requested feature for deletion, the delete request will fail until the dependent features are deleted first.\n\nThe Features API is a part of [Creator](/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see [pricing tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_Delete", "x-ms-examples": { "DeleteFeature": { diff --git a/specification/maps/data-plane/Creator/preview/2023-03-01-preview/featurestate.json b/specification/maps/data-plane/Creator/preview/2023-03-01-preview/featurestate.json index c60f2509d9ca..191d785fdd7b 100644 --- a/specification/maps/data-plane/Creator/preview/2023-03-01-preview/featurestate.json +++ b/specification/maps/data-plane/Creator/preview/2023-03-01-preview/featurestate.json @@ -76,7 +76,7 @@ }, "DatasetIdForCreate": { "name": "datasetId", - "description": "The datasetId must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create) call.", + "description": "The datasetId must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/rest/api/maps/v2/dataset/create) call.", "type": "string", "in": "query", "required": true, diff --git a/specification/maps/data-plane/Creator/preview/2023-03-01-preview/tileset.json b/specification/maps/data-plane/Creator/preview/2023-03-01-preview/tileset.json index 45a6160fb866..2eebae0cc8bf 100644 --- a/specification/maps/data-plane/Creator/preview/2023-03-01-preview/tileset.json +++ b/specification/maps/data-plane/Creator/preview/2023-03-01-preview/tileset.json @@ -68,7 +68,7 @@ }, "DatasetIdQuery": { "name": "datasetId", - "description": "The unique `datasetId` that the tileset create API uses to retrieve features to generate tiles. The `datasetId` must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create) call.", + "description": "The unique `datasetId` that the tileset create API uses to retrieve features to generate tiles. The `datasetId` must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/rest/api/maps/v2/dataset/create) call.", "type": "string", "in": "query", "required": true, @@ -101,7 +101,7 @@ "paths": { "/tilesets": { "post": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Create request creates a tileset from the specified dataset. A tileset contains a set of tiles that can be consumed \nfrom the [Get Map Tile](/rest/api/maps/render/getmaptile) to retrieve custom tiles. To make a dataset, use the \n[DataSet Create API](/rest/api/maps/v2/dataset/create).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n## Submit Create Request\n\nTo create your tileset you will make a `POST` request with an **optional request body** as [tileset configuration](/rest/api/documentation-preview/tileset/create?#tilesetconfiguration). The `datasetId` query parameter will be used as the source of the tileset data.\n\nThe Create Tileset API is a [long-running operation](https://aka.ms/am-creator-lrt-v2).", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Create request creates a tileset from the specified dataset. A tileset contains a set of tiles that can be consumed \nfrom the [Get Map Tile](/rest/api/maps/render/getmaptile) to retrieve custom tiles. To make a dataset, use the \n[DataSet Create API](/rest/api/maps/v2/dataset/create).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n## Submit Create Request\n\nTo create your tileset you will make a `POST` request with an **optional request body** as [tileset configuration](/rest/api/maps-creator/tileset/create#tilesetconfiguration). The `datasetId` query parameter will be used as the source of the tileset data.\n\nThe Create Tileset API is a [long-running operation](https://aka.ms/am-creator-lrt-v2).", "operationId": "Tileset_Create", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { @@ -240,7 +240,7 @@ }, "/tilesets:fetchConfiguration": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Get Configuration request allows the caller to get a default [tileset configuration](/rest/api/documentation-preview/tileset/get-configuration?#tilesetconfiguration) based on the dataset provided. Then the tileset configuration can be used to create custom tileset using the [Tileset Create API](/rest/api/documentation-preview/tileset/create).\n\n Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Get Configuration request allows the caller to get a default [tileset configuration](/rest/api/maps-creator/tileset/get-configuration#tilesetconfiguration) based on the dataset provided. Then the tileset configuration can be used to create custom tileset using the [Tileset Create API](/rest/api/documentation-preview/tileset/create).\n\n Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.", "operationId": "Tileset_GetConfiguration", "x-ms-examples": { "Gets the tileset configuration for a given dataset": { @@ -260,7 +260,7 @@ ], "responses": { "200": { - "description": "Get tileset configuration request completed successfully. The response body contains a default [tileset configuration](/rest/api/documentation-preview/tileset/get-configuration?#tilesetconfiguration) generated for the given dataset.", + "description": "Get tileset configuration request completed successfully. The response body contains a default [tileset configuration](/rest/api/maps-creator/tileset/get-configuration#tilesetconfiguration) generated for the given dataset.", "schema": { "$ref": "#/definitions/TilesetConfiguration" } @@ -273,7 +273,7 @@ }, "/tilesets:validateConfiguration": { "post": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Validate Configuration request allows the caller to validate a [tileset configuration](/rest/api/documentation-preview/tileset/validate-configuration?#tilesetconfiguration).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Validate Configuration request allows the caller to validate a [tileset configuration](/rest/api/maps-creator/tileset/validate-configuration#tilesetconfiguration).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.", "operationId": "Tileset_ValidateConfiguration", "x-ms-examples": { "Validates the correctness of a tileset configuration": { @@ -532,7 +532,7 @@ ], "properties": { "featureClasses": { - "description": "The list of feature classes that will be used to build the layer. The valid feature classes can be found in its ontology definition. For example, [Facility Ontology](https://docs.microsoft.com/en-us/azure/azure-maps/creator-facility-ontology)", + "description": "The list of feature classes that will be used to build the layer. The valid feature classes can be found in its ontology definition. For example, [Facility Ontology](https://docs.microsoft.com/azure/azure-maps/creator-facility-ontology)", "type": "array", "items": { "type": "string" diff --git a/specification/maps/data-plane/Creator/readme.md b/specification/maps/data-plane/Creator/readme.md index 01ed941745e1..6cd166c4edc7 100644 --- a/specification/maps/data-plane/Creator/readme.md +++ b/specification/maps/data-plane/Creator/readme.md @@ -40,8 +40,12 @@ directive: - suppress: NOT_LATEST_API_VERSION_IN_DEFAULT_TAG from: /specification/maps/data-plane/Creator/preview/2023-07-01-preview reason: The files in '/specification/maps/data-plane/Creator/stable/2023-07-01-preview' were never released. Please ignore them, they should not appear in the TOC. '/specification/maps/data-plane/Creator/preview/2023-03-01-preview/' contains the latest preview. +<<<<<<< HEAD - suppress: RESPONSE_SCHEMA_NOT_IN_SPEC reason: false positive from oav is breaking our example validation. See azure/oav#1021. +======= + +>>>>>>> d03ae7850ed8716105b8228802fdbaf2b85ee010 ``` ### Tag: package-stable-V2 diff --git a/specification/maps/data-plane/Creator/stable/2023-07-01/dataset.json b/specification/maps/data-plane/Creator/stable/2023-07-01/dataset.json index 4de2fac85db8..5ac0b0b95879 100644 --- a/specification/maps/data-plane/Creator/stable/2023-07-01/dataset.json +++ b/specification/maps/data-plane/Creator/stable/2023-07-01/dataset.json @@ -68,7 +68,7 @@ }, "ConversionIdQuery": { "name": "conversionId", - "description": "ID to create the dataset. The `conversionId` must be obtained from a successful call to the Conversion Service [Convert API](https://docs.microsoft.com/en-us/rest/api/maps/2023-07-01/conversion/convert). Only one conversionId can be provided per API call.", + "description": "ID to create the dataset. The `conversionId` must be obtained from a successful call to the Conversion Service [Convert API](https://docs.microsoft.com/rest/api/maps/2023-07-01/conversion/convert). Only one conversionId can be provided per API call.", "type": "string", "in": "query", "required": false, @@ -108,7 +108,7 @@ "paths": { "/datasets": { "post": { - "description": "This API allows the caller to create a dataset from data that was uploaded to the [Azure Maps Data Service](https://docs.microsoft.com/en-us/rest/api/maps/data-v2) and converted using the [Azure Maps Conversion Service](https://docs.microsoft.com/en-us/rest/api/maps/2023-07-01/conversion).\n\n### Submit Create Request\n\nTo create your dataset, issue a `POST` request with the required parameters. The Create API is a [long-running operation](https://aka.ms/am-creator-lrt-v2).", + "description": "This API allows the caller to create a dataset from data that was uploaded to the [Azure Maps Data Service](https://docs.microsoft.com/rest/api/maps/data-v2) and converted using the [Azure Maps Conversion Service](https://docs.microsoft.com/rest/api/maps/2023-07-01/conversion).\n\n### Submit Create Request\n\nTo create your dataset, issue a `POST` request with the required parameters. The Create API is a [long-running operation](https://aka.ms/am-creator-lrt-v2).", "operationId": "Dataset_Create", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { diff --git a/specification/maps/data-plane/Creator/stable/2023-07-01/dwgconversion.json b/specification/maps/data-plane/Creator/stable/2023-07-01/dwgconversion.json index a6a04e0c0eba..de70c93af47f 100644 --- a/specification/maps/data-plane/Creator/stable/2023-07-01/dwgconversion.json +++ b/specification/maps/data-plane/Creator/stable/2023-07-01/dwgconversion.json @@ -68,7 +68,7 @@ }, "UdidQuery": { "name": "udid", - "description": "The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) call.", + "description": "The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview) call.", "type": "string", "in": "query", "required": true, @@ -76,7 +76,7 @@ }, "ConversionId": { "name": "conversionId", - "description": "The conversion id for the content. The `conversionId` must have been obtained from a successful [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert) call.", + "description": "The conversion id for the content. The `conversionId` must have been obtained from a successful [Conversion API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert) call.", "type": "string", "in": "path", "required": true, @@ -98,11 +98,11 @@ "values": [ { "value": "1.0", - "description": "The drawing package version 1.0. Please refer to this [article](https://docs.microsoft.com/en-us/azure/azure-maps/drawing-requirements?pivots=1.0) for more information." + "description": "The drawing package version 1.0. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/drawing-requirements?pivots=1.0) for more information." }, { "value": "2.0", - "description": "The drawing package version 2.0. Please refer to this [article](https://docs.microsoft.com/en-us/azure/azure-maps/drawing-requirements?pivots=2.0) for more information." + "description": "The drawing package version 2.0. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/drawing-requirements?pivots=2.0) for more information." } ] }, @@ -166,7 +166,7 @@ } }, "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a list of all successful data conversions submitted previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert). \n\n### Submit List Request\n\nTo list all successful conversions you will issue a `GET` request with no additional parameters.\n\n### List Data Response\n\nThe Conversion List API returns the complete list of all conversion details in `json` format.
\n\nHere is a sample response returning the details of two successful conversion requests: \n\n
\n\n```json\n{\n \"conversions\": \n [\n {\n \"conversionId\": \"54398242-ea6c-1f31-4fa6-79b1ae0fc24d\",\n \"udid\": \"31838736-8b84-11ea-bc55-0242ac130003\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n },\n {\n \"conversionId\": \"2acf7d32-8b84-11ea-bc55-0242ac130003\",\n \"udid\": \"1214bc58-8b84-11ea-bc55-0242ac1300039\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n }\n ]\n}\n```\n\n
", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a list of all successful data conversions submitted previously using the [Conversion API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert). \n\n### Submit List Request\n\nTo list all successful conversions you will issue a `GET` request with no additional parameters.\n\n### List Data Response\n\nThe Conversion List API returns the complete list of all conversion details in `json` format.
\n\nHere is a sample response returning the details of two successful conversion requests: \n\n
\n\n```json\n{\n \"conversions\": \n [\n {\n \"conversionId\": \"54398242-ea6c-1f31-4fa6-79b1ae0fc24d\",\n \"udid\": \"31838736-8b84-11ea-bc55-0242ac130003\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n },\n {\n \"conversionId\": \"2acf7d32-8b84-11ea-bc55-0242ac130003\",\n \"udid\": \"1214bc58-8b84-11ea-bc55-0242ac1300039\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n }\n ]\n}\n```\n\n
", "operationId": "Conversion_List", "x-ms-examples": { "Returns a list of all the data processed by the Conversion Service for the account": { @@ -200,7 +200,7 @@ }, "/conversions/{conversionId}": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a successful data conversion submitted previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert). ", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a successful data conversion submitted previously using the [Conversion API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert). ", "operationId": "Conversion_Get", "x-ms-examples": { "Get the details for one conversion operation": { @@ -231,7 +231,7 @@ } }, "delete": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to delete any data conversions created previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/v2/conversion/convert).\n\n### Submit Delete Request\n\nTo delete your conversion data you will issue a `DELETE` request where the path will contain the `conversionId` of the data to delete.\n\n### Conversion Delete Response\n\nThe Conversion Delete API returns a HTTP `204 No Content` response with an empty body, if the converted data resources were deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if no resource associated with the passed-in `conversionId` is found. ", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to delete any data conversions created previously using the [Conversion API](https://docs.microsoft.com/rest/api/maps/v2/conversion/convert).\n\n### Submit Delete Request\n\nTo delete your conversion data you will issue a `DELETE` request where the path will contain the `conversionId` of the data to delete.\n\n### Conversion Delete Response\n\nThe Conversion Delete API returns a HTTP `204 No Content` response with an empty body, if the converted data resources were deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if no resource associated with the passed-in `conversionId` is found. ", "operationId": "Conversion_Delete", "x-ms-examples": { "Delete previously converted content": { diff --git a/specification/maps/data-plane/Creator/stable/2023-07-01/features.json b/specification/maps/data-plane/Creator/stable/2023-07-01/features.json index 1d995c8cf00b..a789165f4ab8 100644 --- a/specification/maps/data-plane/Creator/stable/2023-07-01/features.json +++ b/specification/maps/data-plane/Creator/stable/2023-07-01/features.json @@ -144,7 +144,7 @@ "paths": { "/features/datasets/{datasetId}": { "get": { - "description": "The Get Landing Page API provides links to the API definition, the Conformance statements, and the metadata about the feature data in this dataset.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v20220901preview/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get Landing Page API provides links to the API definition, the Conformance statements, and the metadata about the feature data in this dataset.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_GetLandingPage", "x-ms-examples": { "GetLandingPage": { @@ -177,7 +177,7 @@ }, "/features/datasets/{datasetId}/api": { "get": { - "description": "The Get API Definition API provides a description of the capabilities of the Features service. It can be used by developers to understand the API or by development tools to support the implementation of servers and clients.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v20220901preview/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get API Definition API provides a description of the capabilities of the Features service. It can be used by developers to understand the API or by development tools to support the implementation of servers and clients.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_GetApiDefinition", "x-ms-examples": { "GetApiDefinition": { @@ -210,7 +210,7 @@ }, "/features/datasets/{datasetId}/conformance": { "get": { - "description": "The Get Conformance API lists all requirements classes specified in the standard that the server conforms to.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v20220901preview/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get Conformance API lists all requirements classes specified in the standard that the server conforms to.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_ListConformance", "x-ms-examples": { "GetConformance": { @@ -243,7 +243,7 @@ }, "/features/datasets/{datasetId}/collections": { "get": { - "description": "The Get Collections API provides a list of all the collections in a given dataset.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v20220901preview/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get Collections API provides a list of all the collections in a given dataset.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_GetCollections", "x-ms-examples": { "GetCollections": { @@ -276,7 +276,7 @@ }, "/features/datasets/{datasetId}/collections/{collectionId}": { "get": { - "description": "The Get Collection API returns the collection identified by the provided id in the given dataset.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v20220901preview/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get Collection API returns the collection identified by the provided id in the given dataset.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_GetCollection", "x-ms-examples": { "GetCollection": { @@ -312,7 +312,7 @@ }, "/features/datasets/{datasetId}/collections/{collectionId}/definition": { "get": { - "description": "The Collection Definition API provides the detailed data model of a given collection.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v20220901preview/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Collection Definition API provides the detailed data model of a given collection.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_GetCollectionDefinition", "x-ms-examples": { "GetCollectionDefinition": { @@ -348,7 +348,7 @@ }, "/features/datasets/{datasetId}/collections/{collectionId}/items": { "get": { - "description": "The Get Features API returns the list of features in the given collection.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v20220901preview/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get Features API returns the list of features in the given collection.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_GetItems", "x-ms-examples": { "GetFeatures": { @@ -391,7 +391,7 @@ } }, "post": { - "description": "This Post Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API creates a feature with the provided attributes in the given collection.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v20220901preview/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "This Post Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API creates a feature with the provided attributes in the given collection.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_Create", "x-ms-examples": { "PostFeature": { @@ -430,7 +430,7 @@ }, "/features/datasets/{datasetId}/collections/{collectionId}/items/{featureId}": { "get": { - "description": "The Get Feature API returns the feature identified by the provided id in the given collection.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v20220901preview/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "The Get Feature API returns the feature identified by the provided id in the given collection.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_Get", "x-ms-examples": { "GetFeature": { @@ -464,7 +464,7 @@ } }, "put": { - "description": "This Put Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API **replaces** the feature identified by the provided id in the given collection, i.e., the request body overwrites all the existing attributes of a feature.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v20220901preview/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "This Put Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API **replaces** the feature identified by the provided id in the given collection, i.e., the request body overwrites all the existing attributes of a feature.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_Replace", "x-ms-examples": { "PutFeature": { @@ -501,7 +501,7 @@ } }, "patch": { - "description": "This Patch Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API **updates** attributes by performing a merge patch on the feature identified by the provided id in the given collection. It allows for the update of individual feature attributes without implicitly overwriting excluded attributes in the request body.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v20220901preview/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "This Patch Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API **updates** attributes by performing a merge patch on the feature identified by the provided id in the given collection. It allows for the update of individual feature attributes without implicitly overwriting excluded attributes in the request body.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_Update", "x-ms-examples": { "PatchFeature": { @@ -538,7 +538,7 @@ } }, "delete": { - "description": "This Delete Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API deletes the feature identified by the provided id in the given collection. Please note that if other existing features are dependent on the requested feature for deletion, the delete request will fail until the dependent features are deleted first.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v20220901preview/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", + "description": "This Delete Feature API conforms with the **drafted** [Open Geospatial Consortium API - Features - Part 4: Create, Replace, Update and Delete](http://docs.opengeospatial.org/DRAFTS/20-002.html) document. This API deletes the feature identified by the provided id in the given collection. Please note that if other existing features are dependent on the requested feature for deletion, the delete request will fail until the dependent features are deleted first.\n\nThe Features API is a part of [Creator](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps), which makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. Features GET APIs follow the [Open Geospatial Consortium API - Features - Part 1: Core corrigendum](http://www.opengis.net/doc/IS/ogcapi-features-1/1.0.1) standard to query [Datasets](https://docs.microsoft.com/rest/api/maps-creator/dataset). Datasets consist of multiple feature collections, which are a grouping of [features](https://tools.ietf.org/html/rfc7946#section-3.2) defined by a common schema.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).", "operationId": "Features_Delete", "x-ms-examples": { "DeleteFeature": { diff --git a/specification/maps/data-plane/Creator/stable/2023-07-01/featurestate.json b/specification/maps/data-plane/Creator/stable/2023-07-01/featurestate.json index 7cbe197dab3d..c7697b4c9d5b 100644 --- a/specification/maps/data-plane/Creator/stable/2023-07-01/featurestate.json +++ b/specification/maps/data-plane/Creator/stable/2023-07-01/featurestate.json @@ -76,7 +76,7 @@ }, "DatasetIdForCreate": { "name": "datasetId", - "description": "The datasetId must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create) call.", + "description": "The datasetId must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/rest/api/maps/v2/dataset/create) call.", "type": "string", "in": "query", "required": true, diff --git a/specification/maps/data-plane/Creator/stable/2023-07-01/tileset.json b/specification/maps/data-plane/Creator/stable/2023-07-01/tileset.json index 3898e7bbc2e2..4dcc4940881b 100644 --- a/specification/maps/data-plane/Creator/stable/2023-07-01/tileset.json +++ b/specification/maps/data-plane/Creator/stable/2023-07-01/tileset.json @@ -68,7 +68,7 @@ }, "DatasetIdQuery": { "name": "datasetId", - "description": "The unique `datasetId` that the tileset create API uses to retrieve features to generate tiles. The `datasetId` must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create) call.", + "description": "The unique `datasetId` that the tileset create API uses to retrieve features to generate tiles. The `datasetId` must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/rest/api/maps/v2/dataset/create) call.", "type": "string", "in": "query", "required": true, @@ -101,7 +101,7 @@ "paths": { "/tilesets": { "post": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Create request creates a tileset from the specified dataset. A tileset contains a set of tiles that can be consumed \nfrom the [Get Map Tile](/rest/api/maps/render/getmaptile) to retrieve custom tiles. To make a dataset, use the \n[DataSet Create API](/rest/api/maps/v2/dataset/create).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n## Submit Create Request\n\nTo create your tileset you will make a `POST` request with an **optional request body** as [tileset configuration](/rest/api/documentation-preview/tileset/create?#tilesetconfiguration). The `datasetId` query parameter will be used as the source of the tileset data.\n\nThe Create Tileset API is a [long-running operation](https://aka.ms/am-creator-lrt-v2).", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Create request creates a tileset from the specified dataset. A tileset contains a set of tiles that can be consumed \nfrom the [Get Map Tile](/rest/api/maps/render/getmaptile) to retrieve custom tiles. To make a dataset, use the \n[DataSet Create API](/rest/api/maps/v2/dataset/create).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n## Submit Create Request\n\nTo create your tileset you will make a `POST` request with an **optional request body** as [tileset configuration](/rest/api/maps-creator/tileset/create#tilesetconfiguration). The `datasetId` query parameter will be used as the source of the tileset data.\n\nThe Create Tileset API is a [long-running operation](https://aka.ms/am-creator-lrt-v2).", "operationId": "Tileset_Create", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { @@ -240,7 +240,7 @@ }, "/tilesets:fetchConfiguration": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Get Configuration request allows the caller to get a default [tileset configuration](/rest/api/documentation-preview/tileset/get-configuration?#tilesetconfiguration) based on the dataset provided. Then the tileset configuration can be used to create custom tileset using the [Tileset Create API](/rest/api/documentation-preview/tileset/create).\n\n Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Get Configuration request allows the caller to get a default [tileset configuration](/rest/api/maps-creator/tileset/get-configuration#tilesetconfiguration) based on the dataset provided. Then the tileset configuration can be used to create custom tileset using the [Tileset Create API](/rest/api/documentation-preview/tileset/create).\n\n Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.", "operationId": "Tileset_GetConfiguration", "x-ms-examples": { "Gets the tileset configuration for a given dataset": { @@ -260,7 +260,7 @@ ], "responses": { "200": { - "description": "Get tileset configuration request completed successfully. The response body contains a default [tileset configuration](/rest/api/documentation-preview/tileset/get-configuration?#tilesetconfiguration) generated for the given dataset.", + "description": "Get tileset configuration request completed successfully. The response body contains a default [tileset configuration](/rest/api/maps-creator/tileset/get-configuration#tilesetconfiguration) generated for the given dataset.", "schema": { "$ref": "#/definitions/TilesetConfiguration" } @@ -273,7 +273,7 @@ }, "/tilesets:validateConfiguration": { "post": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Validate Configuration request allows the caller to validate a [tileset configuration](/rest/api/documentation-preview/tileset/validate-configuration?#tilesetconfiguration).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Tileset Validate Configuration request allows the caller to validate a [tileset configuration](/rest/api/maps-creator/tileset/validate-configuration#tilesetconfiguration).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.", "operationId": "Tileset_ValidateConfiguration", "x-ms-examples": { "Validates the correctness of a tileset configuration": { @@ -532,7 +532,7 @@ ], "properties": { "featureClasses": { - "description": "The list of feature classes that will be used to build the layer. The valid feature classes can be found in its ontology definition. For example, [Facility Ontology](https://docs.microsoft.com/en-us/azure/azure-maps/creator-facility-ontology)", + "description": "The list of feature classes that will be used to build the layer. The valid feature classes can be found in its ontology definition. For example, [Facility Ontology](https://docs.microsoft.com/azure/azure-maps/creator-facility-ontology)", "type": "array", "items": { "type": "string" diff --git a/specification/maps/data-plane/DataRegistry/stable/2023-06-01/dataregistry.json b/specification/maps/data-plane/DataRegistry/stable/2023-06-01/dataregistry.json index 160b1fa062ea..76984b052ad4 100644 --- a/specification/maps/data-plane/DataRegistry/stable/2023-06-01/dataregistry.json +++ b/specification/maps/data-plane/DataRegistry/stable/2023-06-01/dataregistry.json @@ -27,7 +27,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json b/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json index f15c14b3703b..dee601f3c4ca 100644 --- a/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json +++ b/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json @@ -18,7 +18,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json index 0aebc0d0acd8..78d05d51d0ce 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json +++ b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/Data/preview/2.0/data.json b/specification/maps/data-plane/Microsoft.Maps/Data/preview/2.0/data.json index a822d33567fa..7a3c9a019fb8 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Data/preview/2.0/data.json +++ b/specification/maps/data-plane/Microsoft.Maps/Data/preview/2.0/data.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -190,7 +190,7 @@ "/mapData": { "post": { "x-publish": true, - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Data Upload API allows the caller to upload data content to the Azure Maps service.\nYou can use this API in a scenario like uploading a collection of Geofences in `GeoJSON` \nformat, for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial).\n\n## Submit Upload Request\n\nTo upload your content you will use a `POST` request. The request body will contain the data to upload. The `Content-Type` header will be set to the content type of the \ndata.\n\nFor example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence \ncontent. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one \nof the following media types:\n\n- `application/json` if `dataFormat` is `JSON`\n- `application/vnd.geo+json` if `dataFormat` is `geoJSON` \n- `application/octet-stream` if `dataFormat` is `zip`\n\nHere's a sample request body for uploading a simple Geofence represented as a circle geometry using a center \npoint and a radius. The sample below is in `GeoJSON`:\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```\n\nThe Data Upload API performs a \nlong-running operation.\n\n## Data Upload Limits\n\nPlease, be aware that currently every Azure Maps account has a [data storage limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). \nOnce the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. \nYou can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to \ndelete old/unused content and create space for new uploads.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Data Upload API allows the caller to upload data content to the Azure Maps service.\nYou can use this API in a scenario like uploading a collection of Geofences in `GeoJSON` \nformat, for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial).\n\n## Submit Upload Request\n\nTo upload your content you will use a `POST` request. The request body will contain the data to upload. The `Content-Type` header will be set to the content type of the \ndata.\n\nFor example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence \ncontent. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one \nof the following media types:\n\n- `application/json` if `dataFormat` is `JSON`\n- `application/vnd.geo+json` if `dataFormat` is `geoJSON` \n- `application/octet-stream` if `dataFormat` is `zip`\n\nHere's a sample request body for uploading a simple Geofence represented as a circle geometry using a center \npoint and a radius. The sample below is in `GeoJSON`:\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```\n\nThe Data Upload API performs a \nlong-running operation.\n\n## Data Upload Limits\n\nPlease, be aware that currently every Azure Maps account has a [data storage limit](https://docs.microsoft.com/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). \nOnce the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. \nYou can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to \ndelete old/unused content and create space for new uploads.", "operationId": "Data_UploadPreview", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { @@ -344,7 +344,7 @@ "/mapData/{udid}": { "put": { "x-publish": true, - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Data Update API allows the caller to update a previously uploaded data content.\n\nYou can use this API in a scenario like adding or removing geofences to or from an existing collection of geofences. \nGeofences are uploaded using the [Data Upload API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview), for \nuse in the [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial).\n\nPlease note that the Update API will *replace* and *override* the existing data content.\n\n## Submit Update Request\n\nTo update your content you will use a `PUT` request. The request body will contain the new data that will replace \nthe existing data. The `Content-Type` header will be set to the content type of the data, and the path will contain \nthe `udid` of the data to be update.\n\nFor example, to update a collection of geofences that were previously uploaded using the Upload API, place the new \ngeofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received \npreviously in the upload API response. And set the `Content-Type` header to one of the following media types:\n\n- `application/json` if `dataFormat` is `JSON`\n- `application/vnd.geo+json` if `dataFormat` is `geoJSON`\n- `application/octet-stream` if `dataFormat` is `zip`\n\nHere's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a center \npoint and a radius. The sample below is in `GeoJSON`:\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```\n\nThe previously uploaded geofence had a radius of 100m. The above request will update it to 500m.\n\nThe Data Update API performs a \nlong-running operation.\n\n## Data Update Limits\n\nPlease, be aware that currently every Azure Maps account has a [data storage limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). \nOnce the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. \nYou can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to \ndelete old/unused content and create space for new uploads.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Data Update API allows the caller to update a previously uploaded data content.\n\nYou can use this API in a scenario like adding or removing geofences to or from an existing collection of geofences. \nGeofences are uploaded using the [Data Upload API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview), for \nuse in the [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial).\n\nPlease note that the Update API will *replace* and *override* the existing data content.\n\n## Submit Update Request\n\nTo update your content you will use a `PUT` request. The request body will contain the new data that will replace \nthe existing data. The `Content-Type` header will be set to the content type of the data, and the path will contain \nthe `udid` of the data to be update.\n\nFor example, to update a collection of geofences that were previously uploaded using the Upload API, place the new \ngeofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received \npreviously in the upload API response. And set the `Content-Type` header to one of the following media types:\n\n- `application/json` if `dataFormat` is `JSON`\n- `application/vnd.geo+json` if `dataFormat` is `geoJSON`\n- `application/octet-stream` if `dataFormat` is `zip`\n\nHere's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a center \npoint and a radius. The sample below is in `GeoJSON`:\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```\n\nThe previously uploaded geofence had a radius of 100m. The above request will update it to 500m.\n\nThe Data Update API performs a \nlong-running operation.\n\n## Data Update Limits\n\nPlease, be aware that currently every Azure Maps account has a [data storage limit](https://docs.microsoft.com/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). \nOnce the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. \nYou can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to \ndelete old/unused content and create space for new uploads.", "operationId": "Data_UpdatePreview", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/2.0/featurestate.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/2.0/featurestate.json index 1cf05bf8c9f0..6424907be89f 100644 --- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/2.0/featurestate.json +++ b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/2.0/featurestate.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json b/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json index 26b5e5a6f4a0..100c54cd9132 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json +++ b/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json @@ -18,7 +18,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json b/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json index 09e3fc973b54..25554e190579 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json +++ b/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json @@ -18,7 +18,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json index a602f03beb7f..64382222e7aa 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json @@ -19,7 +19,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json index c56329bc3014..59dfa7bee45e 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json @@ -19,7 +19,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json index 662ff8e1ed48..00e5d4c4acc2 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json +++ b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json @@ -19,7 +19,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json index 63b5c5c61243..3ea56c5a0e8b 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json @@ -19,7 +19,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json index 3272d25c0520..aad4f1a1f3a9 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json +++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json @@ -19,7 +19,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -230,7 +230,7 @@ "/spatial/geofence/{format}": { "get": { "x-publish": true, - "description": "**Search Geofence Get API**\n\n**Applies to:** S1 Pricing tier.\n\nThe Geofence Get API allows you to retrieve the proximity of a coordinate to a \ngeofence that has been uploaded to the Data service. You can use the \n[Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) to upload \na geofence or set of fences. See [Geofencing GeoJSON data](https://docs.microsoft.com/en-us/azure/azure-maps/geofence-geojson) \nfor more details on the geofence data format. To query the proximity of a coordinate, you supply the location of the object you are tracking as well\nas the ID for the fence or set of fences, and the response will contain information about\nthe distance from the outer edge of the geofence. A negative value signifies that the \ncoordinate is inside of the fence while a positive value means that it is outside of the\nfence.

This API can be used for a variety of scenarios that include things like asset \ntracking, fleet management, or setting up alerts for moving objects.\n\nThe API supports [integration with Event Grid](https://docs.microsoft.com/azure/azure-maps/azure-maps-event-grid-integration). The isAsync parameter is used to enable integration with Event Grid (disabled by default).\nTo test this API, you can upload the sample data from Post Geofence API examples(Request Body) via Data Upload API and replace the [udid] from the sample request below with the udid returned by Data Upload API.\n\n\n### Geofencing InnerError code\n\nIn geofencing response error contract, `innererror` is an object containing service specific information about the error. `code` is a property in `innererror` which can map to a specific geofencing error type. The table belows shows the code mapping between all the known client error type to the corresponding geofencing error `message`.\n\ninnererror.code | error.message\n---------------------------- | -------------------------------------- \nNullDeviceId | Device Id should not be null.\nNullUdid\t | Udid should not be null.\nUdidWrongFormat| Udid should be acquired from user data ingestion API.\nInvalidUserTime| Usertime is invalid.\nInvalidSearchBuffer| Searchbuffer is invalid.\nInvalidSearchRange| The value range of searchbuffer should be from 0 to 500 meters.\nInvalidLatLon| Lat and/or lon parameters are invalid.\nInvalidIsAsyncValue| The IsAsync parameter is invalid.\nInvalidModeValue| The mode parameter invalid.\nInvalidJson| Geofencing data is not a valid json file.\nNotSupportedGeoJson| Geofencing data can't be read as a Feature or FeatureCollections.\nInvalidGeoJson| Geofencing data is invalid.\nNoUserDataWithAccountOrSubscription| Can't find user geofencing data with provided account-id and/or subscription-id.\nNoUserDataWithUdid|\tCan't find user geofencing data with provided udId.", + "description": "**Search Geofence Get API**\n\n**Applies to:** S1 Pricing tier.\n\nThe Geofence Get API allows you to retrieve the proximity of a coordinate to a \ngeofence that has been uploaded to the Data service. You can use the \n[Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) to upload \na geofence or set of fences. See [Geofencing GeoJSON data](https://docs.microsoft.com/en-us/azure/azure-maps/geofence-geojson) \nfor more details on the geofence data format. To query the proximity of a coordinate, you supply the location of the object you are tracking as well\nas the ID for the fence or set of fences, and the response will contain information about\nthe distance from the outer edge of the geofence. A negative value signifies that the \ncoordinate is inside of the fence while a positive value means that it is outside of the\nfence.

This API can be used for a variety of scenarios that include things like asset \ntracking, fleet management, or setting up alerts for moving objects.\n\nThe API supports [integration with Event Grid](https://docs.microsoft.com/azure/azure-maps/azure-maps-event-grid-integration). The isAsync parameter is used to enable integration with Event Grid (disabled by default).\nTo test this API, you can upload the sample data from Post Geofence API examples (Request Body) via Data Upload API and replace the `{udid}` from the sample request below with the udid returned by Data Upload API.\n\n\n### Geofencing InnerError code\n\nIn geofencing response error contract, `innererror` is an object containing service specific information about the error. `code` is a property in `innererror` which can map to a specific geofencing error type. The table belows shows the code mapping between all the known client error type to the corresponding geofencing error `message`.\n\ninnererror.code | error.message\n---------------------------- | -------------------------------------- \nNullDeviceId | Device Id should not be null.\nNullUdid\t | Udid should not be null.\nUdidWrongFormat| Udid should be acquired from user data ingestion API.\nInvalidUserTime| Usertime is invalid.\nInvalidSearchBuffer| Searchbuffer is invalid.\nInvalidSearchRange| The value range of searchbuffer should be from 0 to 500 meters.\nInvalidLatLon| Lat and/or lon parameters are invalid.\nInvalidIsAsyncValue| The IsAsync parameter is invalid.\nInvalidModeValue| The mode parameter invalid.\nInvalidJson| Geofencing data is not a valid json file.\nNotSupportedGeoJson| Geofencing data can't be read as a Feature or FeatureCollections.\nInvalidGeoJson| Geofencing data is invalid.\nNoUserDataWithAccountOrSubscription| Can't find user geofencing data with provided account-id and/or subscription-id.\nNoUserDataWithUdid|\tCan't find user geofencing data with provided udId.", "operationId": "Spatial_GetGeofence", "x-ms-examples": { "Geofence": { @@ -531,7 +531,7 @@ }, "get": { "x-publish": true, - "description": "**Applies to**: S1 pricing tier.\n\nThis API returns a FeatureCollection where each Feature is a buffer around the corresponding indexed Feature of the input. The buffer could be either on the outside or the inside of the provided Feature, depending on the distance provided in the input. There must be either one distance provided per Feature in the FeatureCollection input, or if only one distance is provided, then that distance is applied to every Feature in the collection. The positive (or negative) buffer of a geometry is defined as the Minkowski sum (or difference) of the geometry with a circle of radius equal to the absolute value of the buffer distance. The buffer API always returns a polygonal result. The negative or zero-distance buffer of lines and points is always an empty polygon. The input features are provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain a collection of Point, MultiPoint, Polygon, MultiPolygon, LineString and MultiLineString. GeometryCollection will be ignored if provided. \n\nTo test this API, you can upload the sample data from [Post Buffer API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postbuffer#examples) examples(Request Body without distances array) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the [udid] from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getbuffer#examples) with the udid returned by Data Upload API.", + "description": "**Applies to**: S1 pricing tier.\n\nThis API returns a FeatureCollection where each Feature is a buffer around the corresponding indexed Feature of the input. The buffer could be either on the outside or the inside of the provided Feature, depending on the distance provided in the input. There must be either one distance provided per Feature in the FeatureCollection input, or if only one distance is provided, then that distance is applied to every Feature in the collection. The positive (or negative) buffer of a geometry is defined as the Minkowski sum (or difference) of the geometry with a circle of radius equal to the absolute value of the buffer distance. The buffer API always returns a polygonal result. The negative or zero-distance buffer of lines and points is always an empty polygon. The input features are provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain a collection of Point, MultiPoint, Polygon, MultiPolygon, LineString and MultiLineString. GeometryCollection will be ignored if provided. \n\nTo test this API, you can upload the sample data from [Post Buffer API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postbuffer#examples) examples (Request Body without distances array) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the `{udid}` from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getbuffer#examples) with the udid returned by Data Upload API.", "operationId": "Spatial_GetBuffer", "x-ms-examples": { "GetBuffer": { @@ -673,7 +673,7 @@ }, "get": { "x-publish": true, - "description": "**Applies to**: S1 pricing tier.\n\nThis API returns the closest point between a base point and a given set of points in the user uploaded data set identified by udid. The set of target points is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may only contain a collection of Point geometry. MultiPoint or other geometries will be ignored if provided. The maximum number of points accepted is 100,000. The algorithm does not take into account routing or traffic. Information returned includes closest point latitude, longitude, and distance in meters from the closest point.\n\nTo test this API, you can upload the sample data from [Post Closest Point API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postclosestpoint#examples) examples(Request Body) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the [udid] from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getclosestpoint#examples) with the udid returned by Data Upload API.", + "description": "**Applies to**: S1 pricing tier.\n\nThis API returns the closest point between a base point and a given set of points in the user uploaded data set identified by udid. The set of target points is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may only contain a collection of Point geometry. MultiPoint or other geometries will be ignored if provided. The maximum number of points accepted is 100,000. The algorithm does not take into account routing or traffic. Information returned includes closest point latitude, longitude, and distance in meters from the closest point.\n\nTo test this API, you can upload the sample data from [Post Closest Point API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postclosestpoint#examples) examples (Request Body) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the `{udid}` from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getclosestpoint#examples) with the udid returned by Data Upload API.", "operationId": "Spatial_GetClosestPoint", "x-ms-examples": { "GetClosestPoint": { @@ -822,7 +822,7 @@ }, "get": { "x-publish": true, - "description": "**Applies to**: S1 pricing tier.\n\nThis API returns a boolean value indicating whether a point is inside a set of polygons. The set of polygons is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain Polygon and MultiPolygon geometries, other geometries will be ignored if provided. If the point is inside or on the boundary of one of these polygons, the value returned is true. In all other cases, the value returned is false. When the point is inside multiple polygons, the result will give intersecting geometries section to show all valid geometries(referenced by geometryId) in user data. The maximum number of vertices accepted to form a Polygon is 10,000.\n\n \nTo test this API, you can upload the sample data from [Post Point In Polygon API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postpointinpolygon#examples) examples(Request Body) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the [udid] from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getpointinpolygon#examples) with the udid returned by Data Upload API.", + "description": "**Applies to**: S1 pricing tier.\n\nThis API returns a boolean value indicating whether a point is inside a set of polygons. The set of polygons is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain Polygon and MultiPolygon geometries, other geometries will be ignored if provided. If the point is inside or on the boundary of one of these polygons, the value returned is true. In all other cases, the value returned is false. When the point is inside multiple polygons, the result will give intersecting geometries section to show all valid geometries(referenced by geometryId) in user data. The maximum number of vertices accepted to form a Polygon is 10,000.\n\n \nTo test this API, you can upload the sample data from [Post Point In Polygon API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postpointinpolygon#examples) examples (Request Body) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the `{udid}` from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getpointinpolygon#examples) with the udid returned by Data Upload API.", "operationId": "Spatial_GetPointInPolygon", "x-ms-examples": { "GetPointInPolygon": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/2.0/tileset.json b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/2.0/tileset.json index 29629a25813d..11094e8b1c7c 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/2.0/tileset.json +++ b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/2.0/tileset.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json index bb08a77bc158..1ce6c79a80aa 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json +++ b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json @@ -19,7 +19,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json index eaf7cbcfff3d..f779a637da3e 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json +++ b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json @@ -19,7 +19,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/2.0/wfs.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/2.0/wfs.json index b1b2cbb5d7c3..e38486ab680e 100644 --- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/2.0/wfs.json +++ b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/2.0/wfs.json @@ -26,7 +26,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json index 231ba3a16048..40bf47a6fc09 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json +++ b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json @@ -17,7 +17,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Render/preview/1.0/render.json b/specification/maps/data-plane/Render/preview/1.0/render.json index 4d5115d324b1..d835cafc50c0 100644 --- a/specification/maps/data-plane/Render/preview/1.0/render.json +++ b/specification/maps/data-plane/Render/preview/1.0/render.json @@ -18,7 +18,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -174,7 +174,7 @@ "/map/static/{format}": { "get": { "summary": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThe static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice. \n\nService also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following S0 and S1 capabilities. \n\nIn S0 you can:\n- Render up to 5 pushpins specified in the request\n- Provide one custom image for the pins referenced in the request\n- Add labels to the pushpins\n\nIn S1 you can:\n- Render pushpins through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n- Specify multiple pushpin styles\n- Render circle, polyline and polygon geometry types.\n- Render of supported GeoJSON geometry types uploaded through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n\nPlease see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.\n\n_Note_ : Either **center** or **bbox** parameter must be supplied to the\nAPI.\n

\nThe supported Lat and Lon ranges when using the **bbox** parameter, are as follows:\n

\n\n |Zoom Level | Max Lon Range | Max Lat Range|\n |:----------|:----------------|:-------------|\n |0 | 360.0 | 170.0 | \n |1 | 360.0 | 170.0 |\n |2 | 360.0 | 170.0 |\n |3 | 360.0 | 170.0 |\n |4 | 360.0 | 170.0 |\n |5 | 180.0 | 85.0 |\n |6 | 90.0 | 42.5 |\n |7 | 45.0 | 21.25 |\n |8 | 22.5 | 10.625 |\n |9 | 11.25 | 5.3125 |\n |10 | 5.625 | 2.62625 |\n |11 | 2.8125 | 1.328125 |\n |12 | 1.40625 | 0.6640625 |\n |13 | 0.703125 | 0.33203125 |\n |14 | 0.3515625 | 0.166015625 |\n |15 | 0.17578125 | 0.0830078125 | \n |16 | 0.087890625 | 0.0415039063 | \n |17 | 0.0439453125 | 0.0207519531 |\n |18 | 0.0219726563 | 0.0103759766 |\n |19 | 0.0109863281 | 0.0051879883 |\n |20 | 0.0054931641 | 0.0025939941 |", - "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/en-us/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/en-us/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThe static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice. \n\nService also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following S0 and S1 capabilities. \n\nIn S0 you can:\n- Render up to 5 pushpins specified in the request\n- Provide one custom image for the pins referenced in the request\n- Add labels to the pushpins\n\nIn S1 you can:\n- Render pushpins through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n- Specify multiple pushpin styles\n- Render circle, polyline and polygon geometry types.\n- Render of supported GeoJSON geometry types uploaded through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n\nPlease see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.\n\n_Note_ : Either **center** or **bbox** parameter must be supplied to the\nAPI.\n

\nThe supported Lat and Lon ranges when using the **bbox** parameter, are as follows:\n

\n\n |Zoom Level | Max Lon Range | Max Lat Range|\n |:----------|:----------------|:-------------|\n |0 | 360.0 | 170.0 | \n |1 | 360.0 | 170.0 |\n |2 | 360.0 | 170.0 |\n |3 | 360.0 | 170.0 |\n |4 | 360.0 | 170.0 |\n |5 | 180.0 | 85.0 |\n |6 | 90.0 | 42.5 |\n |7 | 45.0 | 21.25 |\n |8 | 22.5 | 10.625 |\n |9 | 11.25 | 5.3125 |\n |10 | 5.625 | 2.62625 |\n |11 | 2.8125 | 1.328125 |\n |12 | 1.40625 | 0.6640625 |\n |13 | 0.703125 | 0.33203125 |\n |14 | 0.3515625 | 0.166015625 |\n |15 | 0.17578125 | 0.0830078125 | \n |16 | 0.087890625 | 0.0415039063 | \n |17 | 0.0439453125 | 0.0207519531 |\n |18 | 0.0219726563 | 0.0103759766 |\n |19 | 0.0109863281 | 0.0051879883 |\n |20 | 0.0054931641 | 0.0025939941 |", + "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThe static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice. \n\nService also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following S0 and S1 capabilities. \n\nIn S0 you can:\n- Render up to 5 pushpins specified in the request\n- Provide one custom image for the pins referenced in the request\n- Add labels to the pushpins\n\nIn S1 you can:\n- Render pushpins through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n- Specify multiple pushpin styles\n- Render circle, polyline and polygon geometry types.\n- Render of supported GeoJSON geometry types uploaded through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n\nPlease see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.\n\n_Note_ : Either **center** or **bbox** parameter must be supplied to the\nAPI.\n

\nThe supported Lat and Lon ranges when using the **bbox** parameter, are as follows:\n

\n\n |Zoom Level | Max Lon Range | Max Lat Range|\n |:----------|:----------------|:-------------|\n |0 | 360.0 | 170.0 | \n |1 | 360.0 | 170.0 |\n |2 | 360.0 | 170.0 |\n |3 | 360.0 | 170.0 |\n |4 | 360.0 | 170.0 |\n |5 | 180.0 | 85.0 |\n |6 | 90.0 | 42.5 |\n |7 | 45.0 | 21.25 |\n |8 | 22.5 | 10.625 |\n |9 | 11.25 | 5.3125 |\n |10 | 5.625 | 2.62625 |\n |11 | 2.8125 | 1.328125 |\n |12 | 1.40625 | 0.6640625 |\n |13 | 0.703125 | 0.33203125 |\n |14 | 0.3515625 | 0.166015625 |\n |15 | 0.17578125 | 0.0830078125 | \n |16 | 0.087890625 | 0.0415039063 | \n |17 | 0.0439453125 | 0.0207519531 |\n |18 | 0.0219726563 | 0.0103759766 |\n |19 | 0.0109863281 | 0.0051879883 |\n |20 | 0.0054931641 | 0.0025939941 |", "operationId": "Render_GetMapImage", "x-ms-client-name": "GetMapStaticImage", "x-ms-examples": { @@ -248,7 +248,7 @@ { "name": "zoom", "in": "query", - "description": "Desired zoom level of the map. Zoom value must be in the range: 0-20 (inclusive). Default value is 12.

Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "description": "Desired zoom level of the map. Zoom value must be in the range: 0-20 (inclusive). Default value is 12.

Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "type": "integer", "format": "int32", "minimum": 0, @@ -352,8 +352,8 @@ }, "/map/tile/{format}": { "get": { - "summary": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nFetches map tiles in vector or raster format typically to be integrated into a new map control or SDK. By default, Azure uses vector map tiles for its web map control (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))\n\n**Note**: Weather tiles are only available via [Get Map Tile V2 API](https://aka.ms/AzureMapsWeatherTiles). We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", - "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/en-us/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/en-us/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nFetches map tiles in vector or raster format typically to be integrated into a new map control or SDK. By default, Azure uses vector map tiles for its web map control (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))\n\n**Note**: Weather tiles are only available via [Get Map Tile V2 API](https://aka.ms/AzureMapsWeatherTiles). We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", + "summary": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nFetches map tiles in vector or raster format typically to be integrated into a new map control or SDK. By default, Azure uses vector map tiles for its web map control (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid))\n\n**Note**: Weather tiles are only available via [Get Map Tile V2 API](https://aka.ms/AzureMapsWeatherTiles). We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", + "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nFetches map tiles in vector or raster format typically to be integrated into a new map control or SDK. By default, Azure uses vector map tiles for its web map control (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid))\n\n**Note**: Weather tiles are only available via [Get Map Tile V2 API](https://aka.ms/AzureMapsWeatherTiles). We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", "operationId": "Render_GetMapTile", "x-ms-examples": { "Successful Tile Request": { @@ -484,8 +484,8 @@ }, "/map/statetile": { "get": { - "summary": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))", - "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/en-us/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/en-us/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))", + "summary": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid))", + "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid))", "operationId": "Render_GetMapStateTile", "x-ms-examples": { "Successful State Tile Request": { @@ -544,7 +544,7 @@ "/map/copyright/caption/{format}": { "get": { "summary": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.", - "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/en-us/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/en-us/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.", + "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.", "operationId": "Render_GetCopyrightCaption", "x-ms-examples": { "Successful Copyright Caption Request": { @@ -578,7 +578,7 @@ "/map/imagery/{format}": { "get": { "summary": "**Applies to**: S0 and S1 pricing tiers.\n\nThis service returns a map image tile with size 256x256, given the x and y coordinates and zoom\nlevel. Zoom level ranges from 1 to 19. The current available style value is 'satellite' which provides satellite\nimagery alone.\n\n\n**Note**: We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", - "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/en-us/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/en-us/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis service returns a map image tile with size 256x256, given the x and y coordinates and zoom\nlevel. Zoom level ranges from 1 to 19. The current available style value is 'satellite' which provides satellite\nimagery alone.\n\n\n**Note**: We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", + "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis service returns a map image tile with size 256x256, given the x and y coordinates and zoom\nlevel. Zoom level ranges from 1 to 19. The current available style value is 'satellite' which provides satellite\nimagery alone.\n\n\n**Note**: We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", "operationId": "Render_GetMapImageryTile", "x-ms-examples": { "Successful Imagery Tile Request": { @@ -655,7 +655,7 @@ "/map/copyright/bounding/{format}": { "get": { "summary": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates", - "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/en-us/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/en-us/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates", + "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates", "operationId": "Render_GetCopyrightFromBoundingBox", "x-ms-examples": { "Successful Bounding Box Copyright Request": { @@ -698,7 +698,7 @@ "/map/copyright/tile/{format}": { "get": { "summary": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).", - "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/en-us/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/en-us/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).", + "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).", "operationId": "Render_GetCopyrightForTile", "x-ms-examples": { "Successful Tile Copyright Request": { @@ -744,7 +744,7 @@ "/map/copyright/world/{format}": { "get": { "summary": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.", - "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/en-us/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/en-us/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.", + "description": "> [!NOTE]\n>\n> **Azure Maps Render v1 service retirement**\n>\n> The Azure Maps [Render v1](https://learn.microsoft.com/rest/api/maps/render) service is now deprecated and will be retired on 9/17/26. To avoid service disruptions, all calls to Render v1 API will need to be updated to use [Render v2](https://learn.microsoft.com/rest/api/maps/render-v2) API by 9/17/26.\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.", "operationId": "Render_GetCopyrightForWorld", "x-ms-examples": { "Successful World Copyright Request": { diff --git a/specification/maps/data-plane/Render/stable/2022-08-01/render.json b/specification/maps/data-plane/Render/stable/2022-08-01/render.json index aab538e3ddb0..a7ec42f0b25a 100644 --- a/specification/maps/data-plane/Render/stable/2022-08-01/render.json +++ b/specification/maps/data-plane/Render/stable/2022-08-01/render.json @@ -18,7 +18,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Route/preview/1.0/route.json b/specification/maps/data-plane/Route/preview/1.0/route.json index e26bd58a5d37..d2b5704010c9 100644 --- a/specification/maps/data-plane/Route/preview/1.0/route.json +++ b/specification/maps/data-plane/Route/preview/1.0/route.json @@ -18,7 +18,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Search/preview/1.0/search.json b/specification/maps/data-plane/Search/preview/1.0/search.json index 97043bc04313..0feb99f7ad28 100644 --- a/specification/maps/data-plane/Search/preview/1.0/search.json +++ b/specification/maps/data-plane/Search/preview/1.0/search.json @@ -18,7 +18,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://learn.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://learn.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n> [!NOTE]\n> * This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n> * The `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n> * The Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n> * Usage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n> * Currently, Azure Active Directory [v1.0 or v2.0](https://learn.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.\n\n", + "description": "These are the [Microsoft Entra OAuth 2.0](https://learn.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://learn.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n> [!NOTE]\n> * This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n> * The `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n> * The Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n> * Usage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n>* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).\n\n", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Search/stable/2023-06-01/search.json b/specification/maps/data-plane/Search/stable/2023-06-01/search.json index 87e0ff881930..ba17953b3841 100644 --- a/specification/maps/data-plane/Search/stable/2023-06-01/search.json +++ b/specification/maps/data-plane/Search/stable/2023-06-01/search.json @@ -18,7 +18,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n> [!NOTE]\n> * This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n> * The `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n> * The Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n> * Usage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n> * Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.\n\n", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n> [!NOTE]\n> * This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n> * The `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n> * The Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n> * Usage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n> * For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).\n\n", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/Spatial/stable/2022-08-01/spatial.json b/specification/maps/data-plane/Spatial/stable/2022-08-01/spatial.json index 04d91ac2d5f7..925a8fc4b0f2 100644 --- a/specification/maps/data-plane/Spatial/stable/2022-08-01/spatial.json +++ b/specification/maps/data-plane/Spatial/stable/2022-08-01/spatial.json @@ -25,7 +25,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -94,7 +94,7 @@ "SpatialUploadUdid": { "name": "udid", "in": "query", - "description": "The unique id returned from [Data Upload API](https://docs.microsoft.com/rest/api/maps/data/uploadPreview) after uploading a valid GeoJSON FeatureCollection object. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.", + "description": "The unique id used when creating a [Data registry](/rest/api/maps/data-registry/register-or-replace) to upload a valid GeoJSON FeatureCollection object. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive. For more information on the data registry service, see [How to create data registry](/azure/azure-maps/how-to-create-data-registries).", "required": true, "type": "string", "x-ms-parameter-location": "method" @@ -180,7 +180,7 @@ "paths": { "/spatial/geofence/{format}": { "get": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Geofence Get API allows you to retrieve the proximity of a coordinate to a \ngeofence that has been uploaded to the Data service. You can use the \n[Data Upload API](https://docs.microsoft.com/rest/api/maps/data/uploadPreview) to upload \na geofence or set of fences. See [Geofencing GeoJSON data](https://docs.microsoft.com/azure/azure-maps/geofence-geojson) \nfor more details on the geofence data format. To query the proximity of a coordinate, you supply the location of the object you are tracking as well\nas the ID for the fence or set of fences, and the response will contain information about\nthe distance from the outer edge of the geofence. A negative value signifies that the \ncoordinate is inside of the fence while a positive value means that it is outside of the\nfence.

This API can be used for a variety of scenarios that include things like asset \ntracking, fleet management, or setting up alerts for moving objects.\n\nThe API supports [integration with Event Grid](https://docs.microsoft.com/azure/azure-maps/azure-maps-event-grid-integration). The isAsync parameter is used to enable integration with Event Grid (disabled by default).\nTo test this API, you can upload the sample data from Post Geofence API examples(Request Body) via Data Upload API and replace the [udid] from the sample request below with the udid returned by Data Upload API.\n\n\n### Geofencing InnerError code\n\nIn geofencing response error contract, `innererror` is an object containing service specific information about the error. `code` is a property in `innererror` which can map to a specific geofencing error type. The table belows shows the code mapping between all the known client error type to the corresponding geofencing error `message`.\n\ninnererror.code | error.message\n---------------------------- | -------------------------------------- \nNullDeviceId | Device Id should not be null.\nNullUdid\t | Udid should not be null.\nUdidWrongFormat| Udid should be acquired from user data ingestion API.\nInvalidUserTime| Usertime is invalid.\nInvalidSearchBuffer| Searchbuffer is invalid.\nInvalidSearchRange| The value range of searchbuffer should be from 0 to 500 meters.\nInvalidLatLon| Lat and/or lon parameters are invalid.\nInvalidIsAsyncValue| The IsAsync parameter is invalid.\nInvalidModeValue| The mode parameter invalid.\nInvalidJson| Geofencing data is not a valid json file.\nNotSupportedGeoJson| Geofencing data can't be read as a Feature or FeatureCollections.\nInvalidGeoJson| Geofencing data is invalid.\nNoUserDataWithAccountOrSubscription| Can't find user geofencing data with provided account-id and/or subscription-id.\nNoUserDataWithUdid|\tCan't find user geofencing data with provided udid.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Geofence Get API allows you to retrieve the proximity of a coordinate to a \ngeofence that has been uploaded to the Data registry. You can use the \n[Data registry](/rest/api/maps/data-registry/register-or-replace) service to upload \na geofence or set of fences. See [Geofencing GeoJSON data](/azure/azure-maps/geofence-geojson) \nfor more details on the geofence data format. To query the proximity of a coordinate, you supply the location of the object you are tracking as well\nas the ID for the fence or set of fences, and the response will contain information about\nthe distance from the outer edge of the geofence. A negative value signifies that the \ncoordinate is inside of the fence while a positive value means that it is outside of the\nfence.

This API can be used for a variety of scenarios that include things like asset \ntracking, fleet management, or setting up alerts for moving objects.\n\nThe API supports [integration with Event Grid](/azure/azure-maps/azure-maps-event-grid-integration). The isAsync parameter is used to enable integration with Event Grid (disabled by default).\nTo test this API, you can upload the sample data from Post Geofence API examples (Request Body) using the Data registry service and replace the `{udid}` from the sample request below with the `udid` used to create the Data registry. For more information on the data registry service, see [How to create data registry](/azure/azure-maps/how-to-create-data-registries).\n\n\n### Geofencing InnerError code\n\nIn geofencing response error contract, `innererror` is an object containing service specific information about the error. `code` is a property in `innererror` which can map to a specific geofencing error type. The table belows shows the code mapping between all the known client error type to the corresponding geofencing error `message`.\n\ninnererror.code | error.message\n---------------------------- | -------------------------------------- \nNullDeviceId | Device Id should not be null.\nNullUdid\t | Udid should not be null.\nUdidWrongFormat| Udid should be acquired from user data ingestion API.\nInvalidUserTime| Usertime is invalid.\nInvalidSearchBuffer| Searchbuffer is invalid.\nInvalidSearchRange| The value range of searchbuffer should be from 0 to 500 meters.\nInvalidLatLon| Lat and/or lon parameters are invalid.\nInvalidIsAsyncValue| The IsAsync parameter is invalid.\nInvalidModeValue| The mode parameter invalid.\nInvalidJson| Geofencing data is not a valid json file.\nNotSupportedGeoJson| Geofencing data can't be read as a Feature or FeatureCollections.\nInvalidGeoJson| Geofencing data is invalid.\nNoUserDataWithAccountOrSubscription| Can't find user geofencing data with provided account-id and/or subscription-id.\nNoUserDataWithUdid|\tCan't find user geofencing data with provided udid.", "operationId": "Spatial_GetGeofence", "x-ms-examples": { "GetGeofence": { @@ -265,7 +265,7 @@ } }, "post": { - "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Geofence Post API allows you to retrieve the proximity of a coordinate to a provided geofence or set of fences. With POST call, you do not have to upload the fence data in advance, instead you supply the location of the object you are tracking in query parameters as well as the fence or set of fences data in post request body. See [Geofencing GeoJSON data](https://docs.microsoft.com/azure/azure-maps/geofence-geojson) for more details on the geofence data format. The response will contain information about the distance from the outer edge of the geofence. A negative value signifies that the coordinate is inside of the fence while a positive value means that it is outside of the fence.

This API can be used for a variety of scenarios that include things like asset tracking, fleet management, or setting up alerts for moving objects.\n\nThe API supports [integration with Event Grid](https://docs.microsoft.com/azure/azure-maps/azure-maps-event-grid-integration). The isAsync parameter is used to enable integration with Event Grid (disabled by default).", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Geofence Post API allows you to retrieve the proximity of a coordinate to a provided geofence or set of fences. With POST call, you do not have to upload the fence data in advance, instead you supply the location of the object you are tracking in query parameters as well as the fence or set of fences data in post request body. See [Geofencing GeoJSON data](/azure/azure-maps/geofence-geojson) for more details on the geofence data format. The response will contain information about the distance from the outer edge of the geofence. A negative value signifies that the coordinate is inside of the fence while a positive value means that it is outside of the fence.

This API can be used for a variety of scenarios that include things like asset tracking, fleet management, or setting up alerts for moving objects.\n\nThe API supports [integration with Event Grid](/azure/azure-maps/azure-maps-event-grid-integration). The isAsync parameter is used to enable integration with Event Grid (disabled by default).", "operationId": "Spatial_PostGeofence", "x-ms-examples": { "PostGeofence": { @@ -391,7 +391,7 @@ } }, "get": { - "description": "**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API returns a FeatureCollection where each Feature is a buffer around the corresponding indexed Feature of the input. The buffer could be either on the outside or the inside of the provided Feature, depending on the distance provided in the input. There must be either one distance provided per Feature in the FeatureCollection input, or if only one distance is provided, then that distance is applied to every Feature in the collection. The positive (or negative) buffer of a geometry is defined as the Minkowski sum (or difference) of the geometry with a circle of radius equal to the absolute value of the buffer distance. The buffer API always returns a polygonal result. The negative or zero-distance buffer of lines and points is always an empty polygon. The input features are provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain a collection of Point, MultiPoint, Polygon, MultiPolygon, LineString and MultiLineString. GeometryCollection will be ignored if provided. \n\nTo test this API, you can upload the sample data from [Post Buffer API](https://docs.microsoft.com/rest/api/maps/spatial/postbuffer#examples) examples(Request Body without distances array) via [Data Upload API](https://docs.microsoft.com/rest/api/maps/data/uploadPreview) and replace the [udid] from the [sample request below](https://docs.microsoft.com/rest/api/maps/spatial/getbuffer#examples) with the udid returned by Data Upload API.", + "description": "**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API returns a FeatureCollection where each Feature is a buffer around the corresponding indexed Feature of the input. The buffer could be either on the outside or the inside of the provided Feature, depending on the distance provided in the input. There must be either one distance provided per Feature in the FeatureCollection input, or if only one distance is provided, then that distance is applied to every Feature in the collection. The positive (or negative) buffer of a geometry is defined as the Minkowski sum (or difference) of the geometry with a circle of radius equal to the absolute value of the buffer distance. The buffer API always returns a polygonal result. The negative or zero-distance buffer of lines and points is always an empty polygon. The input features are provided by a GeoJSON file which is uploaded using the [Data registry API](/rest/api/maps/data-registry/register-or-replace) and referenced by a unique udid. The GeoJSON file may contain a collection of Point, MultiPoint, Polygon, MultiPolygon, LineString and MultiLineString. GeometryCollection will be ignored if provided. \n\nTo test this API, you can upload the sample data from [Post Buffer API](/rest/api/maps/spatial/postbuffer#examples) examples (Request Body without distances array) using the [Data registry](/rest/api/maps/data-registry/register-or-replace) service and replace the `{udid}` in the following [sample request](/rest/api/maps/spatial/getbuffer#examples) with the `udid` used when creating the data registry. For more information, see [How to create data registry](/azure/azure-maps/how-to-create-data-registries).", "operationId": "Spatial_GetBuffer", "x-ms-examples": { "GetBuffer": { @@ -480,7 +480,7 @@ } }, "get": { - "description": "**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API returns the closest point between a base point and a given set of points in the user uploaded data set identified by udid. The set of target points is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may only contain a collection of Point geometry. MultiPoint or other geometries will be ignored if provided. The maximum number of points accepted is 100,000. The algorithm does not take into account routing or traffic. Information returned includes closest point latitude, longitude, and distance in meters from the closest point.\n\nTo test this API, you can upload the sample data from [Post Closest Point API](https://docs.microsoft.com/rest/api/maps/spatial/postclosestpoint#examples) examples(Request Body) via [Data Upload API](https://docs.microsoft.com/rest/api/maps/data/uploadPreview) and replace the [udid] from the [sample request below](https://docs.microsoft.com/rest/api/maps/spatial/getclosestpoint#examples) with the udid returned by Data Upload API.", + "description": "**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API returns the closest point between a base point and a given set of points in the user uploaded data set identified by `udid`. The set of target points is provided by a GeoJSON file which is uploaded using the [Data registry](/rest/api/maps/data-registry/register-or-replace) service and referenced by a unique udid. The GeoJSON file may only contain a collection of Point geometry. MultiPoint or other geometries will be ignored if provided. The maximum number of points accepted is 100,000. The algorithm does not take into account routing or traffic. Information returned includes closest point latitude, longitude, and distance in meters from the closest point.\n\nTo test this API, you can upload the sample data from [Post Closest Point API](/rest/api/maps/spatial/postclosestpoint#examples) examples (Request Body) using the [Data registry](/rest/api/maps/data-registry/register-or-replace) service and replace the `{udid}` from the [sample request below](/rest/api/maps/spatial/getclosestpoint#examples) with the `udid` used when creating the data registry. For more information, see [How to create data registry](/azure/azure-maps/how-to-create-data-registries).", "operationId": "Spatial_GetClosestPoint", "x-ms-examples": { "GetClosestPoint": { @@ -568,7 +568,7 @@ } }, "get": { - "description": "**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API returns a boolean value indicating whether a point is inside a set of polygons. The set of polygons is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain Polygon and MultiPolygon geometries, other geometries will be ignored if provided. If the point is inside or on the boundary of one of these polygons, the value returned is true. In all other cases, the value returned is false. When the point is inside multiple polygons, the result will give intersecting geometries section to show all valid geometries(referenced by geometryId) in user data. The maximum number of vertices accepted to form a Polygon is 10,000.\n\n \nTo test this API, you can upload the sample data from [Post Point In Polygon API](https://docs.microsoft.com/rest/api/maps/spatial/postpointinpolygon#examples) examples(Request Body) via [Data Upload API](https://docs.microsoft.com/rest/api/maps/data/uploadPreview) and replace the [udid] from the [sample request below](https://docs.microsoft.com/rest/api/maps/spatial/getpointinpolygon#examples) with the udid returned by Data Upload API.", + "description": "**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API returns a boolean value indicating whether a point is inside a set of polygons. The set of polygons is provided by a GeoJSON file which is uploaded using the [Data registry](/rest/api/maps/data-registry/register-or-replace) service and referenced by a unique udid. The GeoJSON file may contain Polygon and MultiPolygon geometries, other geometries will be ignored if provided. If the point is inside or on the boundary of one of these polygons, the value returned is true. In all other cases, the value returned is false. When the point is inside multiple polygons, the result will give intersecting geometries section to show all valid geometries(referenced by geometryId) in user data. The maximum number of vertices accepted to form a Polygon is 10,000.\n\n \nTo test this API, you can upload the sample data from [Post Point In Polygon API](/rest/api/maps/spatial/postpointinpolygon#examples) examples (Request Body) using the [Data registry](/rest/api/maps/data-registry/register-or-replace) service and replace the `{udid}` from the [sample request below](/rest/api/maps/spatial/getpointinpolygon#examples) with the `udid` used when creating the data registry. For more information, see [How to create data registry](/azure/azure-maps/how-to-create-data-registries).", "operationId": "Spatial_GetPointInPolygon", "x-ms-examples": { "GetPointInPolygon": { @@ -662,7 +662,7 @@ }, "udId": { "x-ms-client-name": "udid", - "description": "The unique id returned from [Data Upload API](https://docs.microsoft.com/rest/api/maps/data/uploadPreview) after uploading a valid GeoJSON FeatureCollection object. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.", + "description": "The unique id used when creating a [Data registry](/rest/api/maps/data-registry/register-or-replace) to upload a valid GeoJSON FeatureCollection object. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive. For more information on the data registry service, see [How to create data registry](/azure/azure-maps/how-to-create-data-registries).", "type": "string", "readOnly": true }, diff --git a/specification/maps/data-plane/Timezone/preview/1.0/timezone.json b/specification/maps/data-plane/Timezone/preview/1.0/timezone.json index 973681609453..89d54ca15057 100644 --- a/specification/maps/data-plane/Timezone/preview/1.0/timezone.json +++ b/specification/maps/data-plane/Timezone/preview/1.0/timezone.json @@ -18,7 +18,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -63,7 +63,7 @@ "TimezoneAcceptLanguage": { "name": "Accept-Language", "in": "header", - "description": "Specifies the language code in which the timezone names should be returned. If no language code is provided, the response will be in \"EN\". Please refer to [Supported Languages](https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages) for details.", + "description": "Specifies the language code in which the timezone names should be returned. If no language code is provided, the response will be in \"EN\". Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.", "type": "string", "x-ms-parameter-location": "method" }, @@ -567,7 +567,7 @@ "readOnly": true }, "Aliases": { - "description": "An array of time zone ID aliases.  Only returned when [options]=*zoneinfo* or *all*.\n\nNote: may be null.", + "description": "An array of time zone ID aliases. Only returned when [options]=*zoneinfo* or *all*.\n\nNote: may be null.", "type": "array", "readOnly": true, "items": { diff --git a/specification/maps/data-plane/Traffic/preview/1.0/traffic.json b/specification/maps/data-plane/Traffic/preview/1.0/traffic.json index e6cb912ee6c7..24762978da53 100644 --- a/specification/maps/data-plane/Traffic/preview/1.0/traffic.json +++ b/specification/maps/data-plane/Traffic/preview/1.0/traffic.json @@ -18,7 +18,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } @@ -89,7 +89,7 @@ "RasterZoom": { "name": "zoom", "in": "query", - "description": "Zoom level for the desired tile. Zoom value must be in the range: 0-22 (inclusive).\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "description": "Zoom level for the desired tile. Zoom value must be in the range: 0-22 (inclusive).\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", "format": "int32", @@ -98,7 +98,7 @@ "RasterVectorZoom": { "name": "zoom", "in": "query", - "description": "Zoom level for the desired tile. For _raster_ tiles, value must be in the range: 0-22 (inclusive). For _vector_ tiles, value must be in the range: 0-22 (inclusive).\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "description": "Zoom level for the desired tile. For _raster_ tiles, value must be in the range: 0-22 (inclusive). For _vector_ tiles, value must be in the range: 0-22 (inclusive).\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", "format": "int32", @@ -414,7 +414,7 @@ }, "/traffic/incident/detail/{format}": { "get": { - "description": "__Traffic Incident Detail__ \n\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API provides information on traffic incidents inside a given bounding box, based on the current Traffic Model ID. The Traffic Model ID is available to grant synchronization of data between calls and API's. The Traffic Model ID is a key value for determining the currency of traffic incidents. It is updated every minute, and is valid for two minutes before it times out. It is used in rendering [incident tiles](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidenttile). It can be obtained from the [Viewport API](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidentviewport).", + "description": "__Traffic Incident Detail__ \n\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API provides information on traffic incidents inside a given bounding box, based on the current Traffic Model ID. The Traffic Model ID is available to grant synchronization of data between calls and API's. The Traffic Model ID is a key value for determining the currency of traffic incidents. It is updated every minute, and is valid for two minutes before it times out. It is used in rendering [incident tiles](https://docs.microsoft.com/rest/api/maps/traffic/gettrafficincidenttile). It can be obtained from the [Viewport API](https://docs.microsoft.com/rest/api/maps/traffic/gettrafficincidentviewport).", "operationId": "Traffic_GetTrafficIncidentDetail", "x-ms-examples": { "Request information about a traffic incident": { @@ -434,7 +434,7 @@ { "name": "style", "in": "query", - "description": "The style that will be used to render the tile in Traffic [Incident Tile API](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidenttile). This will have an effect on the coordinates of traffic incidents in the reply.", + "description": "The style that will be used to render the tile in Traffic [Incident Tile API](https://docs.microsoft.com/rest/api/maps/traffic/gettrafficincidenttile). This will have an effect on the coordinates of traffic incidents in the reply.", "required": true, "type": "string", "enum": [ @@ -493,14 +493,14 @@ { "name": "trafficmodelid", "in": "query", - "description": "Number referencing traffic model. This can be obtained from the [Viewport API](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidentviewport). It is updated every minute, and is valid for two minutes before it times out. If the wrong Traffic Model ID is specified, the correct one will be returned by the interface. A value of -1 will always invoke the most recent traffic model", + "description": "Number referencing traffic model. This can be obtained from the [Viewport API](https://docs.microsoft.com/rest/api/maps/traffic/gettrafficincidentviewport). It is updated every minute, and is valid for two minutes before it times out. If the wrong Traffic Model ID is specified, the correct one will be returned by the interface. A value of -1 will always invoke the most recent traffic model", "required": true, "type": "string" }, { "name": "language", "in": "query", - "description": "[ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for the output language. Supported languages are ar, ca, cs, da, de, el, en, en-GB, en-US, es, et, fi, fr, he, hu, id, in*, it, lt, lv, nb, nl, no, pl, pt, ro, ru, sk, sv, th, tr, zh.\n\nPlease refer to [Supported Languages](https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages) for details. When invalid language code is provided response is returned in English. When incident cause or description does not have translation, English description is returned.", + "description": "[ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for the output language. Supported languages are ar, ca, cs, da, de, el, en, en-GB, en-US, es, et, fi, fr, he, hu, id, in*, it, lt, lv, nb, nl, no, pl, pt, ro, ru, sk, sv, th, tr, zh.\n\nPlease refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details. When invalid language code is provided response is returned in English. When incident cause or description does not have translation, English description is returned.", "type": "string" }, { diff --git a/specification/maps/data-plane/Weather/stable/1.1/weather.json b/specification/maps/data-plane/Weather/stable/1.1/weather.json index 8aa1f805abb4..506fa9d79f67 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/weather.json +++ b/specification/maps/data-plane/Weather/stable/1.1/weather.json @@ -17,7 +17,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", + "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).", "scopes": { "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default" } diff --git a/specification/maps/data-plane/readme.md b/specification/maps/data-plane/readme.md index 013cfa7bfb74..be220b54a806 100644 --- a/specification/maps/data-plane/readme.md +++ b/specification/maps/data-plane/readme.md @@ -27,7 +27,7 @@ These are the global settings for MapsClient. ``` yaml title: MapsClient openapi-type: data-plane -tag: package-stable-2023-07-01 +tag: package-stable-2023-06-01 ``` ### Suppression @@ -51,24 +51,16 @@ directive: ``` -### Tag: package-stable-2023-07-01 +### Tag: package-stable-2023-06-01 -These settings apply only when `--tag=package-stable-2023-07-01` is specified on the command line. +These settings apply only when `--tag=package-stable-2023-06-01` is specified on the command line. -```yaml $(tag) == 'package-stable-2023-07-01' +```yaml $(tag) == 'package-stable-2023-06-01' input-file: - Common/stable/2023-06-01/common.json - - Creator/stable/2023-07-01/alias.json - - Creator/stable/2023-07-01/dataset.json - - Creator/stable/2023-07-01/dwgconversion.json - - Creator/stable/2023-07-01/features.json - - Creator/stable/2023-07-01/featurestate.json - - Creator/stable/2023-07-01/mapconfiguration.json - - Creator/stable/2023-07-01/style.json - - Creator/stable/2023-07-01/tileset.json - - Microsoft.Maps/Data/preview/2.0/data.json - DataRegistry/stable/2023-06-01/dataregistry.json - Geolocation/preview/1.0/geolocation.json + - Creator/preview/2.0/data.json - Render/stable/2022-08-01/render.json - Route/preview/1.0/route.json - Search/stable/2023-06-01/search.json @@ -78,48 +70,46 @@ input-file: - Weather/stable/1.1/weather.json ``` -### Tag: package-preview-2.0 +### Tag: package-stable-1.0 + +These settings apply only when `--tag=package-stable-1.0` is specified on the command line. + +```yaml $(tag) == 'package-stable-1.0' +input-file: + - Microsoft.Maps/Data/preview/1.0/data.json + - Microsoft.Maps/Render/preview/1.0/render.json + - Search/preview/1.0/search.json +``` + +### Tag: package-deprecated -These settings apply only when `--tag=package-preview-2.0` is specified on the command line. +These settings apply only when `--tag=package-deprecated` is specified on the command line. -```yaml $(tag) == 'package-preview-2.0' +``` yaml $(tag) == 'package-deprecated' input-file: - Microsoft.Maps/Alias/preview/2.0/alias.json - Microsoft.Maps/Data/preview/2.0/data.json - - Microsoft.Maps/Dataset/preview/2.0/dataset.json - Microsoft.Maps/DEM/preview/1.0/elevation.json - - Microsoft.Maps/DwgConversion/preview/2.0/dwgconversion.json - - Microsoft.Maps/FeatureState/preview/2.0/featurestate.json - Microsoft.Maps/Feedback/preview/1.0/feedback.json - Microsoft.Maps/Geolocation/preview/1.0/geolocation.json - - Microsoft.Maps/Render/preview/1.0/render.json - Microsoft.Maps/Render/preview/2.0/render.json - Microsoft.Maps/Route/preview/1.0/route.json - Microsoft.Maps/Search/preview/1.0/search.json - Microsoft.Maps/Spatial/preview/1.0/spatial.json - - Microsoft.Maps/Tileset/preview/2.0/tileset.json - Microsoft.Maps/Timezone/preview/1.0/timezone.json - Microsoft.Maps/Traffic/preview/1.0/traffic.json - Microsoft.Maps/Weather/preview/1.0/weather.json - - Microsoft.Maps/WFS/preview/2.0/wfs.json ``` -### Tag: package-1.0-preview +### Tag: package-creator -These settings apply only when `--tag=package-1.0-preview` is specified on the command line. +These settings apply only when `--tag=package-creator` is specified on the command line. -``` yaml $(tag) == 'package-1.0-preview' +``` yaml $(tag) == 'package-creator' input-file: - - Microsoft.Maps/Data/preview/1.0/data.json - - Microsoft.Maps/DEM/preview/1.0/elevation.json - - Microsoft.Maps/Feedback/preview/1.0/feedback.json - - Microsoft.Maps/Geolocation/preview/1.0/geolocation.json - - Microsoft.Maps/Render/preview/1.0/render.json - - Microsoft.Maps/Render/preview/2.0/render.json - - Microsoft.Maps/Route/preview/1.0/route.json - - Microsoft.Maps/Search/preview/1.0/search.json - - Microsoft.Maps/Spatial/preview/1.0/spatial.json - - Microsoft.Maps/Timezone/preview/1.0/timezone.json - - Microsoft.Maps/Traffic/preview/1.0/traffic.json - - Microsoft.Maps/Weather/preview/1.0/weather.json + - Microsoft.Maps/Dataset/preview/2.0/dataset.json + - Microsoft.Maps/DwgConversion/preview/2.0/dwgconversion.json + - Microsoft.Maps/FeatureState/preview/2.0/featurestate.json + - Microsoft.Maps/Tileset/preview/2.0/tileset.json + - Microsoft.Maps/WFS/preview/2.0/wfs.json ``` diff --git a/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/PublicSkus_List.json b/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/PublicSkus_List.json index 86327f3afdb0..5d0b834e3ce4 100644 --- a/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/PublicSkus_List.json +++ b/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/PublicSkus_List.json @@ -19,7 +19,7 @@ "service": "Virtual Machines", "publisherId": "Microsoft", "publisherType": "Microsoft", - "productType": "AzureServices", + "productType": "MicrosoftProduct", "productSubType": "Azure", "productAttributes": [], "skuName": "sku_1", diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-04-01/dataCollectionRules_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-04-01/dataCollectionRules_API.json index a6a3b1491024..d41a20f0b308 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-04-01/dataCollectionRules_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-04-01/dataCollectionRules_API.json @@ -405,15 +405,21 @@ "type": "array", "items": { "enum": [ + "alert", + "audit", "auth", "authpriv", + "clock", "cron", "daemon", + "ftp", "kern", "lpr", "mail", "mark", "news", + "nopri", + "ntp", "syslog", "user", "uucp", diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2022-06-01/dataCollectionRules_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2022-06-01/dataCollectionRules_API.json index a9a3926aad8b..561bbbf48132 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2022-06-01/dataCollectionRules_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2022-06-01/dataCollectionRules_API.json @@ -472,15 +472,21 @@ "type": "array", "items": { "enum": [ + "alert", + "audit", "auth", "authpriv", + "clock", "cron", "daemon", + "ftp", "kern", "lpr", "mail", "mark", "news", + "nopri", + "ntp", "syslog", "user", "uucp", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_CreateOrUpdate.json new file mode 100644 index 000000000000..4e1298a82f03 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_CreateOrUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_CreateOrUpdateAD.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_CreateOrUpdateAD.json new file mode 100644 index 000000000000..75c3f9b59fd6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_CreateOrUpdateAD.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": { + "activeDirectories": [ + { + "site": "SiteName", + "username": "ad_user_name", + "password": "ad_password", + "domain": "10.10.10.3", + "dns": "10.10.10.3", + "smbServerName": "SMBServer", + "organizationalUnit": "OU=Engineering", + "aesEncryption": true, + "ldapSigning": false, + "ldapOverTLS": false + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "activeDirectories": [ + { + "activeDirectoryId": "503d38f9-f17c-f92d-ef26-b0d46374534b", + "site": "SiteName", + "username": "ad_user_name", + "password": null, + "domain": "10.10.10.3", + "dns": "10.10.10.3", + "smbServerName": "SMBServer", + "organizationalUnit": "OU=Engineering", + "aesEncryption": true, + "ldapSigning": false, + "ldapOverTLS": false + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Creating", + "activeDirectories": [ + { + "activeDirectoryId": "503d38f9-f17c-f92d-ef26-b0d46374534b", + "site": "SiteName", + "username": "ad_user_name", + "password": null, + "domain": "10.10.10.3", + "dns": "10.10.10.3", + "smbServerName": "SMBServer", + "organizationalUnit": "OU=Engineering", + "aesEncryption": true, + "ldapSigning": false, + "ldapOverTLS": false + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_Delete.json new file mode 100644 index 000000000000..271b4fac8baf --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2023-07-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + }, + "204": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_Get.json new file mode 100644 index 000000000000..e6bbab61959c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_Get.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "activeDirectories": [ + { + "site": "SiteName", + "activeDirectoryId": "02da3711-6c58-2d64-098a-e3af7afaf936", + "username": "ad_user_name", + "domain": "10.10.10.3", + "dns": "10.10.10.3", + "status": "InUse", + "smbServerName": "SMBServer", + "organizationalUnit": "OU=Engineering", + "statusDetails": "Status Details", + "aesEncryption": true, + "ldapSigning": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_List.json new file mode 100644 index 000000000000..3125449ef32e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_RenewCredentials.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_RenewCredentials.json new file mode 100644 index 000000000000..30298e0769b6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_RenewCredentials.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2023-07-01", + "body": {} + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/a0216c17-f9d6-4b99-9faf-9ebd4883d0e4?api-version=2022-09-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_Update.json new file mode 100644 index 000000000000..bc26524ea6df --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Accounts_Update.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2023-07-01", + "body": { + "tags": { + "Tag1": "Value1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/a0216c17-f9d6-4b99-9faf-9ebd4883d0e4?api-version=2022-09-01&operationResultResponseType=Location" + }, + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "tags": { + "Tag1": "Value1" + }, + "properties": { + "provisioningState": "Patching", + "encryption": { + "keySource": "Microsoft.NetApp" + } + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_Create.json new file mode 100644 index 000000000000..54c1b9eab674 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_Create.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2023-07-01", + "body": { + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true, + "provisioningState": "creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true, + "provisioningState": "creating" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_Delete.json new file mode 100644 index 000000000000..4201d30d3c41 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "backupPolicyName": "backupPolicyName", + "api-version": "2023-07-01" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + }, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_Get.json new file mode 100644 index 000000000000..7f907acc4040 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "eastus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "volumesAssigned": 0, + "enabled": true, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_List.json new file mode 100644 index 000000000000..3358342d332c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicy1", + "name": "account1/backupPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "eastus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "volumesAssigned": 0, + "enabled": true + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_Update.json new file mode 100644 index 000000000000..636140af2712 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/BackupPolicies_Update.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2023-07-01", + "body": { + "location": "westus", + "properties": { + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "volumesAssigned": 1, + "enabled": false, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2022-09-01&operationResultResponseType=Location" + }, + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "volumesAssigned": 1, + "enabled": false, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/CheckFilePathAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/CheckFilePathAvailability.json new file mode 100644 index 000000000000..0a44545c8053 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/CheckFilePathAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2023-07-01", + "body": { + "name": "my-exact-filepth", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/CheckNameAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..03753e5e30f9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2023-07-01", + "body": { + "name": "accName", + "type": "Microsoft.NetApp/netAppAccounts", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/CheckQuotaAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/CheckQuotaAvailability.json new file mode 100644 index 000000000000..1294cd86cb95 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/CheckQuotaAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2023-07-01", + "body": { + "name": "resource1", + "type": "Microsoft.NetApp/netAppAccounts", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/GroupIdListForLDAPUser.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/GroupIdListForLDAPUser.json new file mode 100644 index 000000000000..78fe6408e469 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/GroupIdListForLDAPUser.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "username": "user1" + } + }, + "responses": { + "200": { + "body": { + "groupIdsForLdapUser": [ + "123", + "224" + ] + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-07-01&operationResultResponseType=Location", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-07-01" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/NetworkSiblingSet_Query.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/NetworkSiblingSet_Query.json new file mode 100644 index 000000000000..2b87ad1082ae --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/NetworkSiblingSet_Query.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2023-07-01", + "body": { + "networkSiblingSetId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/testSubnet" + } + }, + "responses": { + "200": { + "body": { + "networkSiblingSetId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/testSubnet", + "networkSiblingSetStateId": "12345_44420.8001578125", + "networkFeatures": "Standard", + "provisioningState": "Succeeded", + "nicInfoList": [ + { + "ipAddress": "1.2.3.4", + "volumeResourceIds": [ + "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume10", + "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume11" + ] + }, + { + "ipAddress": "1.2.3.5", + "volumeResourceIds": [ + "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account2/capacityPools/pool2/volumes/volume20", + "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account2/capacityPools/pool2/volumes/volume21" + ] + }, + { + "ipAddress": "1.2.3.9", + "volumeResourceIds": [] + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/NetworkSiblingSet_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/NetworkSiblingSet_Update.json new file mode 100644 index 000000000000..5098064f7687 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/NetworkSiblingSet_Update.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2023-07-01", + "body": { + "networkSiblingSetId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/testSubnet", + "networkSiblingSetStateId": "12345_44420.8001578125", + "networkFeatures": "Standard" + } + }, + "responses": { + "200": { + "body": { + "networkSiblingSetId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/testSubnet", + "networkSiblingSetStateId": "12345_44420.8001578125", + "networkFeatures": "Standard", + "provisioningState": "Succeeded", + "nicInfoList": [ + { + "ipAddress": "1.2.3.4", + "volumeResourceIds": [ + "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume10", + "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume11" + ] + }, + { + "ipAddress": "1.2.3.5", + "volumeResourceIds": [ + "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account2/capacityPools/pool2/volumes/volume20", + "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account2/capacityPools/pool2/volumes/volume21" + ] + }, + { + "ipAddress": "1.2.3.9", + "volumeResourceIds": [] + } + ] + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2023-01-01-preview&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/OperationList.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/OperationList.json new file mode 100644 index 000000000000..80cd17dbc5d6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/OperationList.json @@ -0,0 +1,1565 @@ +{ + "parameters": { + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.NetApp/register/action", + "display": { + "provider": "Microsoft.NetApp", + "resource": "Subscription", + "operation": "Subscription Registration Action", + "description": "Subscription Registration Action" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Read volume resource", + "description": "Reads a volume resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Write volume resource", + "description": "Writes a volume resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Delete volume resource", + "description": "Deletes a volume resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/Revert/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Revert volume resource", + "description": "Revert volume to specific snapshot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/BreakReplication/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Break volume replication resource", + "description": "Break volume replication relations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ReplicationStatus/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Read Volume Replication Status.", + "description": "Reads the statuses of the Volume Replication." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ListReplications/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ReInitializeReplication/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Re-Initialize replication", + "description": "Attempts to re-initialize an uninitialized replication" + }, + "origin": "user,system" + }, + { + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "AverageReadLatency", + "displayName": "Average read latency", + "displayDescription": "Average read latency in milliseconds per operation", + "unit": "MilliSeconds", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "AverageReadLatency", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "AverageWriteLatency", + "displayName": "Average write latency", + "displayDescription": "Average write latency in milliseconds per operation", + "unit": "MilliSeconds", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "AverageWriteLatency", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeLogicalSize", + "displayName": "Volume Consumed Size", + "displayDescription": "Logical size of the volume (used bytes)", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeLogicalSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeSnapshotSize", + "displayName": "Volume snapshot size", + "displayDescription": "Size of all snapshots in volume", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeSnapshotSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "ReadIops", + "displayName": "Read iops", + "displayDescription": "Read In/out operations per second", + "unit": "CountPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "ReadIops", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "WriteIops", + "displayName": "Write iops", + "displayDescription": "Write In/out operations per second", + "unit": "CountPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "WriteIops", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeAllocatedSize", + "displayName": "Volume allocated size", + "displayDescription": "The provisioned size of a volume", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeAllocatedSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeCoolTierSize", + "displayName": "Volume cool tier size", + "displayDescription": "Volume Footprint for Cool Tier", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeCoolTierSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeCoolTierDataReadSize", + "displayName": "Volume cool tier data read size", + "displayDescription": "Data read in using GET per volume", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeCoolTierDataReadSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeCoolTierDataWriteSize", + "displayName": "Volume cool tier data write size", + "displayDescription": "Data tiered out using PUT per volume", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeCoolTierDataWriteSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationLastTransferDuration", + "displayName": "Volume replication last transfer duration", + "displayDescription": "The amount of time in seconds it took for the last transfer to complete.", + "unit": "Seconds", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationLastTransferDuration", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationLastTransferSize", + "displayName": "Volume replication last transfer size", + "displayDescription": "The total number of bytes transferred as part of the last transfer.", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationLastTransferSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationHealthy", + "displayName": "Is volume replication status healthy", + "displayDescription": "Condition of the relationship, 1 or 0.", + "unit": "Count", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationHealthy", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationLagTime", + "displayName": "Volume replication lag time", + "displayDescription": "The amount of time in seconds by which the data on the mirror lags behind the source.", + "unit": "Seconds", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationLagTime", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationTotalTransferBytes", + "displayName": "Volume replication total transfer", + "displayDescription": "Cumulative bytes transferred for the relationship.", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationTotalTransferBytes", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationRelationshipProgress", + "displayName": "Volume replication progress", + "displayDescription": "Total amount of data transferred for the current transfer operation.", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationRelationshipProgress", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationRelationshipTransferring", + "displayName": "Is volume replication transferring", + "displayDescription": "Whether the status of the Volume Replication is 'transferring'.", + "unit": "Count", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationRelationshipTransferring", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "CbsVolumeLogicalBackupBytes", + "displayName": "Volume Backup Bytes", + "displayDescription": "Total bytes backed up for this Volume.", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "CbsVolumeLogicalBackupBytes", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "CbsVolumeProtected", + "displayName": "Is Volume Backup Enabled", + "displayDescription": "Is backup enabled for the volume? 1 if yes, 0 if no.", + "unit": "Count", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "CbsVolumeProtected", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "CbsVolumeBackupActive", + "displayName": "Is Volume Backup suspended", + "displayDescription": "Is the backup policy suspended for the volume? 0 if yes, 1 if no.", + "unit": "Count", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "CbsVolumeBackupActive", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "CbsVolumeOperationTransferredBytes", + "displayName": "Volume Backup Last Transferred Bytes", + "displayDescription": "Total bytes transferred for last backup or restore operation.", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "CbsVolumeOperationTransferredBytes", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "CbsVolumeOperationComplete", + "displayName": "Is Volume Backup Operation Complete", + "displayDescription": "Did the last volume backup or restore operation complete successfully? 1 if yes, 0 if no.", + "unit": "Count", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "CbsVolumeOperationComplete", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeConsumedSizePercentage", + "displayName": "Percentage Volume Consumed Size", + "displayDescription": "The percentage of the volume consumed including snapshots.", + "unit": "Percent", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeConsumedSizePercentage", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "OtherThroughput", + "displayName": "Other throughput", + "displayDescription": "Other throughput (that is not read or write) in bytes per second", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "OtherThroughput", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "ReadThroughput", + "displayName": "Read throughput", + "displayDescription": "Read throughput in bytes per second", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "ReadThroughput", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "TotalThroughput", + "displayName": "Total throughput", + "displayDescription": "Sum of all throughput in bytes per second", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "TotalThroughput", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "WriteThroughput", + "displayName": "Write throughput", + "displayDescription": "Write throughput in bytes per second", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "WriteThroughput", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + } + ] + } + }, + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Read volume metric definitions.", + "description": "Gets the available metrics for Volume resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Read diagnostic setting.", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Write diagnostic setting.", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/AuthorizeReplication/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Authorize Replication", + "description": "Authorize the source volume replication" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ResyncReplication/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Resync Replication", + "description": "Resync the replication on the destination volume" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/DeleteReplication/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Delete Replication", + "description": "Delete the replication on the destination volume" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ReplicationStatus/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Read Volume Replication Status.", + "description": "Reads the statuses of the Volume Replication." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/MountTargets/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Read mount target resource", + "description": "Reads a mount target resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/BackupStatus/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/RestoreStatus/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/PoolChange/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Change pool for volume", + "description": "Moves volume to another pool." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/RelocateVolume/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Relocate volume to a new stamp.", + "description": "Relocate volume to a new stamp." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/FinalizeRelocation/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Finalize relocation of volume.", + "description": "Finalize relocation by cleaning up the old volume." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/RevertRelocation/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Revert the relocation of volume.", + "description": "Revert the relocation and revert back to the old volume." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Accounts resource type", + "operation": "Read account resource", + "description": "Reads an account resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Accounts resource type", + "operation": "Write account resource", + "description": "Writes an account resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Accounts resource type", + "operation": "Delete account resource", + "description": "Deletes a account resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/RenewCredentials/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Accounts resource type", + "operation": "Renew MSI credentials, if possible.", + "description": "Renews MSI credentials of account, if account has MSI credentials that are due for renewal." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Read pool resource", + "description": "Reads a pool resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Write pool resource", + "description": "Writes a pool resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Delete pool resource", + "description": "Deletes a pool resource." + }, + "origin": "user,system" + }, + { + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "VolumePoolAllocatedUsed", + "displayName": "Pool Allocated To Volume Size", + "displayDescription": "Allocated used size of the pool", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumePoolAllocatedUsed", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumePoolTotalLogicalSize", + "displayName": "Pool Consumed Size", + "displayDescription": "Sum of the logical size of all the volumes belonging to the pool", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average", + "Total" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumePoolTotalLogicalSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumePoolAllocatedSize", + "displayName": "Pool Allocated Size", + "displayDescription": "Provisioned size of this pool", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average", + "Total" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumePoolAllocatedSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumePoolTotalSnapshotSize", + "displayName": "Total Snapshot size for the pool", + "displayDescription": "Sum of snapshot size of all volumes in this pool", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumePoolTotalSnapshotSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumePoolProvisionedThroughput", + "displayName": "Provisioned throughput for the pool", + "displayDescription": "Provisioned throughput of this pool", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumePoolProvisionedThroughput", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumePoolAllocatedToVolumeThroughput", + "displayName": "Pool allocated throughput", + "displayDescription": "Sum of the throughput of all the volumes belonging to the pool", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumePoolAllocatedToVolumeThroughput", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + } + ] + } + }, + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Read volume metric definitions.", + "description": "Gets the available metrics for Volume resource." + }, + "origin": "system" + }, + { + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "Autoscale", + "displayName": "Capacity Pool Autoscaled" + } + ] + } + }, + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/providers/Microsoft.Insights/logDefinitions/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Read log definitions.", + "description": "Gets the log definitions for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Read diagnostic setting.", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Write diagnostic setting.", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshots resource type", + "operation": "Read snapshot resource", + "description": "Reads a snapshot resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshots resource type", + "operation": "Write snapshot resource", + "description": "Writes a snapshot resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshots resource type", + "operation": "Delete snapshot resource", + "description": "Deletes a snapshot resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/RestoreFiles/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshots resource type", + "operation": "Single File Snapshot Restore", + "description": "Restores files from a snapshot resource" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Subvolume resource type." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Subvolume resource type.", + "operation": "Write subvolume Resource", + "description": "Write a subvolume resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Subvolume resource type." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/GetMetadata/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Subvolume resource type.", + "operation": "Subvolume Metadata resource.", + "description": "Read subvolume metadata resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshot Policies resource type", + "operation": "Read snapshot policy resource", + "description": "Reads a snapshot policy resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshot Policies resource type", + "operation": "Write snapshot policy resource", + "description": "Writes a snapshot policy resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshot Policies resource type", + "operation": "Delete snapshot policy resource", + "description": "Deletes a snapshot policy resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/Volumes/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshot Policies resource type", + "operation": "List connected volumes", + "description": "List volumes connected to snapshot policy" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/ListVolumes/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshot Policies resource type", + "operation": "List connected volumes", + "description": "List volumes connected to snapshot policy" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Backup resource type", + "operation": "Read backup resource.", + "description": "Reads a backup resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Backup resource type", + "operation": "Write backup resource.", + "description": "Writes a backup resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Backup resource type", + "operation": "Delete backup resource", + "description": "Deletes a backup resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/backupPolicies/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Backup Policy resource type", + "operation": "Read backup policy resource.", + "description": "Reads a backup policy resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/backupPolicies/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Backup Policy resource type", + "operation": "Write backup policy resource.", + "description": "Writes a backup policy resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/backupPolicies/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Backup Policy resource type", + "operation": "Delete backup policy resource", + "description": "Deletes a backup policy resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/vaults/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Vault resource type", + "operation": "Read vault resource.", + "description": "Reads a vault resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/accountBackups/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Account backup resource type", + "operation": "Read an account backup resource.", + "description": "Reads an account backup resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/accountBackups/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Account backup resource type", + "operation": "Write an account backup resource.", + "description": "Writes an account backup resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/accountBackups/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Account backup resource type", + "operation": "Delete an account backup resource.", + "description": "Deletes an account backup resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/volumeGroups/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volume Group resource type", + "operation": "Read volume group resource", + "description": "Reads a volume group resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/volumeGroups/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volume Group resource type", + "operation": "Write volume group resource", + "description": "Writes a volume group resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/volumeGroups/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volume Group resource type", + "operation": "Delete volume group resource", + "description": "Deletes a volume group resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/locations/quotaLimits/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "QuotaLimit resource type", + "operation": "Read QuotaLimit resource type", + "description": "Reads a Quotalimit resource type." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/Operations/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Operations resource type", + "operation": "Read operation resource", + "description": "Reads an operation resources." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/locations/operationresults/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Operation results resource type", + "operation": "Read operation result resource", + "description": "Reads an operation result resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/locations/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Location wide operation", + "operation": "Read location wide operation", + "description": "Reads a location wide operation." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/locations/checknameavailability/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "NetApp resources", + "operation": "Check if resource name is available", + "description": "Check if resource name is available" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/locations/checkfilepathavailability/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Check if file path is available", + "description": "Check if file path is available" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/unregister/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Subscription", + "operation": "Unregister Subscription for Azure NetApp Files", + "description": "Unregisters Subscription with Microsoft.NetApp resource provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/locations/checkinventory/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "ReservedCapacity reservation resource.", + "operation": "Checks ReservedCapacity inventory.", + "description": "Checks ReservedCapacity inventory." + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_CreateOrUpdate.json new file mode 100644 index 000000000000..96a8630d72d4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_CreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": { + "size": 4398046511104, + "serviceLevel": "Premium", + "qosType": "Auto" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_Delete.json new file mode 100644 index 000000000000..bd1765829030 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2023-07-01" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_Get.json new file mode 100644 index 000000000000..c26585af3965 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Manual", + "totalThroughputMibps": 281.474, + "utilizedThroughputMibps": 100.47 + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_List.json new file mode 100644 index 000000000000..5a2c06eacfbf --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_Update.json new file mode 100644 index 000000000000..1d87c459702d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Pools_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2023-07-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Manual", + "totalThroughputMibps": 281.474, + "utilizedThroughputMibps": 100.47 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/QuotaLimits_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/QuotaLimits_Get.json new file mode 100644 index 000000000000..4dea6a25cf5f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/QuotaLimits_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "quotaLimitName": "totalCoolAccessVolumesPerSubscription", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalCoolAccessVolumesPerSubscription", + "name": "eastus/totalCoolAccessVolumesPerSubscription", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 10, + "default": 10 + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/QuotaLimits_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/QuotaLimits_List.json new file mode 100644 index 000000000000..8e7cfaa45f1a --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/QuotaLimits_List.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/accountsPerSubscription", + "name": "eastus/accountsPerSubscription", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 10, + "default": 10 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/poolsPerAccount", + "name": "eastus/poolsPerAccount", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 25, + "default": 25 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/volumesPerPool", + "name": "eastus/volumesPerPool", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 500, + "default": 500 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/snapshotsPerVolume", + "name": "eastus/snapshotsPerVolume", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 255, + "default": 255 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalTiBsPerSubscription", + "name": "eastus/totalTiBsPerSubscription", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 1000, + "default": 25 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalDPVolumesPerSubscription", + "name": "eastus/totalDPVolumesPerSubscription", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 10, + "default": 10 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalVolumesPerSubscription", + "name": "eastus/totalVolumesPerSubscription", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 500, + "default": 500 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalCoolAccessVolumesPerSubscription", + "name": "eastus/totalCoolAccessVolumesPerSubscription", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 10, + "default": 10 + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/RegionInfo.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/RegionInfo.json new file mode 100644 index 000000000000..d7506914d815 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/RegionInfo.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "storageToNetworkProximity": "T2", + "availabilityZoneMappings": [ + { + "availabilityZone": "1", + "isAvailable": true + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_Create.json new file mode 100644 index 000000000000..713341d0d416 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_Create.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "eastus", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "location": "eastus", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_Delete.json new file mode 100644 index 000000000000..d48e36c2b340 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2023-07-01" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + }, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_Get.json new file mode 100644 index 000000000000..f9ad6b86cb75 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_List.json new file mode 100644 index 000000000000..c6bd605cb96f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_List.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "location": "eastus", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_ListVolumes.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_ListVolumes.json new file mode 100644 index 000000000000..7aeea61732a1 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_ListVolumes.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_Update.json new file mode 100644 index 000000000000..aa78c7aed1b0 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/SnapshotPolicies_Update.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2022-09-01&operationResultResponseType=Location" + }, + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_Create.json new file mode 100644 index 000000000000..be9899c729b9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_Create.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2023-07-01", + "location": "eastus", + "body": { + "location": "eastus" + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_Delete.json new file mode 100644 index 000000000000..318588b18afd --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_Delete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2023-07-01" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + }, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_Get.json new file mode 100644 index 000000000000..c312be7f2170 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_List.json new file mode 100644 index 000000000000..b42307b72e6c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_SingleFileRestore.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_SingleFileRestore.json new file mode 100644 index 000000000000..44ddf900b385 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_SingleFileRestore.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2023-07-01", + "body": { + "filePaths": [ + "/dir1/customer1.db", + "/dir1/customer2.db" + ] + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_Update.json new file mode 100644 index 000000000000..d68f88c84258 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Snapshots_Update.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2023-07-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Create.json new file mode 100644 index 000000000000..c88b46719869 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Create.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "subvolumeName": "subvolume1", + "api-version": "2023-07-01", + "body": { + "properties": { + "path": "/subvolumePath" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1", + "name": "account1/pool1/volume1/subvolume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes", + "properties": { + "path": "/subvolumePath", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1", + "name": "account1/pool1/volume1/subvolume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes", + "properties": { + "path": "/subvolumePath", + "provisioningState": "Creating" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Delete.json new file mode 100644 index 000000000000..69a2abda19a4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Delete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "subvolumeName": "subvolume1", + "api-version": "2023-07-01" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + }, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Get.json new file mode 100644 index 000000000000..2df6a6526897 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "subvolumeName": "subvolume1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1", + "name": "account1/pool1/volume1/subvolume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes", + "properties": { + "path": "/pathToSubvol" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_List.json new file mode 100644 index 000000000000..455f8359b591 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "subvolumeName": "subvolume1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1", + "name": "account1/pool1/volume1/subvolume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes", + "properties": { + "path": "/pathToSubvol" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Metadata.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Metadata.json new file mode 100644 index 000000000000..77c6f8211e86 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Metadata.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "subvolumeName": "subvolume1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1/metadata", + "name": "account1/pool1/volume1/subvolume1/metadata", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/metadata", + "properties": { + "path": "/pathToSubvol", + "size": 5, + "bytesUsed": 5, + "permissions": "777", + "creationTimeStamp": "2017-08-15T13:23:33Z", + "accessedTimeStamp": "2017-08-15T13:23:33Z", + "modifiedTimeStamp": "2017-08-15T13:23:33Z", + "changedTimeStamp": "2017-08-15T13:23:33Z" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Update.json new file mode 100644 index 000000000000..835ea88f7057 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Subvolumes_Update.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "subvolumeName": "subvolume1", + "api-version": "2023-07-01", + "body": { + "properties": { + "path": "/subvolumePath" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1", + "name": "account1/pool1/volume1/subvolume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolume1", + "properties": { + "path": "/subvolumePath" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Create_Oracle.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Create_Oracle.json new file mode 100644 index 000000000000..6cfe75942bf5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Create_Oracle.json @@ -0,0 +1,965 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "volumeGroupName": "group1", + "api-version": "2023-07-01", + "body": { + "location": "westus", + "properties": { + "groupMetaData": { + "groupDescription": "Volume group", + "applicationType": "ORACLE", + "applicationIdentifier": "OR2" + }, + "volumes": [ + { + "name": "test-ora-data1", + "zones": [ + "1" + ], + "properties": { + "creationToken": "test-ora-data1", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "ora-data1", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-ora-data2", + "zones": [ + "1" + ], + "properties": { + "creationToken": "test-ora-data2", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "ora-data2", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-ora-data3", + "zones": [ + "1" + ], + "properties": { + "creationToken": "test-ora-data3", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "ora-data3", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-ora-data4", + "zones": [ + "1" + ], + "properties": { + "creationToken": "test-ora-data4", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "ora-data4", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-ora-data5", + "zones": [ + "1" + ], + "properties": { + "creationToken": "test-ora-data5", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "ora-data5", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-ora-data6", + "zones": [ + "1" + ], + "properties": { + "creationToken": "test-ora-data6", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "ora-data6", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-ora-data7", + "zones": [ + "1" + ], + "properties": { + "creationToken": "test-ora-data7", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "ora-data7", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-ora-data8", + "zones": [ + "1" + ], + "properties": { + "creationToken": "test-ora-data8", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "ora-data8", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-ora-log", + "zones": [ + "1" + ], + "properties": { + "creationToken": "test-ora-log", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "ora-log", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-ora-log-mirror", + "zones": [ + "1" + ], + "properties": { + "creationToken": "test-ora-log-mirror", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "ora-log-mirror", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-ora-binary", + "zones": [ + "1" + ], + "properties": { + "creationToken": "test-ora-binary", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "ora-binary", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-ora-backup", + "zones": [ + "1" + ], + "properties": { + "creationToken": "test-ora-backup", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "ora-backup", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1", + "name": "group1", + "type": "Microsoft.NetApp/netAppAccounts/volumeGroups", + "location": "westus", + "properties": { + "provisioningState": "Creating", + "groupMetaData": { + "groupDescription": "Volume group", + "applicationType": "ORACLE", + "applicationIdentifier": "OR2" + }, + "volumes": [ + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-ora-data1", + "zones": [ + "1" + ], + "properties": { + "throughputMibps": 10.0, + "volumeSpecName": "ora-data1", + "serviceLevel": "Premium", + "creationToken": "test-ora-data1", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data2", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-ora-data2", + "zones": [ + "1" + ], + "properties": { + "throughputMibps": 10.0, + "volumeSpecName": "ora-data2", + "serviceLevel": "Premium", + "creationToken": "test-ora-data2", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data3", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-ora-data3", + "zones": [ + "1" + ], + "properties": { + "throughputMibps": 10.0, + "volumeSpecName": "ora-data3", + "serviceLevel": "Premium", + "creationToken": "test-ora-data3", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data4", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-ora-data4", + "zones": [ + "1" + ], + "properties": { + "throughputMibps": 10.0, + "volumeSpecName": "ora-data4", + "serviceLevel": "Premium", + "creationToken": "test-ora-data4", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data5", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-ora-data5", + "zones": [ + "1" + ], + "properties": { + "throughputMibps": 10.0, + "volumeSpecName": "ora-data5", + "serviceLevel": "Premium", + "creationToken": "test-ora-data5", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data6", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-ora-data6", + "zones": [ + "1" + ], + "properties": { + "throughputMibps": 10.0, + "volumeSpecName": "ora-data6", + "serviceLevel": "Premium", + "creationToken": "test-ora-data6", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data7", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-ora-data7", + "zones": [ + "1" + ], + "properties": { + "throughputMibps": 10.0, + "volumeSpecName": "ora-data7", + "serviceLevel": "Premium", + "creationToken": "test-ora-data7", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data8", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-ora-data8", + "zones": [ + "1" + ], + "properties": { + "throughputMibps": 10.0, + "volumeSpecName": "ora-data8", + "serviceLevel": "Premium", + "creationToken": "test-ora-data8", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-log", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-ora-log", + "zones": [ + "1" + ], + "properties": { + "throughputMibps": 10.0, + "volumeSpecName": "ora-log", + "serviceLevel": "Premium", + "creationToken": "test-ora-log", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-log-mirror", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-ora-log-mirror", + "zones": [ + "1" + ], + "properties": { + "throughputMibps": 10.0, + "volumeSpecName": "ora-log-mirror", + "serviceLevel": "Premium", + "creationToken": "test-ora-log-mirror", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-binary", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-ora-binary", + "zones": [ + "1" + ], + "properties": { + "throughputMibps": 10.0, + "volumeSpecName": "ora-binary", + "serviceLevel": "Premium", + "creationToken": "test-ora-binary", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-backup", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-ora-backup", + "zones": [ + "1" + ], + "properties": { + "throughputMibps": 10.0, + "volumeSpecName": "ora-backup", + "serviceLevel": "Premium", + "creationToken": "test-ora-backup", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Create_SapHana.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Create_SapHana.json new file mode 100644 index 000000000000..bda14e9dd9a2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Create_SapHana.json @@ -0,0 +1,406 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "volumeGroupName": "group1", + "api-version": "2023-07-01", + "body": { + "location": "westus", + "properties": { + "groupMetaData": { + "groupDescription": "Volume group", + "applicationType": "SAP-HANA", + "applicationIdentifier": "SH9" + }, + "volumes": [ + { + "name": "test-data-mnt00001", + "properties": { + "creationToken": "test-data-mnt00001", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "data", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-log-mnt00001", + "properties": { + "creationToken": "test-log-mnt00001", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "log", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-shared", + "properties": { + "creationToken": "test-shared", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "shared", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-data-backup", + "properties": { + "creationToken": "test-data-backup", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "data-backup", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "name": "test-log-backup", + "properties": { + "creationToken": "test-log-backup", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "log-backup", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1", + "name": "group1", + "type": "Microsoft.NetApp/netAppAccounts/volumeGroups", + "location": "westus", + "properties": { + "provisioningState": "Creating", + "groupMetaData": { + "groupDescription": "Volume group", + "applicationType": "SAP-HANA", + "applicationIdentifier": "SH9" + }, + "volumes": [ + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-data-mnt00001", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-data-mnt00001", + "properties": { + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "data", + "serviceLevel": "Premium", + "creationToken": "test-data-mnt00001", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-log-mnt00001", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-log-mnt00001", + "properties": { + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "log", + "serviceLevel": "Premium", + "creationToken": "test-log-mnt00001", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-shared", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-shared", + "properties": { + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "shared", + "serviceLevel": "Premium", + "creationToken": "test-shared", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-data-backup", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-data-backup", + "properties": { + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "data-backup", + "serviceLevel": "Premium", + "creationToken": "test-data-backup", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-log-backup", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "test-log-backup", + "properties": { + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "log-backup", + "serviceLevel": "Premium", + "creationToken": "test-log-backup", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Delete.json new file mode 100644 index 000000000000..57d4289a65f5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "volumeGroupName": "group1", + "api-version": "2023-07-01" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + }, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Get_Oracle.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Get_Oracle.json new file mode 100644 index 000000000000..46ea6ccaa2a1 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Get_Oracle.json @@ -0,0 +1,510 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "volumeGroupName": "group1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1", + "name": "group1", + "type": "Microsoft.NetApp/netAppAccounts/volumeGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "groupMetaData": { + "groupDescription": "Volume group", + "applicationType": "ORACLE", + "applicationIdentifier": "OR2", + "volumesCount": 12 + }, + "volumes": [ + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-ora-data1", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "volumeSpecName": "ora-data1", + "serviceLevel": "Premium", + "creationToken": "test-ora-data1", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data2", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-ora-data2", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "volumeSpecName": "ora-data2", + "serviceLevel": "Premium", + "creationToken": "test-ora-data2", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data3", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-ora-data3", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "volumeSpecName": "ora-data3", + "serviceLevel": "Premium", + "creationToken": "test-ora-data3", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data4", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-ora-data4", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "volumeSpecName": "ora-data4", + "serviceLevel": "Premium", + "creationToken": "test-ora-data4", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data5", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-ora-data5", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "volumeSpecName": "ora-data5", + "serviceLevel": "Premium", + "creationToken": "test-ora-data5", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data6", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-ora-data6", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "volumeSpecName": "ora-data6", + "serviceLevel": "Premium", + "creationToken": "test-ora-data6", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data7", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-ora-data7", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "volumeSpecName": "ora-data7", + "serviceLevel": "Premium", + "creationToken": "test-ora-data7", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data8", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-ora-data8", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "volumeSpecName": "ora-data8", + "serviceLevel": "Premium", + "creationToken": "test-ora-data8", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-log", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-ora-log", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "volumeSpecName": "ora-log", + "serviceLevel": "Premium", + "creationToken": "test-ora-log", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-log-mirror", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-ora-log-mirror", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "volumeSpecName": "ora-log-mirror", + "serviceLevel": "Premium", + "creationToken": "test-ora-log-mirror", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-binary", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-ora-binary", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "volumeSpecName": "ora-binary", + "serviceLevel": "Premium", + "creationToken": "test-ora-binary", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-backup", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-ora-backup", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "volumeSpecName": "ora-backup", + "serviceLevel": "Premium", + "creationToken": "test-ora-backup", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Get_SapHana.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Get_SapHana.json new file mode 100644 index 000000000000..50aba876e400 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_Get_SapHana.json @@ -0,0 +1,220 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "volumeGroupName": "group1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1", + "name": "group1", + "type": "Microsoft.NetApp/netAppAccounts/volumeGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "groupMetaData": { + "groupDescription": "Volume group", + "applicationType": "SAP-HANA", + "applicationIdentifier": "SH9", + "volumesCount": 5 + }, + "volumes": [ + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-data-mnt00001", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-data-mnt00001", + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "data", + "serviceLevel": "Premium", + "creationToken": "test-data-mnt00001", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-log-mnt00001", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-log-mnt00001", + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "log", + "serviceLevel": "Premium", + "creationToken": "test-log-mnt00001", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-shared", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-shared", + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "shared", + "serviceLevel": "Premium", + "creationToken": "test-shared", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-data-backup", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-data-backup", + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "data-backup", + "serviceLevel": "Premium", + "creationToken": "test-data-backup", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + }, + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-log-backup", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "name": "account1/pool1/test-log-backup", + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "log-backup", + "serviceLevel": "Premium", + "creationToken": "test-log-backup", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "exportPolicy": { + "rules": [ + { + "ruleIndex": 1, + "unixReadOnly": true, + "unixReadWrite": true, + "kerberos5ReadOnly": false, + "kerberos5ReadWrite": false, + "kerberos5iReadOnly": false, + "kerberos5iReadWrite": false, + "kerberos5pReadOnly": false, + "kerberos5pReadWrite": false, + "cifs": false, + "nfsv3": false, + "nfsv41": true, + "allowedClients": "0.0.0.0/0", + "hasRootAccess": true + } + ] + }, + "protocolTypes": [ + "NFSv4.1" + ] + } + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_List_Oracle.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_List_Oracle.json new file mode 100644 index 000000000000..9e0cbcde4a59 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_List_Oracle.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1", + "name": "group1", + "type": "Microsoft.NetApp/netAppAccounts/volumeGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "groupMetaData": { + "groupDescription": "Volume group", + "applicationType": "ORACLE", + "applicationIdentifier": "DEV", + "volumesCount": 12 + } + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_List_SapHana.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_List_SapHana.json new file mode 100644 index 000000000000..a1f18a22c660 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeGroups_List_SapHana.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1", + "name": "group1", + "type": "Microsoft.NetApp/netAppAccounts/volumeGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "groupMetaData": { + "groupDescription": "Volume group", + "applicationType": "SAP-HANA", + "applicationIdentifier": "SH9", + "volumesCount": 5 + } + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_Create.json new file mode 100644 index 000000000000..970897a290f2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_Create.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "5275316f-a498-48d6-b324-2cbfdc4311b9", + "resourceGroupName": "myRG", + "accountName": "account-9957", + "poolName": "pool-5210", + "volumeName": "volume-6387", + "volumeQuotaRuleName": "rule-0004", + "api-version": "2023-07-01", + "body": { + "location": "westus", + "properties": { + "quotaTarget": "1821", + "quotaSizeInKiBs": 100005, + "quotaType": "IndividualUserQuota" + } + } + }, + "responses": { + "201": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + }, + "body": { + "id": "/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account-9957/capacityPools/pool-5210/volumes/volume-6387/volumeQuotaRules/rule-0004", + "name": "account-9957/pool-5210/volume-6387/rule-0004", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules", + "location": "westus", + "properties": { + "quotaTarget": "1821", + "quotaSizeInKiBs": 100005, + "quotaType": "IndividualUserQuota", + "provisioningState": "Creating" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account-9957/capacityPools/pool-5210/volumes/volume-6387/volumeQuotaRules/rule-0004", + "name": "account-9957/pool-5210/volume-6387/rule-0004", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules", + "location": "westus", + "properties": { + "quotaTarget": "1821", + "quotaSizeInKiBs": 100005, + "quotaType": "IndividualUserQuota", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_Delete.json new file mode 100644 index 000000000000..4cafb09671d5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_Delete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "5275316f-a498-48d6-b324-2cbfdc4311b9", + "resourceGroupName": "myRG", + "accountName": "account-9957", + "poolName": "pool-5210", + "volumeName": "volume-6387", + "volumeQuotaRuleName": "rule-0004", + "api-version": "2023-07-01" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_Get.json new file mode 100644 index 000000000000..430b58c037cc --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "5275316f-a498-48d6-b324-2cbfdc4311b9", + "resourceGroupName": "myRG", + "accountName": "account-9957", + "poolName": "pool-5210", + "volumeName": "volume-6387", + "volumeQuotaRuleName": "rule-0004", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account-9957/capacityPools/pool-5210/volumes/volume-6387/volumeQuotaRules/rule-0004", + "name": "account-9957/pool-5210/volume-6387/rule-0004", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules", + "location": "westus", + "properties": { + "quotaTarget": "1821", + "quotaSizeInKiBs": 100005, + "quotaType": "IndividualUserQuota", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_List.json new file mode 100644 index 000000000000..09b559f880e8 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "5275316f-a498-48d6-b324-2cbfdc4311b9", + "resourceGroupName": "myRG", + "accountName": "account-9957", + "poolName": "pool-5210", + "volumeName": "volume-6387", + "volumeQuotaRuleName": "rule-0004", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account-9957/capacityPools/pool-5210/volumes/volume-6387/volumeQuotaRules/rule-0004", + "name": "account-9957/pool-5210/volume-6387/rule-0004", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules", + "location": "westus", + "properties": { + "quotaTarget": "1821", + "quotaSizeInKiBs": 100005, + "quotaType": "IndividualUserQuota", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_Update.json new file mode 100644 index 000000000000..a7a7961f95a9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/VolumeQuotaRules_Update.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "5275316f-a498-48d6-b324-2cbfdc4311b9", + "resourceGroupName": "myRG", + "accountName": "account-9957", + "poolName": "pool-5210", + "volumeName": "volume-6387", + "volumeQuotaRuleName": "rule-0004", + "api-version": "2023-07-01", + "body": { + "properties": { + "quotaSizeInKiBs": 100009 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account-9957/capacityPools/pool-5210/volumes/volume-6387/volumeQuotaRules/rule-0004", + "name": "account-9957/pool-5210/volume-6387/rule-0004", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules", + "location": "westus", + "properties": { + "provisioningState": "Patching", + "quotaTarget": "1821", + "quotaSizeInKiBs": 100005, + "quotaType": "IndividualUserQuota" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_AuthorizeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_AuthorizeReplication.json new file mode 100644 index 000000000000..9a528e854a68 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_AuthorizeReplication.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "remoteVolumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRemoteRG/providers/Microsoft.NetApp/netAppAccounts/remoteAccount1/capacityPools/remotePool1/volumes/remoteVolume1" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_BreakFileLocks.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_BreakFileLocks.json new file mode 100644 index 000000000000..1f8faac6d153 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_BreakFileLocks.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "clientIp": "101.102.103.104", + "confirmRunningDisruptiveOperation": true + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_BreakReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_BreakReplication.json new file mode 100644 index 000000000000..06f369a6cd9f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_BreakReplication.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "forceBreakReplication": false + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_CreateOrUpdate.json new file mode 100644 index 000000000000..936bf4f57640 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_CreateOrUpdate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": { + "creationToken": "my-unique-file-path", + "serviceLevel": "Premium", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "encryptionKeySource": "Microsoft.NetApp" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "encryptionKeySource": "Microsoft.NetApp" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Delete.json new file mode 100644 index 000000000000..8a8fb010f268 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_DeleteReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_DeleteReplication.json new file mode 100644 index 000000000000..964ce31bcb4f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_DeleteReplication.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_FinalizeRelocation.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_FinalizeRelocation.json new file mode 100644 index 000000000000..964ce31bcb4f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_FinalizeRelocation.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Get.json new file mode 100644 index 000000000000..6899ce630b80 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "networkFeatures": "Standard", + "networkSiblingSetId": "0f434a03-ce0b-4935-81af-d98652ffb1c4", + "storageToNetworkProximity": "T2" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_List.json new file mode 100644 index 000000000000..5ef1b6567282 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "networkFeatures": "Standard", + "networkSiblingSetId": "0f434a03-ce0b-4935-81af-d98652ffb1c4", + "storageToNetworkProximity": "T2" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ListReplications.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ListReplications.json new file mode 100644 index 000000000000..684d2456177f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ListReplications.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "replicationSchedule": "daily", + "remoteVolumeResourceId": "/subscriptions/36e85c76-e720-473e-881f-e2fe72f462d0/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account-5999/capacityPools/pool-0977/volumes/volume-4508", + "remoteVolumeRegion": "westus" + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_PoolChange.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_PoolChange.json new file mode 100644 index 000000000000..3599168fc3b1 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_PoolChange.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "newPoolResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_PopulateAvailabilityZones.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_PopulateAvailabilityZones.json new file mode 100644 index 000000000000..9dd21b50a26e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_PopulateAvailabilityZones.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "networkFeatures": "Standard", + "networkSiblingSetId": "0f434a03-ce0b-4935-81af-d98652ffb1c4", + "storageToNetworkProximity": "T2" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ReInitializeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ReInitializeReplication.json new file mode 100644 index 000000000000..964ce31bcb4f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ReInitializeReplication.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ReestablishReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ReestablishReplication.json new file mode 100644 index 000000000000..b829ee5efd41 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ReestablishReplication.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "sourceVolumeId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/mySourceRG/providers/Microsoft.NetApp/netAppAccounts/sourceAccount1/capacityPools/sourcePool1/volumes/sourceVolume1" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Relocate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Relocate.json new file mode 100644 index 000000000000..1a831b097acf --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Relocate.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": {} + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ReplicationStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ReplicationStatus.json new file mode 100644 index 000000000000..340d054d94c8 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ReplicationStatus.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "healthy": true, + "relationshipStatus": "Idle", + "mirrorState": "Mirrored", + "totalProgress": "1048576", + "errorMessage": "" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ResetCifsPassword.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ResetCifsPassword.json new file mode 100644 index 000000000000..716542875ddd --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ResetCifsPassword.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_RestoreStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_RestoreStatus.json new file mode 100644 index 000000000000..4afa54f4596d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_RestoreStatus.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "healthy": true, + "relationshipStatus": "Idle", + "mirrorState": "Uninitialized", + "unhealthyReason": "", + "errorMessage": "", + "totalTransferBytes": 100000 + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ResyncReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ResyncReplication.json new file mode 100644 index 000000000000..964ce31bcb4f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_ResyncReplication.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Revert.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Revert.json new file mode 100644 index 000000000000..7fc8e72831b2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Revert.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "snapshotId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_RevertRelocation.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_RevertRelocation.json new file mode 100644 index 000000000000..964ce31bcb4f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_RevertRelocation.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Update.json new file mode 100644 index 000000000000..ecf9e1d84f49 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/examples/Volumes_Update.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2023-07-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "networkFeatures": "Standard", + "networkSiblingSetId": "0f434a03-ce0b-4935-81af-d98652ffb1c4", + "storageToNetworkProximity": "T2", + "dataProtection": { + "snapshot": { + "snapshotPolicyId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRP/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1" + } + } + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2021-10-01&operationResultResponseType=Location" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/netapp.json new file mode 100644 index 000000000000..658b5edd01b2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-07-01/netapp.json @@ -0,0 +1,8026 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft NetApp", + "description": "Microsoft NetApp Azure Resource Provider specification", + "version": "2023-07-01", + "x-ms-code-generation-settings": { + "name": "AzureNetAppFilesManagementClient" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "schemes": [ + "https" + ], + "host": "management.azure.com", + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.NetApp/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Describes the Resource Provider", + "description": "Lists all of the available Microsoft.NetApp Rest API operations", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "OperationList": { + "$ref": "examples/OperationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check resource name availability", + "description": "Check if a resource name is available.", + "operationId": "NetAppResource_CheckNameAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Name availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckNameAvailability": { + "$ref": "examples/CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check file path availability", + "description": "Check if a file path is available.", + "operationId": "NetAppResource_CheckFilePathAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "File path availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/FilePathAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckFilePathAvailability": { + "$ref": "examples/CheckFilePathAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkQuotaAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check quota availability", + "description": "Check if a quota is available.", + "operationId": "NetAppResource_CheckQuotaAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Quota availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckQuotaAvailability": { + "$ref": "examples/CheckQuotaAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/quotaLimits": { + "get": { + "tags": [ + "NetApp Resource" + ], + "summary": "Get quota limits", + "description": "Get the default and current limits for quotas", + "operationId": "NetAppResourceQuotaLimits_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SubscriptionQuotaItemList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "QuotaLimits": { + "$ref": "examples/QuotaLimits_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/quotaLimits/{quotaLimitName}": { + "get": { + "tags": [ + "NetApp Resource" + ], + "summary": "Get quota limits", + "description": "Get the default and current subscription quota limit", + "operationId": "NetAppResourceQuotaLimits_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/QuotaLimitName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SubscriptionQuotaItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "QuotaLimits": { + "$ref": "examples/QuotaLimits_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/regionInfo": { + "get": { + "summary": "Describes region specific information.", + "description": "Provides storage to network proximity and logical zone mapping information.", + "tags": [ + "NetApp Resource" + ], + "operationId": "NetAppResource_QueryRegionInfo", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/regionInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "RegionInfo_Query": { + "$ref": "examples/RegionInfo.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/queryNetworkSiblingSet": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Describe a network sibling set", + "description": "Get details of the specified network sibling set.", + "operationId": "NetAppResource_QueryNetworkSiblingSet", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Network sibling set to query.", + "required": true, + "schema": { + "$ref": "#/definitions/QueryNetworkSiblingSetRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/networkSiblingSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkSiblingSet_Query": { + "$ref": "examples/NetworkSiblingSet_Query.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/updateNetworkSiblingSet": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Update the network features of a network sibling set", + "description": "Update the network features of the specified network sibling set.", + "operationId": "NetAppResource_UpdateNetworkSiblingSet", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Update for the specified network sibling set.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateNetworkSiblingSetRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/networkSiblingSet" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "NetworkFeatures_Update": { + "$ref": "examples/NetworkSiblingSet_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/netAppAccounts": { + "get": { + "summary": "Describe all NetApp Accounts in a subscription", + "description": "List and describe all NetApp accounts in the subscription.", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Accounts_List": { + "$ref": "examples/Accounts_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts": { + "get": { + "summary": "Describe all NetApp Accounts in a resource group", + "description": "List and describe all NetApp accounts in the resource group.", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Accounts_List": { + "$ref": "examples/Accounts_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}": { + "get": { + "summary": "Describe a NetApp Account", + "description": "Get the NetApp account", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Accounts_Get": { + "$ref": "examples/Accounts_Get.json" + } + } + }, + "put": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "summary": "Create or update a NetApp account", + "description": "Create or update the specified NetApp account within the resource group", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "Account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Accounts_CreateOrUpdate": { + "$ref": "examples/Accounts_CreateOrUpdate.json" + }, + "Accounts_CreateOrUpdateWithActiveDirectory": { + "$ref": "examples/Accounts_CreateOrUpdateAD.json" + } + } + }, + "delete": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Delete", + "summary": "Delete a NetApp account", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "description": "Delete the specified NetApp account", + "responses": { + "202": { + "description": "Accepted -- Delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Accounts_Delete": { + "$ref": "examples/Accounts_Delete.json" + } + } + }, + "patch": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Update", + "summary": "Update a NetApp account", + "description": "Patch the specified NetApp account", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccountPatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Accounts_Update": { + "$ref": "examples/Accounts_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/renewCredentials": { + "post": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_RenewCredentials", + "summary": "Renew identity credentials", + "description": "Renew identity credentials that are used to authenticate to key vault, for customer-managed key encryption. If encryption.identity.principalId does not match identity.principalId, running this operation will fix it.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Accounts_RenewCredentials": { + "$ref": "examples/Accounts_RenewCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools": { + "get": { + "summary": "Describe all Capacity Pools", + "description": "List all capacity pools in the NetApp Account", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPoolList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Pools_List": { + "$ref": "examples/Pools_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}": { + "get": { + "summary": "Describe a Capacity Pool", + "description": "Get details of the specified capacity pool", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Pools_Get": { + "$ref": "examples/Pools_Get.json" + } + } + }, + "put": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_CreateOrUpdate", + "summary": "Create or Update the specified capacity pool within the resource group", + "description": "Create or Update a capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - pool updated", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "201": { + "description": "Pool created", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Pools_CreateOrUpdate": { + "$ref": "examples/Pools_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Update", + "summary": "Update a capacity pool", + "description": "Patch the specified capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPoolPatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Pools_Update": { + "$ref": "examples/Pools_Update.json" + } + } + }, + "delete": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Delete", + "summary": "Delete a capacity pool", + "description": "Delete the specified capacity pool", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Pools_Delete": { + "$ref": "examples/Pools_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes": { + "get": { + "summary": "Describe all volumes", + "description": "List all volumes within the capacity pool", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Volumes" + ], + "operationId": "Volumes_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Volumes_List": { + "$ref": "examples/Volumes_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}": { + "get": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Get", + "summary": "Describe a volume", + "description": "Get the details of the specified volume", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Volumes_Get": { + "$ref": "examples/Volumes_Get.json" + } + } + }, + "put": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_CreateOrUpdate", + "summary": "Create or Update a volume", + "description": "Create or update the specified volume within the capacity pool", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volume" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok - volume updated", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "201": { + "description": "Volume created", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Volumes_CreateOrUpdate": { + "$ref": "examples/Volumes_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Update", + "summary": "Update a volume", + "description": "Patch the specified volume", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumePatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_Update": { + "$ref": "examples/Volumes_Update.json" + } + } + }, + "delete": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Delete", + "summary": "Delete a volume", + "description": "Delete the specified volume", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "in": "query", + "name": "forceDelete", + "type": "boolean", + "description": "An option to force delete the volume. Will cleanup resources connected to the particular volume", + "required": false + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_Delete": { + "$ref": "examples/Volumes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/populateAvailabilityZone": { + "post": { + "tags": [ + "Volumes" + ], + "summary": "Populate Availability Zone", + "description": "This operation will populate availability zone information for a volume", + "operationId": "Volumes_PopulateAvailabilityZone", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- populate availability zone accepted; operation will complete asynchronously", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_PopulateAvailabilityZones": { + "$ref": "examples/Volumes_PopulateAvailabilityZones.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revert": { + "post": { + "tags": [ + "Volumes Revert" + ], + "summary": "Revert a volume to one of its snapshots", + "description": "Revert a volume to the snapshot specified in the body", + "operationId": "Volumes_Revert", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Object for snapshot to revert supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumeRevert" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_Revert": { + "$ref": "examples/Volumes_Revert.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resetCifsPassword": { + "post": { + "tags": [ + "Reset Cifs Password" + ], + "summary": "Reset cifs password", + "description": "Reset cifs password from volume", + "operationId": "Volumes_ResetCifsPassword", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_ResetCifsPassword": { + "$ref": "examples/Volumes_ResetCifsPassword.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/breakFileLocks": { + "post": { + "tags": [ + "File Locks" + ], + "summary": "Break file locks", + "description": "Break all the file locks on a volume", + "operationId": "Volumes_BreakFileLocks", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Optional body to provide the ability to clear file locks with selected options", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/breakFileLocksRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_BreakFileLocks": { + "$ref": "examples/Volumes_BreakFileLocks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/getGroupIdListForLdapUser": { + "post": { + "tags": [ + "Group Id List for LDAP User" + ], + "summary": " Get Group Id List for LDAP User", + "description": "Returns the list of group Ids for a specific LDAP User", + "operationId": "Volumes_ListGetGroupIdListForLdapUser", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Returns group Id list for a specific LDAP user", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/getGroupIdListForLDAPUserRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/getGroupIdListForLDAPUserResponse" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "GetGroupIdListForUser": { + "$ref": "examples/GroupIdListForLDAPUser.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/breakReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Break volume replication", + "description": "Break the replication connection on the destination volume", + "operationId": "Volumes_BreakReplication", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Optional body to force break the replication.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/breakReplicationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_BreakReplication": { + "$ref": "examples/Volumes_BreakReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/reestablishReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Re-establish volume replication", + "description": "Re-establish a previously deleted replication between 2 volumes that have a common ad-hoc or policy-based snapshots", + "operationId": "Volumes_ReestablishReplication", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "body for the id of the source volume.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/reestablishReplicationRequest" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_ReestablishReplication": { + "$ref": "examples/Volumes_ReestablishReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/replicationStatus": { + "get": { + "tags": [ + "Volumes Replication" + ], + "summary": "Get volume replication status", + "description": "Get the status of the replication", + "operationId": "Volumes_ReplicationStatus", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/replicationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Volumes_ReplicationStatus": { + "$ref": "examples/Volumes_ReplicationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/listReplications": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "List replications for volume", + "description": "List all replications for a specified volume", + "operationId": "Volumes_ListReplications", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/listReplications" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Volumes_ListReplications": { + "$ref": "examples/Volumes_ListReplications.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resyncReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Resync volume replication", + "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from destination to source.", + "operationId": "Volumes_ResyncReplication", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_ResyncReplication": { + "$ref": "examples/Volumes_ResyncReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/deleteReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Delete volume replication", + "description": "Delete the replication connection on the destination volume, and send release to the source replication", + "operationId": "Volumes_DeleteReplication", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_DeleteReplication": { + "$ref": "examples/Volumes_DeleteReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/authorizeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Authorize source volume replication", + "description": "Authorize the replication connection on the source volume", + "operationId": "Volumes_AuthorizeReplication", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Authorize request object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/authorizeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_AuthorizeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/reinitializeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "ReInitialize volume replication", + "description": "Re-Initializes the replication connection on the destination volume", + "operationId": "Volumes_ReInitializeReplication", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_ReInitializeReplication": { + "$ref": "examples/Volumes_ReInitializeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/poolChange": { + "post": { + "tags": [ + "Pool Change" + ], + "summary": "Change pool for volume", + "description": "Moves volume to another pool", + "operationId": "Volumes_PoolChange", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Move volume to the pool supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/poolChangeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_PoolChange.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/relocate": { + "post": { + "tags": [ + "Volumes Relocation" + ], + "summary": "Relocate volume", + "description": "Relocates volume to a new stamp", + "operationId": "Volumes_Relocate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Relocate volume request", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/relocateVolumeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Relocate": { + "$ref": "examples/Volumes_Relocate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/finalizeRelocation": { + "post": { + "tags": [ + "Volumes Relocation" + ], + "summary": "Finalize volume relocation", + "description": "Finalizes the relocation of the volume and cleans up the old volume.", + "operationId": "Volumes_FinalizeRelocation", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_FinalizeRelocation": { + "$ref": "examples/Volumes_FinalizeRelocation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revertRelocation": { + "post": { + "tags": [ + "Volumes Relocation" + ], + "summary": "Revert volume relocation", + "description": "Reverts the volume relocation process, cleans up the new volume and starts using the former-existing volume.", + "operationId": "Volumes_RevertRelocation", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_RevertRelocation": { + "$ref": "examples/Volumes_RevertRelocation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Describe all snapshots", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "description": "List all snapshots associated with the volume", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Snapshots_List": { + "$ref": "examples/Snapshots_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Describe a snapshot", + "description": "Get details of the specified snapshot", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Snapshots_Get": { + "$ref": "examples/Snapshots_Get.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Create", + "summary": "Create a snapshot", + "description": "Create the specified snapshot within the given volume", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Snapshot created", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Snapshots_Create": { + "$ref": "examples/Snapshots_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Update", + "summary": "Update a snapshot", + "description": "Patch a snapshot", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Snapshots_Update": { + "$ref": "examples/Snapshots_Update.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Delete a snapshot", + "description": "Delete snapshot", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Snapshots_Delete": { + "$ref": "examples/Snapshots_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}/restoreFiles": { + "post": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_RestoreFiles", + "summary": "Create a new Snapshot Restore Files request", + "description": "Restore the specified files from the specified snapshot to the active filesystem", + "parameters": [ + { + "name": "body", + "description": "Restore payload supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotRestoreFiles" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Snapshots_SingleFileRestore": { + "$ref": "examples/Snapshots_SingleFileRestore.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies": { + "get": { + "operationId": "SnapshotPolicies_List", + "description": "List snapshot policy", + "tags": [ + "Snapshot Policy" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SnapshotPolicies_List": { + "$ref": "examples/SnapshotPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}": { + "get": { + "operationId": "SnapshotPolicies_Get", + "description": "Get a snapshot Policy", + "tags": [ + "Snapshot Policy" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SnapshotPolicies_Get": { + "$ref": "examples/SnapshotPolicies_Get.json" + } + } + }, + "put": { + "operationId": "SnapshotPolicies_Create", + "description": "Create a snapshot policy", + "tags": [ + "Snapshot Policy" + ], + "parameters": [ + { + "name": "body", + "description": "Snapshot policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - snapshot Policy updated", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "201": { + "description": "Snapshot Policy created", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "SnapshotPolicies_Create": { + "$ref": "examples/SnapshotPolicies_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Update", + "description": "Patch a snapshot policy", + "parameters": [ + { + "name": "body", + "description": "Snapshot policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPolicyPatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SnapshotPolicies_Update": { + "$ref": "examples/SnapshotPolicies_Update.json" + } + } + }, + "delete": { + "operationId": "SnapshotPolicies_Delete", + "description": "Delete snapshot policy", + "tags": [ + "Snapshot Policy" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SnapshotPolicies_Delete": { + "$ref": "examples/SnapshotPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}/volumes": { + "get": { + "tags": [ + "Snapshot Policy List Volumes" + ], + "summary": "Get volumes for snapshot policy", + "description": "Get volumes associated with snapshot policy", + "operationId": "SnapshotPolicies_ListVolumes", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicyVolumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SnapshotPolicies_ListVolumes": { + "$ref": "examples/SnapshotPolicies_ListVolumes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/restoreStatus": { + "get": { + "tags": [ + "Restore" + ], + "summary": "Get volume's restore status", + "description": "Get the status of the restore for a volume", + "operationId": "Backups_GetVolumeRestoreStatus", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/restoreStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Volumes_RestoreStatus": { + "$ref": "examples/Volumes_RestoreStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies": { + "get": { + "tags": [ + "Backup Policy" + ], + "summary": "List backup policies", + "description": "List backup policies for Netapp Account", + "operationId": "BackupPolicies_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Backups_List": { + "$ref": "examples/BackupPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies/{backupPolicyName}": { + "get": { + "tags": [ + "Backup Policy" + ], + "summary": "Get a backup Policy", + "description": "Get a particular backup Policy", + "operationId": "BackupPolicies_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Backups_Get": { + "$ref": "examples/BackupPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "Backup Policy" + ], + "summary": "Create a backup policy", + "description": "Create a backup policy for Netapp Account", + "operationId": "BackupPolicies_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backupPolicy" + } + } + ], + "responses": { + "200": { + "description": "Backup Policy created", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "201": { + "description": "Backup created", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "BackupPolicies_Create": { + "$ref": "examples/BackupPolicies_Create.json" + } + } + }, + "patch": { + "tags": [ + "Backup Policy" + ], + "summary": "Patch a backup policy", + "description": "Patch a backup policy for Netapp Account", + "operationId": "BackupPolicies_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backupPolicyPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "BackupPolicies_Update": { + "$ref": "examples/BackupPolicies_Update.json" + } + } + }, + "delete": { + "tags": [ + "Backup Policy" + ], + "summary": "Delete a backup policy", + "description": "Delete backup policy", + "operationId": "BackupPolicies_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Backups_Delete": { + "$ref": "examples/BackupPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/volumeQuotaRules": { + "get": { + "tags": [ + "VolumeQuotaRules" + ], + "operationId": "VolumeQuotaRules_ListByVolume", + "summary": "Get all quota rules for a volume", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "description": "List all quota rules associated with the volume", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeQuotaRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "VolumeQuotaRules_List": { + "$ref": "examples/VolumeQuotaRules_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/volumeQuotaRules/{volumeQuotaRuleName}": { + "get": { + "tags": [ + "VolumeQuotaRules" + ], + "operationId": "VolumeQuotaRules_Get", + "summary": "Describe a quota rule", + "description": "Get details of the specified quota rule", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/VolumeQuotaRuleName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeQuotaRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "VolumeQuotaRules_Get": { + "$ref": "examples/VolumeQuotaRules_Get.json" + } + } + }, + "put": { + "tags": [ + "VolumeQuotaRules" + ], + "operationId": "VolumeQuotaRules_Create", + "summary": "Create a quota rule", + "description": "Create the specified quota rule within the given volume", + "parameters": [ + { + "name": "body", + "description": "Quota rule object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumeQuotaRule" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/VolumeQuotaRuleName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - VolumeQuotaRule updated", + "schema": { + "$ref": "#/definitions/volumeQuotaRule" + } + }, + "201": { + "description": "Quota rule Created", + "schema": { + "$ref": "#/definitions/volumeQuotaRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "VolumeQuotaRules_Create": { + "$ref": "examples/VolumeQuotaRules_Create.json" + } + } + }, + "patch": { + "tags": [ + "VolumeQuotaRules" + ], + "operationId": "VolumeQuotaRules_Update", + "summary": "Update a quota rule", + "description": "Patch a quota rule", + "parameters": [ + { + "name": "body", + "description": "Quota rule object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumeQuotaRulePatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/VolumeQuotaRuleName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeQuotaRule" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "VolumeQuotaRules_Update": { + "$ref": "examples/VolumeQuotaRules_Update.json" + } + } + }, + "delete": { + "tags": [ + "VolumeQuotaRules" + ], + "operationId": "VolumeQuotaRules_Delete", + "summary": "Delete a quota rule", + "description": "Delete quota rule", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/VolumeQuotaRuleName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "VolumeQuotaRules_Delete": { + "$ref": "examples/VolumeQuotaRules_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/volumeGroups": { + "get": { + "summary": "Describe all volume groups", + "description": "List all volume groups for given account", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Volume Groups" + ], + "operationId": "VolumeGroups_ListByNetAppAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeGroupList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "VolumeGroups_List_SapHana": { + "$ref": "examples/VolumeGroups_List_SapHana.json" + }, + "VolumeGroups_List_Oracle": { + "$ref": "examples/VolumeGroups_List_Oracle.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/volumeGroups/{volumeGroupName}": { + "get": { + "summary": "Describe a Volume Group", + "description": "Get details of the specified volume group", + "tags": [ + "Volume Groups" + ], + "operationId": "VolumeGroups_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/VolumeGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeGroupDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "VolumeGroups_Get_SapHana": { + "$ref": "examples/VolumeGroups_Get_SapHana.json" + }, + "VolumeGroups_Get_Oracle": { + "$ref": "examples/VolumeGroups_Get_Oracle.json" + } + } + }, + "put": { + "tags": [ + "Volume Groups" + ], + "operationId": "VolumeGroups_Create", + "summary": "Create the specified volume group and volumes. Creating volume group will create all the volumes specified in request body implicitly. Once volumes are created using volume group, those will be treated as regular volumes thereafter.", + "description": "Create a volume group along with specified volumes", + "parameters": [ + { + "name": "body", + "description": "Volume Group object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumeGroupDetails" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/VolumeGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Volume group created", + "schema": { + "$ref": "#/definitions/volumeGroupDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "VolumeGroups_Create_SapHana": { + "$ref": "examples/VolumeGroups_Create_SapHana.json" + }, + "VolumeGroups_Create_Oracle": { + "$ref": "examples/VolumeGroups_Create_Oracle.json" + } + } + }, + "delete": { + "tags": [ + "Volume Groups" + ], + "operationId": "VolumeGroups_Delete", + "summary": "Delete a volume group", + "description": "Delete the specified volume group only if there are no volumes under volume group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/VolumeGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "VolumeGroups_Delete": { + "$ref": "examples/VolumeGroups_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/subvolumes": { + "get": { + "tags": [ + "Subvolumes" + ], + "operationId": "Subvolumes_ListByVolume", + "summary": "List of all the subvolumes", + "description": "Returns a list of the subvolumes in the volume", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/subvolumesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Subvolumes_List": { + "$ref": "examples/Subvolumes_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/subvolumes/{subvolumeName}": { + "get": { + "tags": [ + "Subvolumes" + ], + "summary": "Get the path associated with the subvolumeName", + "description": "Returns the path associated with the subvolumeName provided", + "operationId": "Subvolumes_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SubvolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/subvolumeInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Subvolumes_Get": { + "$ref": "examples/Subvolumes_Get.json" + } + } + }, + "put": { + "tags": [ + "Subvolumes" + ], + "summary": "Create or clone a new subvolume", + "description": "Creates a subvolume in the path or clones the subvolume mentioned in the parentPath", + "operationId": "Subvolumes_Create", + "parameters": [ + { + "name": "body", + "description": "Subvolume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/subvolumeInfo" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SubvolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - updated", + "schema": { + "$ref": "#/definitions/subvolumeInfo" + } + }, + "201": { + "description": "Subvolume created", + "schema": { + "$ref": "#/definitions/subvolumeInfo" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Subvolumes_Create": { + "$ref": "examples/Subvolumes_Create.json" + } + } + }, + "patch": { + "tags": [ + "Subvolumes" + ], + "operationId": "Subvolumes_Update", + "summary": "Update a subvolume", + "description": "Patch a subvolume", + "parameters": [ + { + "name": "body", + "description": "Subvolume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/subvolumePatchRequest" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SubvolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/subvolumeInfo" + }, + "description": "OK" + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Subvolumes_Update": { + "$ref": "examples/Subvolumes_Update.json" + } + } + }, + "delete": { + "tags": [ + "Subvolumes" + ], + "operationId": "Subvolumes_Delete", + "summary": "Delete a subvolume", + "description": "Delete subvolume", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SubvolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Subvolumes_Delete": { + "$ref": "examples/Subvolumes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/subvolumes/{subvolumeName}/getMetadata": { + "post": { + "tags": [ + "Subvolumes" + ], + "operationId": "Subvolumes_GetMetadata", + "summary": "Describe a subvolume", + "description": "Get details of the specified subvolume", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SubvolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/subvolumeModel" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Subvolumes_Metadata": { + "$ref": "examples/Subvolumes_Metadata.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Cloud Volume operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "List of Storage operations supported by the Storage resource provider." + } + } + }, + "Operation": { + "description": "Microsoft.NetApp REST API operation definition.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft NetApp.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed etc.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Operation description.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include metric specifications.", + "properties": { + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "logSpecifications": { + "description": "Log specification of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "MetricSpecification": { + "description": "Metric specification of operation.", + "properties": { + "name": { + "type": "string", + "description": "Name of metric specification." + }, + "displayName": { + "type": "string", + "description": "Display name of metric specification." + }, + "displayDescription": { + "type": "string", + "description": "Display description of metric specification." + }, + "unit": { + "type": "string", + "description": "Unit could be Bytes or Count." + }, + "supportedAggregationTypes": { + "description": "Support metric aggregation type.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "Average" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricAggregationType", + "modelAsString": true + } + } + }, + "supportedTimeGrainTypes": { + "type": "array", + "description": "The supported time grain types for the metrics.", + "items": { + "type": "string" + } + }, + "internalMetricName": { + "type": "string", + "description": "The internal metric name." + }, + "enableRegionalMdmAccount": { + "description": "Whether or not the service is using regional MDM accounts.", + "type": "boolean" + }, + "sourceMdmAccount": { + "type": "string", + "description": "The source MDM account." + }, + "sourceMdmNamespace": { + "type": "string", + "description": "The source MDM namespace." + }, + "dimensions": { + "description": "Dimensions of blobs, including blob type and access tier.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "aggregationType": { + "type": "string", + "description": "Aggregation type could be Average." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "The property to decide fill gap with zero or not." + }, + "category": { + "type": "string", + "description": "The category this metric specification belong to, could be Capacity." + }, + "resourceIdDimensionNameOverride": { + "type": "string", + "description": "Account Resource Id." + }, + "isInternal": { + "description": "Whether the metric is internal.", + "type": "boolean" + } + } + }, + "LogSpecification": { + "description": "Log Definition of a single resource metric.", + "type": "object", + "properties": { + "name": { + "description": "Name of log specification.", + "type": "string" + }, + "displayName": { + "description": "Display name of log specification.", + "type": "string" + } + } + }, + "Dimension": { + "description": "Dimension of blobs, possibly be blob type or access tier.", + "properties": { + "name": { + "type": "string", + "description": "Display name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + } + } + }, + "CheckAvailabilityResponse": { + "description": "Information regarding availability of a resource.", + "type": "object", + "properties": { + "isAvailable": { + "description": "true indicates name is valid and available. false indicates the name is invalid, unavailable, or both.", + "type": "boolean" + }, + "reason": { + "description": "Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "InAvailabilityReasonType", + "modelAsString": true + } + }, + "message": { + "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name.", + "type": "string" + } + } + }, + "regionInfo": { + "description": "Provides region specific information.", + "type": "object", + "properties": { + "storageToNetworkProximity": { + "title": "Storage to Network Proximity", + "description": "Provides storage to network proximity information in the region.", + "type": "string", + "enum": [ + "Default", + "T1", + "T2", + "AcrossT2", + "T1AndT2", + "T1AndAcrossT2", + "T2AndAcrossT2", + "T1AndT2AndAcrossT2" + ], + "x-ms-enum": { + "name": "RegionStorageToNetworkProximity", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Basic network connectivity." + }, + { + "value": "T1", + "description": "Standard T1 network connectivity." + }, + { + "value": "T2", + "description": "Standard T2 network connectivity." + }, + { + "value": "AcrossT2", + "description": "Standard AcrossT2 network connectivity." + }, + { + "value": "T1AndT2", + "description": "Standard T1 and T2 network connectivity." + }, + { + "value": "T1AndAcrossT2", + "description": "Standard T1 and AcrossT2 network connectivity." + }, + { + "value": "T2AndAcrossT2", + "description": "Standard T2 and AcrossT2 network connectivity." + }, + { + "value": "T1AndT2AndAcrossT2", + "description": "Standard T1, T2 and AcrossT2 network connectivity." + } + ] + }, + "example": "T2" + }, + "availabilityZoneMappings": { + "title": "Logical availability zone mappings.", + "description": "Provides logical availability zone mappings for the subscription for a region.", + "type": "array", + "x-ms-identifiers": [ + "availabilityZone" + ], + "items": { + "type": "object", + "properties": { + "availabilityZone": { + "description": "Logical availability zone.", + "type": "string", + "example": "1" + }, + "isAvailable": { + "description": "Available availability zone", + "type": "boolean", + "example": true + } + } + } + } + } + }, + "ResourceNameAvailabilityRequest": { + "description": "Resource name availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Resource name to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Microsoft.NetApp/netAppAccounts", + "Microsoft.NetApp/netAppAccounts/capacityPools", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "FilePathAvailabilityRequest": { + "description": "File path availability request content - availability is based on the name and the subnetId.", + "required": [ + "name", + "subnetId" + ], + "type": "object", + "properties": { + "name": { + "description": "File path to verify.", + "type": "string" + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + } + } + }, + "QuotaAvailabilityRequest": { + "description": "Quota availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the resource to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Microsoft.NetApp/netAppAccounts", + "Microsoft.NetApp/netAppAccounts/capacityPools", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckQuotaNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "SubscriptionQuotaItemList": { + "description": "List of Subscription Quota Items", + "type": "object", + "properties": { + "value": { + "description": "A list of SubscriptionQuotaItems", + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionQuotaItem" + } + } + } + }, + "SubscriptionQuotaItem": { + "description": "Information regarding Subscription Quota Item.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "SubscriptionQuotaItem properties", + "$ref": "#/definitions/SubscriptionQuotaItemProperties", + "x-ms-client-flatten": true + } + } + }, + "SubscriptionQuotaItemProperties": { + "description": "SubscriptionQuotaItem Properties", + "type": "object", + "properties": { + "current": { + "description": "The current quota value.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "default": { + "description": "The default quota value.", + "readOnly": true, + "type": "integer", + "format": "int32" + } + } + }, + "netAppAccountList": { + "description": "List of NetApp account resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Multiple NetApp accounts", + "items": { + "$ref": "#/definitions/netAppAccount" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + } + }, + "netAppAccount": { + "description": "NetApp account resource", + "type": "object", + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + }, + "identity": { + "description": "The identity used for the resource.", + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "netAppAccountPatch": { + "description": "NetApp account patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + }, + "identity": { + "description": "The identity used for the resource.", + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "accountProperties": { + "description": "NetApp account properties", + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "activeDirectories": { + "description": "Active Directories", + "type": "array", + "items": { + "$ref": "#/definitions/activeDirectory" + }, + "x-ms-identifiers": [ + "activeDirectoryId" + ] + }, + "encryption": { + "description": "Encryption settings", + "$ref": "#/definitions/accountEncryption" + }, + "disableShowmount": { + "type": "boolean", + "readOnly": true, + "x-nullable": true, + "description": "Shows the status of disableShowmount for all volumes under the subscription, null equals false" + } + } + }, + "activeDirectory": { + "description": "Active Directory", + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "x-nullable": true, + "description": "Id of the Active Directory" + }, + "username": { + "type": "string", + "description": "A domain user account with permission to create machine accounts" + }, + "password": { + "type": "string", + "x-ms-secret": true, + "maxLength": 64, + "description": "Plain text password of Active Directory domain administrator, value is masked in the response" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "dns": { + "type": "string", + "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", + "example": "101.102.103.104,101.102.103.105" + }, + "status": { + "type": "string", + "description": "Status of the Active Directory", + "readOnly": true, + "enum": [ + "Created", + "Updating", + "InUse", + "Deleted", + "Error" + ], + "x-ms-enum": { + "name": "ActiveDirectoryStatus", + "modelAsString": true, + "values": [ + { + "value": "Created", + "description": "Active Directory created but not in use" + }, + { + "value": "InUse", + "description": "Active Directory in use by SMB Volume" + }, + { + "value": "Deleted", + "description": "Active Directory Deleted" + }, + { + "value": "Error", + "description": "Error with the Active Directory" + }, + { + "value": "Updating", + "description": "Active Directory Updating" + } + ] + } + }, + "statusDetails": { + "type": "string", + "description": "Any details in regards to the Status of the Active Directory", + "readOnly": true + }, + "smbServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "organizationalUnit": { + "type": "string", + "default": "CN=Computers", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "backupOperators": { + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier", + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1 + }, + "example": [ + "user1", + "user2" + ] + }, + "administrators": { + "description": "Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier", + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1 + }, + "example": [ + "user1", + "user2" + ] + }, + "kdcIP": { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", + "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume.", + "example": "101.102.103.104" + }, + "adName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume", + "example": "ADServerName" + }, + "serverRootCACertificate": { + "type": "string", + "maxLength": 10240, + "minLength": 1, + "description": "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes.", + "x-ms-secret": true, + "example": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURuVENDQW9XZ0F3SUJBZ0lRR3FXdnRxeHBvSTFJV3Z4VGdJbElWREFOQmdrcWhraUc5dzBCQVFzRkFEQlYKTVJNd0VRWUtDWkltaVpQeUxHUUJHUllEWTI5dE1SY3dGUVlLQ1pJbWlaUHlMR1FCR1JZSGFHRnlhV3R5WWpFbApNQ01HQTFVRUF4TWNhR0Z5YVd0eVlpMVhTVTR0TWtKUFZrRkZTMEkwTkVJdFEwRXRNakFlRncweU1EQTFNRFV3Ck56TTVORGxhRncweU1EQTFNRFl3TnpRNU5EaGFNRlV4RXpBUkJnb0praWFKay9Jc1pBRVpGZ05qYjIweEZ6QVYKQmdvSmtpYUprL0lzWkFFWkZnZG9ZWEpwYTNKaU1TVXdJd1lEVlFRREV4eG9ZWEpwYTNKaUxWZEpUaTB5UWs5VwpRVVZMUWpRMFFpMURRUzB5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFqMHByCnhaaXpNaDBqYnRwN1ZOc0JrRVJ2MVpZT0MzMEtqaGRWdEExRm1MeFM2cXlycmpMZUdXOXRSd2ZnUkR0eVBodTIKZVJTcVpTUjF6Z1hZR0s0Nys3Y3F0YnB2UElOektCb0dOWERIVTNxVWlleXJWSjFDVzRKNjJodUdrbUV1VVVkMApKMXBxNTVxbjk1SmRUbWh1dmZlTUxxeHB5c01nbGVnY281ZFhoN0hsQkhwaTNKMFN4ZnhVWmxKMVZiOFJZVEZhCkJiMGFlTVZaRzRKeVREaktiMlR1TmFXOG1aUE5vOFBMRDRocjdndFNZUEQvQ1dVVGV5QlpoZC9LTzNPczlWVEIKYmpLUGtWd0J2WEs2SlFMSGprNFBHS3VYZDhaWVFyajBtOWNIZDNmcWNYTXlQUnQ2TlJ4ak0yMTUxckFzSkVhNgpWZC9ta056akpXalBrT2VZUVFJREFRQUJvMmt3WnpBVEJna3JCZ0VFQVlJM0ZBSUVCaDRFQUVNQVFUQU9CZ05WCkhROEJBZjhFQkFNQ0FZWXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVDVEc2ODJSay9kMysKWGtHa0VMakRFMjI4ZjNnd0VBWUpLd1lCQkFHQ054VUJCQU1DQVFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBR1RjTTNnWExIU05wS014RHEvUFpZbWZCMmNlN3VhMmxxbXpzZSt4QmthSTE0WXdzZE5ZQjZBVTNFWDM3QWpZCjd3bm9xQzY1N0U2RVhTODVDckoyNXJNTHo4OEtONGI3cUg5RUowSS9XVHg5YTdUT0ZENENWQThuL0xwNGh1Ym4KNlBFalY5NFlZWXBXTG1hTkkvbGFReWsxSHVJbDFSTCttVDFnSWQ4ZWZXZ1UvNmlVVEw3eGMrdjkyNHBuTHhISwpOSnNTV3c0NFk5a0R5SU9KOXFjWUlBN1lhTkxPZTRjSysvQlRvdDh0dVVKT1hHLzdBRmtxR2EyQVA4MmFZOStKCnkwSmU2OG5nTHJ1dVU4VHpneVpqdkFHcTRrVEVOdWFoaFdHVC9KWkEzOXhSNUV4MmNMUUplcE5NdnlZbUZ3Z1UKME8zYlA0OWNBVFVCMXoyQ3Y5aTRQbVk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + }, + "aesEncryption": { + "type": "boolean", + "description": "If enabled, AES encryption will be enabled for SMB communication." + }, + "ldapSigning": { + "type": "boolean", + "description": "Specifies whether or not the LDAP traffic needs to be signed." + }, + "securityOperators": { + "type": "array", + "description": "Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1 + }, + "example": [ + "user1", + "user2" + ] + }, + "ldapOverTLS": { + "type": "boolean", + "description": "Specifies whether or not the LDAP traffic needs to be secured via TLS." + }, + "allowLocalNfsUsersWithLdap": { + "type": "boolean", + "description": " If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes." + }, + "encryptDCConnections": { + "type": "boolean", + "description": "If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted." + }, + "ldapSearchScope": { + "description": "LDAP Search scope options", + "$ref": "#/definitions/ldapSearchScopeOpt" + }, + "preferredServersForLdapClient": { + "type": "string", + "maxLength": 32, + "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$", + "description": "Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed.", + "example": "101.102.103.104, 101.102.103.105" + } + } + }, + "ldapSearchScopeOpt": { + "type": "object", + "description": "LDAP search scope ", + "properties": { + "userDN": { + "type": "string", + "description": "This specifies the user DN, which overrides the base DN for user lookups.", + "maxLength": 255, + "example": "OU=fin,OU=hr,dc=domain,dc=com" + }, + "groupDN": { + "type": "string", + "description": "This specifies the group DN, which overrides the base DN for group lookups.", + "maxLength": 255, + "example": "OU=fin,OU=hr,dc=domain,dc=com" + }, + "groupMembershipFilter": { + "type": "string", + "description": "This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server.", + "maxLength": 255, + "example": "cn=*99" + } + } + }, + "accountEncryption": { + "type": "object", + "description": "Encryption settings", + "properties": { + "keySource": { + "type": "string", + "description": "The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault", + "enum": [ + "Microsoft.NetApp", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "KeySource", + "modelAsString": true, + "values": [ + { + "value": "Microsoft.NetApp", + "description": "Microsoft-managed key encryption" + }, + { + "value": "Microsoft.KeyVault", + "description": "Customer-managed key encryption" + } + ] + }, + "default": "Microsoft.NetApp" + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Properties provided by KeVault. Applicable if keySource is 'Microsoft.KeyVault'." + }, + "identity": { + "$ref": "#/definitions/EncryptionIdentity", + "description": "Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'." + } + } + }, + "KeyVaultProperties": { + "description": "Properties of key vault.", + "type": "object", + "required": [ + "keyVaultUri", + "keyName", + "keyVaultResourceId" + ], + "properties": { + "keyVaultId": { + "type": "string", + "description": "UUID v4 used to identify the Azure Key Vault configuration", + "readOnly": true, + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of KeyVault." + }, + "keyName": { + "type": "string", + "description": "The name of KeyVault key." + }, + "keyVaultResourceId": { + "type": "string", + "description": "The resource ID of KeyVault." + }, + "status": { + "type": "string", + "description": "Status of the KeyVault connection.", + "readOnly": true, + "enum": [ + "Created", + "Updating", + "InUse", + "Deleted", + "Error" + ], + "x-ms-enum": { + "name": "KeyVaultStatus", + "modelAsString": true, + "values": [ + { + "value": "Created", + "description": "KeyVault connection created but not in use" + }, + { + "value": "InUse", + "description": "KeyVault connection in use by SMB Volume" + }, + { + "value": "Deleted", + "description": "KeyVault connection Deleted" + }, + { + "value": "Error", + "description": "Error with the KeyVault connection" + }, + { + "value": "Updating", + "description": "KeyVault connection Updating" + } + ] + } + } + } + }, + "EncryptionIdentity": { + "description": "Identity used to authenticate with key vault.", + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The principal ID (object ID) of the identity used to authenticate with key vault. Read-only.", + "readOnly": true + }, + "userAssignedIdentity": { + "type": "string", + "description": "The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities." + } + } + }, + "capacityPoolList": { + "description": "List of capacity pool resources", + "type": "object", + "properties": { + "value": { + "description": "List of Capacity pools", + "type": "array", + "items": { + "$ref": "#/definitions/capacityPool" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + } + }, + "capacityPool": { + "description": "Capacity pool resource", + "type": "object", + "required": [ + "location", + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolProperties", + "x-ms-client-flatten": true + } + } + }, + "poolProperties": { + "description": "Pool properties", + "type": "object", + "required": [ + "size", + "serviceLevel" + ], + "properties": { + "poolId": { + "title": "poolId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Pool", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiply of 4398046511104).", + "default": 4398046511104 + }, + "serviceLevel": { + "title": "serviceLevel", + "$ref": "#/definitions/serviceLevel" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "totalThroughputMibps": { + "type": "number", + "description": "Total throughput of pool in MiB/s", + "example": 164.221, + "readOnly": true + }, + "utilizedThroughputMibps": { + "type": "number", + "description": "Utilized throughput of pool in MiB/s", + "example": 164.221, + "readOnly": true + }, + "qosType": { + "title": "qosType", + "type": "string", + "description": "The qos type of the pool", + "enum": [ + "Auto", + "Manual" + ], + "x-ms-enum": { + "name": "qosType", + "modelAsString": true, + "values": [ + { + "value": "Auto", + "description": "qos type Auto" + }, + { + "value": "Manual", + "description": "qos type Manual" + } + ] + }, + "example": "Manual", + "default": "Auto" + }, + "coolAccess": { + "type": "boolean", + "default": false, + "example": false, + "description": "If enabled (true) the pool can contain cool Access enabled volumes." + }, + "encryptionType": { + "title": "encryptionType", + "type": "string", + "x-nullable": true, + "description": "Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool.", + "x-ms-mutability": [ + "read", + "create" + ], + "enum": [ + "Single", + "Double" + ], + "x-ms-enum": { + "name": "encryptionType", + "modelAsString": true, + "values": [ + { + "value": "Single", + "description": "EncryptionType Single, volumes will use single encryption at rest" + }, + { + "value": "Double", + "description": "EncryptionType Double, volumes will use double encryption at rest" + } + ] + }, + "example": "Single", + "default": "Single" + } + } + }, + "capacityPoolPatch": { + "description": "Capacity pool patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolPatchProperties", + "x-ms-client-flatten": true + } + } + }, + "poolPatchProperties": { + "description": "Patchable pool properties", + "type": "object", + "properties": { + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiply of 4398046511104).", + "default": 4398046511104 + }, + "qosType": { + "title": "qosType", + "type": "string", + "description": "The qos type of the pool", + "enum": [ + "Auto", + "Manual" + ], + "x-ms-enum": { + "name": "qosType", + "modelAsString": true, + "values": [ + { + "value": "Auto", + "description": "qos type Auto" + }, + { + "value": "Manual", + "description": "qos type Manual" + } + ] + }, + "example": "Manual", + "default": "Auto" + }, + "coolAccess": { + "type": "boolean", + "example": false, + "description": "If enabled (true) the pool can contain cool Access enabled volumes." + } + } + }, + "volumeList": { + "description": "List of volume resources", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "$ref": "#/definitions/volume" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + } + }, + "volume": { + "description": "Volume resource", + "type": "object", + "required": [ + "location", + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "zones": { + "type": "array", + "description": "Availability Zone", + "x-ms-mutability": [ + "read", + "create" + ], + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "example": "1" + } + }, + "properties": { + "description": "Volume properties", + "$ref": "#/definitions/volumeProperties", + "x-ms-client-flatten": true + } + } + }, + "resourceIdentity": { + "type": "object", + "description": "Identity for the resource.", + "properties": { + "principalId": { + "description": "Object id of the identity resource", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The tenant id of the resource", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of Identity. Supported values are: 'None', 'SystemAssigned'", + "type": "string" + } + } + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "volumeProperties": { + "description": "Volume properties", + "type": "object", + "required": [ + "creationToken", + "usageThreshold", + "subnetId" + ], + "properties": { + "fileSystemId": { + "title": "FileSystem ID", + "type": "string", + "readOnly": true, + "description": "Unique FileSystem Identifier.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "creationToken": { + "title": "Creation Token or File Path", + "type": "string", + "description": "A unique file path for the volume. Used when creating mount targets", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80, + "example": "some-amazing-filepath" + }, + "serviceLevel": { + "title": "serviceLevel", + "$ref": "#/definitions/serviceLevel" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB, 500Tib for LargeVolume or 2400Tib for LargeVolume on exceptional basis. Specified in bytes.", + "minimum": 107374182400, + "maximum": 2638827906662400, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + }, + "x-ms-identifiers": [ + "ruleIndex" + ] + } + } + }, + "protocolTypes": { + "title": "protocolTypes", + "description": "Set of protocol types, default NFSv3, CIFS for SMB protocol", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "NFSv4.1" + ] + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "snapshotId": { + "title": "Snapshot ID", + "type": "string", + "x-nullable": true, + "x-ms-mutability": [ + "read", + "create" + ], + "description": "UUID v4 or resource identifier used to identify the Snapshot.", + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "deleteBaseSnapshot": { + "type": "boolean", + "description": "If enabled (true) the snapshot the volume was created from will be automatically deleted after the volume create operation has finished. Defaults to false" + }, + "backupId": { + "title": "Backup ID", + "type": "string", + "x-nullable": true, + "x-ms-mutability": [ + "read", + "create" + ], + "description": "UUID v4 or resource identifier used to identify the Backup.", + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "baremetalTenantId": { + "title": "Baremetal Tenant ID", + "type": "string", + "readOnly": true, + "description": "Unique Baremetal Tenant Identifier.", + "example": "9560acf5-4e3a-12e7-9bdb-02007cca7779" + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + }, + "networkFeatures": { + "$ref": "#/definitions/networkFeatures" + }, + "networkSiblingSetId": { + "title": "Network Sibling Set ID", + "description": "Network Sibling Set ID for the the group of volumes sharing networking resources.", + "type": "string", + "readOnly": true, + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "storageToNetworkProximity": { + "title": "Storage to Network Proximity", + "description": "Provides storage to network proximity information for the volume.", + "type": "string", + "enum": [ + "Default", + "T1", + "T2", + "AcrossT2" + ], + "readOnly": true, + "x-ms-enum": { + "name": "VolumeStorageToNetworkProximity", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Basic storage to network connectivity." + }, + { + "value": "T1", + "description": "Standard T1 storage to network connectivity." + }, + { + "value": "T2", + "description": "Standard T2 storage to network connectivity." + }, + { + "value": "AcrossT2", + "description": "Standard AcrossT2 storage to network connectivity." + } + ] + }, + "example": "T1" + }, + "mountTargets": { + "title": "mountTargets", + "type": "array", + "readOnly": true, + "description": "List of mount targets", + "items": { + "$ref": "#/definitions/mountTargetProperties" + }, + "x-ms-identifiers": [ + "fileSystemId" + ] + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this. For destination volumes in Cross Region Replication, set type to DataProtection", + "example": "DataProtection" + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "replication": { + "title": "Replication", + "description": "Replication properties", + "type": "object", + "$ref": "#/definitions/replicationObject" + }, + "snapshot": { + "title": "Snapshot", + "description": "Snapshot properties.", + "$ref": "#/definitions/volumeSnapshotProperties" + }, + "volumeRelocation": { + "title": "VolumeRelocation", + "description": "VolumeRelocation properties", + "type": "object", + "$ref": "#/definitions/volumeRelocationProperties" + } + } + }, + "isRestoring": { + "type": "boolean", + "description": "Restoring" + }, + "snapshotDirectoryVisible": { + "type": "boolean", + "default": true, + "description": "If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots (defaults to true)." + }, + "kerberosEnabled": { + "type": "boolean", + "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later", + "x-ms-mutability": [ + "read", + "create" + ], + "example": false, + "default": false + }, + "securityStyle": { + "type": "string", + "description": "The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol", + "default": "unix", + "enum": [ + "ntfs", + "unix" + ], + "x-ms-enum": { + "name": "SecurityStyle", + "modelAsString": true + } + }, + "smbEncryption": { + "type": "boolean", + "description": "Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later", + "example": false, + "default": false + }, + "smbAccessBasedEnumeration": { + "$ref": "#/definitions/smbAccessBasedEnumeration" + }, + "smbNonBrowsable": { + "$ref": "#/definitions/smbNonBrowsable" + }, + "smbContinuouslyAvailable": { + "type": "boolean", + "description": "Enables continuously available share property for smb volume. Only applicable for SMB volume", + "example": false, + "default": false + }, + "throughputMibps": { + "title": "Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume", + "type": "number", + "x-nullable": true, + "example": 128.223 + }, + "actualThroughputMibps": { + "type": "number", + "description": "Actual throughput in MiB/s for auto qosType volumes calculated based on size and serviceLevel", + "example": 164.221, + "readOnly": true + }, + "encryptionKeySource": { + "description": "Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault'", + "type": "string", + "enum": [ + "Microsoft.NetApp", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "EncryptionKeySource", + "modelAsString": true, + "values": [ + { + "value": "Microsoft.NetApp", + "description": "Microsoft-managed key encryption" + }, + { + "value": "Microsoft.KeyVault", + "description": "Customer-managed key encryption" + } + ] + }, + "default": "Microsoft.NetApp" + }, + "keyVaultPrivateEndpointResourceId": { + "type": "string", + "description": "The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'." + }, + "ldapEnabled": { + "type": "boolean", + "description": "Specifies whether LDAP is enabled or not for a given NFS volume.", + "example": false, + "default": false + }, + "coolAccess": { + "type": "boolean", + "description": "Specifies whether Cool Access(tiering) is enabled for the volume.", + "example": false, + "default": false + }, + "coolnessPeriod": { + "type": "integer", + "description": "Specifies the number of days after which data that is not accessed by clients will be tiered.", + "example": 7, + "minimum": 7, + "maximum": 183, + "format": "int32" + }, + "coolAccessRetrievalPolicy": { + "$ref": "#/definitions/coolAccessRetrievalPolicy" + }, + "unixPermissions": { + "type": "string", + "description": "UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users.", + "minLength": 4, + "maxLength": 4, + "x-nullable": true, + "example": "0770" + }, + "cloneProgress": { + "description": "When a volume is being restored from another volume's snapshot, will show the percentage completion of this cloning process. When this value is empty/null there is no cloning process currently happening on this volume. This value will update every 5 minutes during cloning.", + "type": "integer", + "format": "int32", + "example": 10, + "x-nullable": true, + "readOnly": true + }, + "fileAccessLogs": { + "type": "string", + "description": "Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume.", + "readOnly": true, + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "fileAccessLogs", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "fileAccessLogs are enabled" + }, + { + "value": "Disabled", + "description": "fileAccessLogs are not enabled" + } + ] + }, + "example": "Disabled", + "default": "Disabled" + }, + "avsDataStore": { + "title": "avsDataStore", + "type": "string", + "description": "Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "avsDataStore", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "avsDataStore is enabled" + }, + { + "value": "Disabled", + "description": "avsDataStore is disabled" + } + ] + }, + "example": "Enabled", + "default": "Disabled" + }, + "dataStoreResourceId": { + "title": "dataStoreResourceId", + "description": "Data store resource unique identifier", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "isDefaultQuotaEnabled": { + "type": "boolean", + "description": "Specifies if default quota is enabled for the volume.", + "example": false, + "default": false + }, + "defaultUserQuotaInKiBs": { + "type": "integer", + "format": "int64", + "description": "Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies .", + "example": 4, + "default": 0 + }, + "defaultGroupQuotaInKiBs": { + "type": "integer", + "format": "int64", + "description": "Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies.", + "example": 4, + "default": 0 + }, + "maximumNumberOfFiles": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Maximum number of files allowed. Needs a service request in order to be changed. Only allowed to be changed if volume quota is more than 4TiB.", + "example": 100000000 + }, + "volumeGroupName": { + "type": "string", + "description": "Volume Group Name", + "readOnly": true + }, + "capacityPoolResourceId": { + "type": "string", + "description": "Pool Resource Id used in case of creating a volume through volume group" + }, + "proximityPlacementGroup": { + "type": "string", + "description": "Proximity placement group associated with the volume", + "example": "/subscriptions/aaaaaaaa-1234-1234-1224-234567891011/resourceGroups/testGroup/providers/Microsoft.Compute/proximityPlacementGroups/testppg" + }, + "t2Network": { + "type": "string", + "description": "T2 network information", + "example": "Test-T2-Alias", + "readOnly": true + }, + "volumeSpecName": { + "type": "string", + "description": "Volume spec name is the application specific designation or identifier for the particular volume in a volume group for e.g. data, log", + "example": "Data" + }, + "encrypted": { + "type": "boolean", + "description": "Specifies if the volume is encrypted or not. Only available on volumes created or updated after 2022-01-01.", + "readOnly": true + }, + "placementRules": { + "title": "Volume placement rules", + "description": "Application specific placement rules for the particular volume", + "type": "array", + "items": { + "$ref": "#/definitions/placementKeyValuePairs" + }, + "x-ms-identifiers": [ + "key" + ] + }, + "enableSubvolumes": { + "type": "string", + "description": "Flag indicating whether subvolume operations are enabled on the volume", + "example": "Enabled", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "enableSubvolumes", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "subvolumes are enabled" + }, + { + "value": "Disabled", + "description": "subvolumes are not enabled" + } + ] + } + }, + "provisionedAvailabilityZone": { + "title": "Provisioned Availability Zone", + "type": "string", + "readOnly": true, + "description": "The availability zone where the volume is provisioned. This refers to the logical availability zone where the volume resides.", + "example": "2", + "x-nullable": true + }, + "isLargeVolume": { + "title": "Is Large Volume", + "type": "boolean", + "description": "Specifies whether volume is a Large Volume or Regular Volume.", + "example": false, + "default": false + }, + "originatingResourceId": { + "title": "Originating Resource Id", + "type": "string", + "description": "Id of the snapshot or backup that the volume is restored from.", + "example": "/subscriptions/aaaaaaaa-1234-1234-1224-234567891011/resourceGroups/testGroup/providers/Microsoft.NetApp/netAppAccounts/accountOriginatingResourceId/capacityPools/originatingResourceIdPool/volumes/theOriginalVolume/snapshots/theSnapshot", + "readOnly": true, + "x-nullable": true + } + } + }, + "exportPolicyRule": { + "description": "Volume Export Policy Rule", + "type": "object", + "properties": { + "ruleIndex": { + "type": "integer", + "description": "Order index", + "format": "int32" + }, + "unixReadOnly": { + "type": "boolean", + "description": "Read only access" + }, + "unixReadWrite": { + "type": "boolean", + "description": "Read and write access" + }, + "kerberos5ReadOnly": { + "type": "boolean", + "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5ReadWrite": { + "type": "boolean", + "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5iReadOnly": { + "type": "boolean", + "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5iReadWrite": { + "type": "boolean", + "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5pReadOnly": { + "type": "boolean", + "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5pReadWrite": { + "type": "boolean", + "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "cifs": { + "type": "boolean", + "description": "Allows CIFS protocol" + }, + "nfsv3": { + "type": "boolean", + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "type": "boolean", + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + }, + "hasRootAccess": { + "type": "boolean", + "description": "Has root access to volume", + "example": true, + "default": true + }, + "chownMode": { + "type": "string", + "description": "This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own.", + "default": "Restricted", + "enum": [ + "Restricted", + "Unrestricted" + ], + "x-ms-enum": { + "name": "ChownMode", + "modelAsString": true + } + } + } + }, + "replicationObject": { + "description": "Replication properties", + "type": "object", + "required": [ + "remoteVolumeResourceId" + ], + "properties": { + "replicationId": { + "type": "string", + "description": "Id", + "readOnly": true + }, + "endpointType": { + "type": "string", + "description": "Indicates whether the local volume is the source or destination for the Volume Replication", + "enum": [ + "src", + "dst" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + }, + "replicationSchedule": { + "type": "string", + "description": "Schedule", + "enum": [ + "_10minutely", + "hourly", + "daily" + ], + "x-ms-enum": { + "name": "ReplicationSchedule", + "modelAsString": true + } + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + } + } + }, + "replication": { + "description": "Replication properties", + "type": "object", + "required": [ + "remoteVolumeResourceId" + ], + "properties": { + "endpointType": { + "type": "string", + "description": "Indicates whether the local volume is the source or destination for the Volume Replication", + "enum": [ + "src", + "dst" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + }, + "replicationSchedule": { + "type": "string", + "description": "Schedule", + "enum": [ + "_10minutely", + "hourly", + "daily" + ], + "x-ms-enum": { + "name": "ReplicationSchedule", + "modelAsString": true + } + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + } + } + }, + "volumeRelocationProperties": { + "description": "Volume relocation properties", + "type": "object", + "properties": { + "relocationRequested": { + "type": "boolean", + "description": "Has relocation been requested for this volume" + }, + "readyToBeFinalized": { + "type": "boolean", + "readOnly": true, + "description": "Has relocation finished and is ready to be cleaned up" + } + } + }, + "volumeSnapshotProperties": { + "description": "Volume Snapshot Properties", + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + } + }, + "replicationStatus": { + "description": "Replication status", + "type": "object", + "properties": { + "healthy": { + "type": "boolean", + "description": "Replication health check" + }, + "relationshipStatus": { + "type": "string", + "description": "Status of the mirror relationship", + "enum": [ + "Idle", + "Transferring" + ], + "x-ms-enum": { + "name": "RelationshipStatus", + "modelAsString": true + } + }, + "mirrorState": { + "type": "string", + "description": "The status of the replication", + "enum": [ + "Uninitialized", + "Mirrored", + "Broken" + ], + "x-ms-enum": { + "name": "MirrorState", + "modelAsString": true + } + }, + "totalProgress": { + "type": "string", + "description": "The progress of the replication" + }, + "errorMessage": { + "type": "string", + "description": "Displays error message if the replication is in an error state" + } + } + }, + "listReplications": { + "description": "List Replications", + "type": "object", + "properties": { + "value": { + "description": "A list of replications", + "type": "array", + "items": { + "$ref": "#/definitions/replication" + }, + "x-ms-identifiers": [] + } + } + }, + "volumePatch": { + "description": "Volume patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Patchable volume properties", + "$ref": "#/definitions/volumePatchProperties", + "x-ms-client-flatten": true + } + } + }, + "volumePatchProperties": { + "description": "Patchable volume properties", + "type": "object", + "properties": { + "serviceLevel": { + "title": "serviceLevel", + "$ref": "#/definitions/serviceLevel" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB, 500Tib for LargeVolume or 2400Tib for LargeVolume on exceptional basis. Specified in bytes.", + "minimum": 107374182400, + "maximum": 2638827906662400, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + }, + "x-ms-identifiers": [ + "ruleIndex" + ] + } + } + }, + "throughputMibps": { + "title": "Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume", + "type": "number", + "example": 128.22 + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "snapshot": { + "title": "Snapshot", + "description": "Snapshot properties.", + "$ref": "#/definitions/volumeSnapshotProperties" + } + } + }, + "isDefaultQuotaEnabled": { + "type": "boolean", + "description": "Specifies if default quota is enabled for the volume.", + "example": false, + "default": false + }, + "defaultUserQuotaInKiBs": { + "type": "integer", + "format": "int64", + "description": "Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies .", + "example": 4, + "default": 0 + }, + "defaultGroupQuotaInKiBs": { + "type": "integer", + "format": "int64", + "description": "Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies.", + "example": 4, + "default": 0 + }, + "unixPermissions": { + "type": "string", + "description": "UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users.", + "minLength": 4, + "maxLength": 4, + "x-nullable": true, + "example": "0770" + }, + "coolAccess": { + "type": "boolean", + "description": "Specifies whether Cool Access(tiering) is enabled for the volume.", + "example": false + }, + "coolnessPeriod": { + "type": "integer", + "description": "Specifies the number of days after which data that is not accessed by clients will be tiered.", + "example": 7, + "minimum": 7, + "maximum": 183, + "format": "int32" + }, + "coolAccessRetrievalPolicy": { + "$ref": "#/definitions/coolAccessRetrievalPolicy" + }, + "snapshotDirectoryVisible": { + "type": "boolean", + "description": "If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots." + }, + "smbAccessBasedEnumeration": { + "$ref": "#/definitions/smbAccessBasedEnumeration" + }, + "smbNonBrowsable": { + "$ref": "#/definitions/smbNonBrowsable" + } + } + }, + "mountTarget": { + "description": "Mount Target", + "type": "object", + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags", + "x-ms-client-flatten": true + }, + "properties": { + "description": "Mount Target Properties", + "$ref": "#/definitions/mountTargetProperties", + "x-ms-client-flatten": true + } + } + }, + "mountTargetProperties": { + "description": "Mount target properties", + "type": "object", + "required": [ + "fileSystemId" + ], + "properties": { + "mountTargetId": { + "title": "mountTargetId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the MountTarget", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "fileSystemId": { + "title": "fileSystemId", + "type": "string", + "description": "UUID v4 used to identify the MountTarget", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "ipAddress": { + "title": "ipAddress", + "description": "The mount target's IPv4 address", + "type": "string", + "readOnly": true, + "example": "1.2.3.4" + }, + "smbServerFqdn": { + "title": "smbServerFQDN", + "description": "The SMB server's Fully Qualified Domain Name, FQDN", + "type": "string", + "example": "fullyqualified.domainname.com" + } + } + }, + "snapshotsList": { + "description": "List of Snapshots", + "type": "object", + "properties": { + "value": { + "description": "A list of Snapshots", + "type": "array", + "items": { + "$ref": "#/definitions/snapshot" + } + } + } + }, + "snapshot": { + "description": "Snapshot of a Volume", + "type": "object", + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "properties": { + "description": "Snapshot Properties", + "$ref": "#/definitions/snapshotProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPatch": { + "description": "Snapshot patch", + "type": "object", + "properties": {} + }, + "snapshotProperties": { + "description": "Snapshot properties", + "type": "object", + "properties": { + "snapshotId": { + "title": "snapshotId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Snapshot", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "created": { + "title": "name", + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The creation date of the snapshot", + "example": "2017-08-15 13:23:33" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "snapshotPolicyProperties": { + "description": "Snapshot policy properties", + "type": "object", + "properties": { + "hourlySchedule": { + "title": "hourlySchedule", + "description": "Schedule for hourly snapshots", + "type": "object", + "$ref": "#/definitions/hourlySchedule" + }, + "dailySchedule": { + "title": "dailySchedule", + "description": "Schedule for daily snapshots", + "type": "object", + "$ref": "#/definitions/dailySchedule" + }, + "weeklySchedule": { + "title": "weeklySchedule", + "description": "Schedule for weekly snapshots", + "type": "object", + "$ref": "#/definitions/weeklySchedule" + }, + "monthlySchedule": { + "title": "monthlySchedule", + "description": "Schedule for monthly snapshots", + "type": "object", + "$ref": "#/definitions/monthlySchedule" + }, + "enabled": { + "type": "boolean", + "description": "The property to decide policy is enabled or not" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "snapshotPolicy": { + "description": "Snapshot policy information", + "type": "object", + "required": [ + "location", + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "description": "Snapshot policy Properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPoliciesList": { + "description": "List of Snapshot Policies", + "type": "object", + "properties": { + "value": { + "description": "A list of snapshot policies", + "type": "array", + "items": { + "$ref": "#/definitions/snapshotPolicy" + } + } + } + }, + "snapshotPolicyDetails": { + "description": "Snapshot policy properties", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot policy Properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPolicyPatch": { + "description": "Snapshot policy Details for create and update", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot Policy properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPolicyVolumeList": { + "description": "Volumes associated with snapshot policy", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "$ref": "#/definitions/volume" + } + } + } + }, + "hourlySchedule": { + "description": "Hourly Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Hourly snapshot count to keep", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": 30, + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "dailySchedule": { + "description": "Daily Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Daily snapshot count to keep", + "format": "int32" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": 11, + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": 30, + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "weeklySchedule": { + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Weekly snapshot count to keep", + "format": "int32" + }, + "day": { + "type": "string", + "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english", + "example": "Sunday,Monday" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": 11, + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": 30, + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "monthlySchedule": { + "description": "Monthly Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Monthly snapshot count to keep", + "format": "int32" + }, + "daysOfMonth": { + "type": "string", + "description": "Indicates which days of the month snapshot should be taken. A comma delimited string.", + "example": "1,11,21" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": 11, + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": 30, + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "volumeRevert": { + "description": "revert a volume to the snapshot", + "type": "object", + "properties": { + "snapshotId": { + "type": "string", + "description": "Resource id of the snapshot" + } + } + }, + "authorizeRequest": { + "description": "Authorize request", + "type": "object", + "properties": { + "remoteVolumeResourceId": { + "type": "string", + "description": "Resource id of the remote volume" + } + } + }, + "breakReplicationRequest": { + "description": "Break replication request", + "type": "object", + "properties": { + "forceBreakReplication": { + "type": "boolean", + "description": "If replication is in status transferring and you want to force break the replication, set to true" + } + } + }, + "reestablishReplicationRequest": { + "description": "Re-establish request object supplied in the body of the operation.", + "type": "object", + "properties": { + "sourceVolumeId": { + "type": "string", + "description": "Resource id of the source volume for the replication" + } + } + }, + "relocateVolumeRequest": { + "description": "Relocate volume request", + "type": "object", + "properties": { + "creationToken": { + "type": "string", + "description": "New creation token for the volume that controls the mount point name" + } + } + }, + "breakFileLocksRequest": { + "description": "Break file locks request", + "type": "object", + "properties": { + "clientIp": { + "type": "string", + "description": "To clear file locks on a volume for a particular client", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "example": "101.102.103.104" + }, + "confirmRunningDisruptiveOperation": { + "type": "boolean", + "description": "Break File locks could be a disruptive operation for application as locks on the volume will be broken, if want to process, set to true.", + "default": false + } + } + }, + "poolChangeRequest": { + "description": "Pool change request", + "type": "object", + "required": [ + "newPoolResourceId" + ], + "properties": { + "newPoolResourceId": { + "type": "string", + "description": "Resource id of the pool to move volume to" + } + } + }, + "backupPolicyProperties": { + "description": "Backup policy properties", + "type": "object", + "properties": { + "backupPolicyId": { + "type": "string", + "readOnly": true, + "description": "Backup Policy Resource ID" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "dailyBackupsToKeep": { + "type": "integer", + "description": "Daily backups count to keep", + "format": "int32" + }, + "weeklyBackupsToKeep": { + "type": "integer", + "description": "Weekly backups count to keep", + "format": "int32" + }, + "monthlyBackupsToKeep": { + "type": "integer", + "description": "Monthly backups count to keep", + "format": "int32" + }, + "volumesAssigned": { + "type": "integer", + "readOnly": true, + "description": "Volumes using current backup policy", + "format": "int32" + }, + "enabled": { + "type": "boolean", + "description": "The property to decide policy is enabled or not" + }, + "volumeBackups": { + "description": "A list of volumes assigned to this policy", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/volumeBackups" + }, + "x-ms-identifiers": [ + "volumeName" + ] + } + } + }, + "backupPolicy": { + "description": "Backup policy information", + "type": "object", + "required": [ + "location", + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPoliciesList": { + "description": "List of Backup Policies", + "type": "object", + "properties": { + "value": { + "description": "A list of backup policies", + "type": "array", + "items": { + "$ref": "#/definitions/backupPolicy" + } + } + } + }, + "backupPolicyPatch": { + "description": "Backup policy Details for create and update", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "volumeBackups": { + "description": "Volume details using the backup policy", + "type": "object", + "readOnly": true, + "properties": { + "volumeName": { + "type": "string", + "description": "Volume name" + }, + "backupsCount": { + "type": "integer", + "description": "Total count of backups for volume", + "format": "int32" + }, + "policyEnabled": { + "type": "boolean", + "description": "Policy enabled" + } + } + }, + "restoreStatus": { + "description": "Restore status", + "type": "object", + "properties": { + "healthy": { + "type": "boolean", + "readOnly": true, + "description": "Restore health status" + }, + "relationshipStatus": { + "type": "string", + "readOnly": true, + "description": "Status of the restore SnapMirror relationship", + "enum": [ + "Idle", + "Transferring", + "Failed", + "Unknown" + ], + "x-ms-enum": { + "name": "RelationshipStatus", + "modelAsString": true + } + }, + "mirrorState": { + "type": "string", + "readOnly": true, + "description": "The status of the restore", + "enum": [ + "Uninitialized", + "Mirrored", + "Broken" + ], + "x-ms-enum": { + "name": "MirrorState", + "modelAsString": true + } + }, + "unhealthyReason": { + "type": "string", + "readOnly": true, + "description": "Reason for the unhealthy restore relationship" + }, + "errorMessage": { + "type": "string", + "readOnly": true, + "description": "Displays error message if the restore is in an error state" + }, + "totalTransferBytes": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Displays the total bytes transferred" + } + } + }, + "getGroupIdListForLDAPUserRequest": { + "description": "Get group Id list for LDAP User request", + "type": "object", + "required": [ + "username" + ], + "properties": { + "username": { + "type": "string", + "description": "username is required to fetch the group to which user is part of", + "maxLength": 255, + "minLength": 1 + } + } + }, + "getGroupIdListForLDAPUserResponse": { + "description": "Group Id list for Ldap user", + "type": "object", + "properties": { + "groupIdsForLdapUser": { + "description": "Group Id list", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "123", + "224" + ] + } + } + }, + "cloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/cloudErrorBody", + "description": "Cloud error body." + } + }, + "description": "An error response from the service." + }, + "cloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + } + }, + "description": "An error response from the service." + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra", + "StandardZRS" + ], + "default": "Premium", + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + }, + { + "value": "StandardZRS", + "description": "Zone redundant storage service level" + } + ] + } + }, + "volumeQuotaRulesList": { + "description": "List of Volume Quota Rules", + "type": "object", + "properties": { + "value": { + "description": "A list of Volume Quota Rules", + "type": "array", + "items": { + "$ref": "#/definitions/volumeQuotaRule" + } + } + } + }, + "volumeQuotaRule": { + "description": "Quota Rule of a Volume", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Volume Quota Rule Properties", + "$ref": "#/definitions/volumeQuotaRulesProperties", + "x-ms-client-flatten": true + } + } + }, + "volumeQuotaRulePatch": { + "description": "Patchable Quota Rule of a Volume", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Volume Quota Rule Properties", + "$ref": "#/definitions/volumeQuotaRulesProperties", + "x-ms-client-flatten": true + } + } + }, + "volumeQuotaRulesProperties": { + "description": "Volume Quota Rule properties", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/netappProvisioningState" + }, + "quotaSizeInKiBs": { + "type": "integer", + "description": "Size of quota", + "format": "int64", + "example": "100006" + }, + "quotaType": { + "title": "quotaType", + "type": "string", + "description": "Type of quota", + "x-ms-mutability": [ + "read", + "create" + ], + "enum": [ + "DefaultUserQuota", + "DefaultGroupQuota", + "IndividualUserQuota", + "IndividualGroupQuota" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true, + "values": [ + { + "value": "DefaultUserQuota", + "description": "Default user quota" + }, + { + "value": "DefaultGroupQuota", + "description": "Default group quota" + }, + { + "value": "IndividualUserQuota", + "description": "Individual user quota" + }, + { + "value": "IndividualGroupQuota", + "description": "Individual group quota" + } + ] + }, + "example": "DefaultUserQuota" + }, + "quotaTarget": { + "type": "string", + "description": "UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running ", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "volumeGroupList": { + "description": "List of volume group resources", + "type": "object", + "properties": { + "value": { + "description": "List of volume Groups", + "type": "array", + "items": { + "$ref": "#/definitions/volumeGroup" + } + } + } + }, + "volumeGroup": { + "description": "Volume group resource", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Volume group properties", + "$ref": "#/definitions/volumeGroupListProperties", + "x-ms-client-flatten": true + } + } + }, + "volumeGroupDetails": { + "description": "Volume group resource for create", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Volume group properties", + "$ref": "#/definitions/volumeGroupProperties", + "x-ms-client-flatten": true + } + } + }, + "volumeGroupMetaData": { + "description": "Volume group properties", + "type": "object", + "properties": { + "groupDescription": { + "type": "string", + "description": "Group Description", + "example": "group description" + }, + "applicationType": { + "type": "string", + "description": "Application Type", + "enum": [ + "SAP-HANA", + "ORACLE" + ], + "x-ms-enum": { + "name": "ApplicationType", + "modelAsString": true + }, + "example": "SAP-HANA" + }, + "applicationIdentifier": { + "type": "string", + "description": "Application specific identifier", + "example": "SH1" + }, + "globalPlacementRules": { + "title": "Global volume placement rules", + "description": "Application specific placement rules for the volume group", + "type": "array", + "items": { + "$ref": "#/definitions/placementKeyValuePairs" + }, + "x-ms-identifiers": [ + "key" + ] + }, + "volumesCount": { + "type": "integer", + "format": "int64", + "description": "Number of volumes in volume group", + "example": 5, + "readOnly": true + } + } + }, + "volumeGroupProperties": { + "description": "Volume group properties", + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "description": "Azure lifecycle management", + "example": "Available", + "readOnly": true + }, + "groupMetaData": { + "title": "groupMetaData", + "description": "Volume group details", + "type": "object", + "$ref": "#/definitions/volumeGroupMetaData" + }, + "volumes": { + "description": "List of volumes from group", + "type": "array", + "items": { + "$ref": "#/definitions/volumeGroupVolumeProperties" + } + } + } + }, + "volumeGroupListProperties": { + "description": "Volume group properties", + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "description": "Azure lifecycle management", + "example": "Available", + "readOnly": true + }, + "groupMetaData": { + "title": "groupMetaData", + "description": "Volume group details", + "type": "object", + "$ref": "#/definitions/volumeGroupMetaData" + } + } + }, + "volumeGroupVolumeProperties": { + "description": "Volume resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "properties" + ], + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "zones": { + "type": "array", + "description": "Availability Zone", + "x-ms-mutability": [ + "read", + "create" + ], + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "example": "1" + } + }, + "properties": { + "description": "Volume properties", + "$ref": "#/definitions/volumeProperties", + "x-ms-client-flatten": true + } + } + }, + "placementKeyValuePairs": { + "description": "Application specific parameters for the placement of volumes in the volume group", + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string", + "description": "Key for an application specific parameter for the placement of volumes in the volume group", + "example": "key1" + }, + "value": { + "type": "string", + "description": "Value for an application specific parameter for the placement of volumes in the volume group", + "example": "value1" + } + } + }, + "networkSiblingSet": { + "title": "Network sibling set", + "description": "Describes the contents of a network sibling set.", + "type": "object", + "properties": { + "networkSiblingSetId": { + "$ref": "#/definitions/networkSiblingSetId" + }, + "subnetId": { + "$ref": "#/definitions/subnetId" + }, + "networkSiblingSetStateId": { + "$ref": "#/definitions/networkSiblingSetStateId" + }, + "networkFeatures": { + "$ref": "#/definitions/networkFeatures" + }, + "provisioningState": { + "$ref": "#/definitions/networkSiblingSetProvisioningState" + }, + "nicInfoList": { + "type": "array", + "x-ms-identifiers": [], + "description": "List of NIC information", + "items": { + "$ref": "#/definitions/nicInfo" + } + } + } + }, + "QueryNetworkSiblingSetRequest": { + "title": "QueryNetworkSiblingSetRequest", + "description": "Network sibling set query.", + "type": "object", + "required": [ + "networkSiblingSetId", + "subnetId" + ], + "properties": { + "networkSiblingSetId": { + "$ref": "#/definitions/networkSiblingSetId" + }, + "subnetId": { + "$ref": "#/definitions/subnetId" + } + } + }, + "UpdateNetworkSiblingSetRequest": { + "title": "UpdateNetworkSiblingSetRequest", + "description": "Network sibling set update.", + "type": "object", + "required": [ + "networkSiblingSetId", + "subnetId", + "networkSiblingSetStateId", + "networkFeatures" + ], + "properties": { + "networkSiblingSetId": { + "$ref": "#/definitions/networkSiblingSetId" + }, + "subnetId": { + "$ref": "#/definitions/subnetId" + }, + "networkSiblingSetStateId": { + "$ref": "#/definitions/networkSiblingSetStateId" + }, + "networkFeatures": { + "$ref": "#/definitions/networkFeatures", + "description": "Network features available to the volume, some such" + } + } + }, + "networkFeatures": { + "title": "Network features", + "description": "Network features available to the volume, or current state of update.", + "type": "string", + "enum": [ + "Basic", + "Standard", + "Basic_Standard", + "Standard_Basic" + ], + "x-ms-enum": { + "name": "NetworkFeatures", + "modelAsString": true, + "values": [ + { + "value": "Basic", + "description": "Basic network features." + }, + { + "value": "Standard", + "description": "Standard network features." + }, + { + "value": "Basic_Standard", + "description": "Updating from Basic to Standard network features." + }, + { + "value": "Standard_Basic", + "description": "Updating from Standard to Basic network features." + } + ] + }, + "example": "Standard", + "default": "Basic" + }, + "networkSiblingSetProvisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the NetworkSiblingSet at the time the operation was called.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Updating" + ], + "x-ms-enum": { + "name": "NetworkSiblingSetProvisioningState", + "modelAsString": true + } + }, + "networkSiblingSetId": { + "title": "Network Sibling Set ID", + "description": "Network Sibling Set ID for a group of volumes sharing networking resources in a subnet.", + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "networkSiblingSetStateId": { + "title": "Network sibling set state Id", + "description": "Network sibling set state Id identifying the current state of the sibling set.", + "type": "string", + "example": "12345_44420.8001578125" + }, + "nicInfo": { + "title": "NIC information", + "description": "NIC information and list of volumes for which the NIC has the primary mount ip address.", + "type": "object", + "properties": { + "ipAddress": { + "$ref": "#/definitions/ipAddress" + }, + "volumeResourceIds": { + "$ref": "#/definitions/volumeResourceIds" + } + } + }, + "ipAddress": { + "title": "ipAddress", + "type": "string", + "readOnly": true, + "example": "1.2.3.4" + }, + "volumeResourceIds": { + "title": "Volume resource Ids", + "type": "array", + "items": { + "title": "Resource Id of volume", + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + ] + } + } + }, + "subnetId": { + "title": "Subnet resource Id", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet}", + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/virtualNetworks/subnets" + } + ] + } + }, + "snapshotRestoreFiles": { + "description": "Restore payload for Single File Snapshot Restore", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "filePaths" + ], + "properties": { + "filePaths": { + "description": "List of files to be restored", + "type": "array", + "minItems": 1, + "maxItems": 10, + "items": { + "type": "string", + "maxLength": 1024, + "minLength": 1 + }, + "example": [ + "/dir1/customer1.db", + "/dir1/customer2.db" + ] + }, + "destinationPath": { + "description": "Destination folder where the files will be restored", + "type": "string", + "example": "/AVSdataStore" + } + } + }, + "subvolumesList": { + "description": "List of Subvolumes", + "type": "object", + "properties": { + "value": { + "description": "A list of Subvolumes", + "type": "array", + "items": { + "$ref": "#/definitions/subvolumeInfo" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + } + }, + "subvolumeInfo": { + "description": "Subvolume Information properties", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Subvolume Properties", + "$ref": "#/definitions/subvolumeProperties", + "x-ms-client-flatten": true + } + } + }, + "subvolumePatchRequest": { + "description": "Subvolume Patch Request properties", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "description": "Subvolume Properties", + "$ref": "#/definitions/subvolumePatchParams", + "x-ms-client-flatten": true + } + } + }, + "subvolumePatchParams": { + "description": "Parameters with which a subvolume can be updated", + "type": "object", + "properties": { + "size": { + "title": "size", + "type": "integer", + "x-nullable": true, + "format": "int64", + "description": "Truncate subvolume to the provided size in bytes", + "example": 5 + }, + "path": { + "title": "path", + "type": "string", + "description": "path to the subvolume", + "example": "/pathToSubvolume" + } + } + }, + "subvolumeProperties": { + "description": "This represents path associated with the subvolume", + "type": "object", + "properties": { + "path": { + "title": "path", + "type": "string", + "description": "Path to the subvolume", + "example": "/subvolume1" + }, + "size": { + "title": "size", + "type": "integer", + "x-nullable": true, + "format": "int64", + "description": "Truncate subvolume to the provided size in bytes", + "example": 5 + }, + "parentPath": { + "title": "name", + "x-nullable": true, + "type": "string", + "description": "parent path to the subvolume", + "example": "/parentPath" + }, + "provisioningState": { + "type": "string", + "description": "Azure lifecycle management", + "readOnly": true, + "example": "Available" + } + } + }, + "subvolumeModel": { + "description": "Result of the post subvolume and action is to get metadata of the subvolume.", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "It represents the minimal properties of the subvolume.", + "$ref": "#/definitions/subvolumeModelProperties", + "x-ms-client-flatten": true + } + } + }, + "subvolumeModelProperties": { + "description": "Properties which represents actual subvolume model which is stored as a file in the system.", + "type": "object", + "properties": { + "path": { + "title": "path", + "type": "string", + "description": "Path to the subvolume", + "example": "/subvolume1" + }, + "parentPath": { + "title": "parentpath", + "type": "string", + "description": "Path to the parent subvolume", + "example": "/parentPath" + }, + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Size of subvolume", + "example": 5 + }, + "bytesUsed": { + "title": "bytesUsed", + "type": "integer", + "format": "int64", + "description": "Bytes used", + "example": 5 + }, + "permissions": { + "title": "permissions", + "type": "string", + "description": "Permissions of the subvolume", + "example": "777" + }, + "creationTimeStamp": { + "title": "creationTimeStamp", + "type": "string", + "format": "date-time", + "description": "Creation time and date", + "example": "2017-08-15T13:23:33Z" + }, + "accessedTimeStamp": { + "title": "accessedTimeStamp", + "type": "string", + "format": "date-time", + "description": "Most recent access time and date", + "example": "2017-08-15T13:23:33Z" + }, + "modifiedTimeStamp": { + "title": "modifiedTimeStamp", + "type": "string", + "format": "date-time", + "description": "Most recent modification time and date", + "example": "2017-08-15T13:23:33Z" + }, + "changedTimeStamp": { + "title": "changedTimeStamp", + "type": "string", + "format": "date-time", + "description": "Most recent change time and date", + "example": "2017-08-15T13:23:33Z" + }, + "provisioningState": { + "type": "string", + "description": "Azure lifecycle management", + "example": "Available" + } + } + }, + "netappProvisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the VolumeQuotaRule at the time the operation was called.", + "enum": [ + "Accepted", + "Creating", + "Patching", + "Deleting", + "Moving", + "Failed", + "Succeeded" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "coolAccessRetrievalPolicy": { + "type": "string", + "description": "coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are: \n Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n Never - No client-driven data is pulled from cool tier to standard storage.", + "enum": [ + "Default", + "OnRead", + "Never" + ], + "x-ms-enum": { + "name": "coolAccessRetrievalPolicy", + "modelAsString": true + } + }, + "smbAccessBasedEnumeration": { + "title": "smbAccessBasedEnumeration", + "type": "string", + "description": "Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "smbAccessBasedEnumeration", + "modelAsString": true, + "values": [ + { + "value": "Disabled", + "description": "smbAccessBasedEnumeration share setting is disabled" + }, + { + "value": "Enabled", + "description": "smbAccessBasedEnumeration share setting is enabled" + } + ] + }, + "x-nullable": true, + "example": "Enabled" + }, + "smbNonBrowsable": { + "title": "smbNonBrowsable", + "type": "string", + "description": "Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "smbNonBrowsable", + "modelAsString": true, + "values": [ + { + "value": "Disabled", + "description": "smbNonBrowsable share setting is disabled" + }, + { + "value": "Enabled", + "description": "smbNonBrowsable share setting is enabled" + } + ] + }, + "example": "Enabled" + } + }, + "parameters": { + "AccountName": { + "name": "accountName", + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,127}$", + "in": "path", + "required": true, + "description": "The name of the NetApp account", + "x-ms-parameter-location": "method" + }, + "PoolName": { + "name": "poolName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the capacity pool", + "x-ms-parameter-location": "method" + }, + "VolumeName": { + "name": "volumeName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the volume", + "x-ms-parameter-location": "method" + }, + "MountTargetName": { + "name": "mountTargetName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "SnapshotName": { + "name": "snapshotName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the snapshot", + "x-ms-parameter-location": "method" + }, + "SnapshotPolicyName": { + "name": "snapshotPolicyName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the snapshot policy", + "x-ms-parameter-location": "method" + }, + "BackupPolicyName": { + "name": "backupPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy.", + "x-ms-parameter-location": "method" + }, + "QuotaLimitName": { + "name": "quotaLimitName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the Quota Limit", + "x-ms-parameter-location": "method" + }, + "VolumeGroupName": { + "name": "volumeGroupName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the volumeGroup", + "x-ms-parameter-location": "method" + }, + "SubvolumeName": { + "name": "subvolumeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subvolume.", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "x-ms-parameter-location": "method" + }, + "VolumeQuotaRuleName": { + "name": "volumeQuotaRuleName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of volume quota rule", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/netapp/resource-manager/readme.go.md b/specification/netapp/resource-manager/readme.go.md index 59e20df0c80f..68cfb88137c4 100644 --- a/specification/netapp/resource-manager/readme.go.md +++ b/specification/netapp/resource-manager/readme.go.md @@ -21,6 +21,8 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-netapp-2023-07-01 + - tag: package-preview-2023-05 - tag: package-netapp-2023-05-01 - tag: package-netapp-2022-11-01-preview - tag: package-netapp-2022-11-01 @@ -40,8 +42,8 @@ batch: - tag: package-netapp-2020-08-01 - tag: package-netapp-2020-07-01 - tag: package-netapp-2020-06-01 - - tag: package-netapp-2020-05-01 - - tag: package-netapp-2020-03-01 + - tag: package-netapp-2020-05-01 + - tag: package-netapp-2020-03-01 - tag: package-netapp-2020-02-01 - tag: package-netapp-2019-11-01 - tag: package-netapp-2019-10-01 @@ -52,6 +54,24 @@ batch: - tag: package-2017-08-15 ``` +### Tag: package-netapp-2023-07-01 and go + +These settings apply only when `--tag=package-netapp-2023-07-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-netapp-2023-07-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2023-07-01/$(namespace) +``` + +### Tag: package-preview-2023-05 and go + +These settings apply only when `--tag=package-preview-2023-05 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-preview-2023-05' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2023-05-01-preview/$(namespace) +``` + ### Tag: package-netapp-2023-05-01 and go These settings apply only when `--tag=package-netapp-2023-05-01 --go` is specified on the command line. @@ -210,7 +230,7 @@ These settings apply only when `--tag=package-netapp-2020-07-01 --go` is specifi Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-netapp-2020-07-01' && $(go) -output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-07-01/$(namespace) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-07-01/$(namespace) ``` ### Tag: package-netapp-2020-06-01 and go @@ -219,7 +239,7 @@ These settings apply only when `--tag=package-netapp-2020-06-01 --go` is specifi Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-netapp-2020-06-01' && $(go) -output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace) ``` ### Tag: package-netapp-2020-05-01 and go diff --git a/specification/netapp/resource-manager/readme.java.md b/specification/netapp/resource-manager/readme.java.md index 214741f735e6..03a18d629f56 100644 --- a/specification/netapp/resource-manager/readme.java.md +++ b/specification/netapp/resource-manager/readme.java.md @@ -18,6 +18,8 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-netapp ``` yaml $(java) && $(multiapi) batch: + - tag: package-netapp-2023-07-01 + - tag: package-preview-2023-05 - tag: package-netapp-2023-05-01 - tag: package-netapp-2022-11-01-preview - tag: package-netapp-2022-11-01 @@ -33,12 +35,12 @@ batch: - tag: package-netapp-2021-02-01 - tag: package-netapp-2020-12-01 - tag: package-netapp-2020-11-01 - - tag: package-netapp-2020-09-01 + - tag: package-netapp-2020-09-01 - tag: package-netapp-2020-08-01 - tag: package-netapp-2020-07-01 - tag: package-netapp-2020-06-01 - - tag: package-netapp-2020-05-01 - - tag: package-netapp-2020-03-01 + - tag: package-netapp-2020-05-01 + - tag: package-netapp-2020-03-01 - tag: package-netapp-2020-02-01 - tag: package-netapp-2019-11-01 - tag: package-netapp-2019-10-01 @@ -49,6 +51,32 @@ batch: - tag: package-2017-08-15 ``` +### Tag: package-netapp-2023-07-01 and java + +These settings apply only when `--tag=package-netapp-2023-07-01 --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-netapp-2023-07-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.netapp.v2023_07_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2023_07_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-preview-2023-05 and java + +These settings apply only when `--tag=package-preview-2023-05 --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-preview-2023-05' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.netapp.v2023_05_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2023_05_01_preview +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-netapp-2023-05-01 and java These settings apply only when `--tag=package-netapp-2023-05-01 --java` is specified on the command line. diff --git a/specification/netapp/resource-manager/readme.md b/specification/netapp/resource-manager/readme.md index 43bf73f7726b..890ebffaef62 100644 --- a/specification/netapp/resource-manager/readme.md +++ b/specification/netapp/resource-manager/readme.md @@ -28,10 +28,19 @@ These are the global settings for the Azure NetApp Files API. title: NetAppManagementClient description: Microsoft NetApp Files Azure Resource Provider specification openapi-type: arm -tag: package-preview-2023-05 +tag: package-netapp-2023-07-01 ``` +### Tag: package-netapp-2023-07-01 + +These settings apply only when `--tag=package-netapp-2023-07-01` is specified on the command line. + +```yaml $(tag) == 'package-netapp-2023-07-01' +input-file: + - Microsoft.NetApp/stable/2023-07-01/netapp.json +``` + ### Tag: package-preview-2023-05 These settings apply only when `--tag=package-preview-2023-05` is specified on the command line. @@ -39,7 +48,9 @@ These settings apply only when `--tag=package-preview-2023-05` is specified on t ```yaml $(tag) == 'package-preview-2023-05' input-file: - Microsoft.NetApp/preview/2023-05-01-preview/netapp.json +tag: package-2023-07 ``` + ### Tag: package-netapp-2023-05-01 These settings apply only when `--tag=package-netapp-2023-05-01` is specified on the command line. @@ -317,7 +328,7 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-go - repo: azure-sdk-for-java - - repo: azure-sdk-for-trenton + - repo: azure-sdk-for-trenton - repo: azure-resource-manager-schemas - repo: azure-powershell ``` @@ -366,6 +377,6 @@ suppressions: from: netapp.json where: - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupVaults/{backupVaultName}/backups/{backupName}/restoreFiles"].post - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/migrateBackups"].post + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/migrateBackups"].post - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/migrateBackups"].post -``` +``` \ No newline at end of file diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/GetApplicationGatewayWafDynamicManifests.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/GetApplicationGatewayWafDynamicManifests.json index d43626f03a9e..4176196695d7 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/GetApplicationGatewayWafDynamicManifests.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/GetApplicationGatewayWafDynamicManifests.json @@ -1,7 +1,7 @@ { "parameters": { "location": "westus", - "api-version": "2021-05-01", + "api-version": "2023-05-01", "subscriptionId": "subid" }, "responses": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/GetApplicationGatewayWafDynamicManifestsDefault.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/GetApplicationGatewayWafDynamicManifestsDefault.json index 1cc8e34e1230..9dc64d11639f 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/GetApplicationGatewayWafDynamicManifestsDefault.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-05-01/examples/GetApplicationGatewayWafDynamicManifestsDefault.json @@ -1,7 +1,7 @@ { "parameters": { "location": "westus", - "api-version": "2021-05-01", + "api-version": "2023-05-01", "subscriptionId": "subid" }, "responses": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/applicationGateway.json new file mode 100644 index 000000000000..e535afd48d5f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/applicationGateway.json @@ -0,0 +1,4023 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}": { + "delete": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_Delete", + "x-ms-examples": { + "Delete ApplicationGateway": { + "$ref": "./examples/ApplicationGatewayDelete.json" + } + }, + "description": "Deletes the specified application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_Get", + "x-ms-examples": { + "Get ApplicationGateway": { + "$ref": "./examples/ApplicationGatewayGet.json" + } + }, + "description": "Gets the specified application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns an ApplicationGateway resource.", + "schema": { + "$ref": "#/definitions/ApplicationGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_CreateOrUpdate", + "description": "Creates or updates the specified application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationGateway" + }, + "description": "Parameters supplied to the create or update application gateway operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting ApplicationGateway resource.", + "schema": { + "$ref": "#/definitions/ApplicationGateway" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting ApplicationGateway resource.", + "schema": { + "$ref": "#/definitions/ApplicationGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Application Gateway": { + "$ref": "./examples/ApplicationGatewayCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_UpdateTags", + "x-ms-examples": { + "Update Application Gateway tags": { + "$ref": "./examples/ApplicationGatewayUpdateTags.json" + } + }, + "description": "Updates the specified application gateway tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update application gateway tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ApplicationGateway resource.", + "schema": { + "$ref": "#/definitions/ApplicationGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_List", + "x-ms-examples": { + "Lists all application gateways in a resource group": { + "$ref": "./examples/ApplicationGatewayList.json" + } + }, + "description": "Lists all application gateways in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of ApplicationGateway resources.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAll", + "x-ms-examples": { + "Lists all application gateways in a subscription": { + "$ref": "./examples/ApplicationGatewayListAll.json" + } + }, + "description": "Gets all the application gateways in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of ApplicationGateway resources.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start": { + "post": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_Start", + "x-ms-examples": { + "Start Application Gateway": { + "$ref": "./examples/ApplicationGatewayStart.json" + } + }, + "description": "Starts the specified application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation starts the ApplicationGateway resource." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop": { + "post": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_Stop", + "x-ms-examples": { + "Stop Application Gateway": { + "$ref": "./examples/ApplicationGatewayStop.json" + } + }, + "description": "Stops the specified application gateway in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation stops the ApplicationGateway resource." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth": { + "post": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_BackendHealth", + "description": "Gets the backend health of the specified application gateway in a resource group.", + "x-ms-examples": { + "Get Backend Health": { + "$ref": "./examples/ApplicationGatewayBackendHealthGet.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands BackendAddressPool and BackendHttpSettings referenced in backend health." + } + ], + "responses": { + "200": { + "description": "Request successful.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayBackendHealth" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/getBackendHealthOnDemand": { + "post": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_BackendHealthOnDemand", + "description": "Gets the backend health for given combination of backend pool and http setting of the specified application gateway in a resource group.", + "x-ms-examples": { + "Test Backend Health": { + "$ref": "./examples/ApplicationGatewayBackendHealthTest.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands BackendAddressPool and BackendHttpSettings referenced in backend health." + }, + { + "name": "probeRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationGatewayOnDemandProbe" + }, + "description": "Request body for on-demand test probe operation." + } + ], + "responses": { + "200": { + "description": "Request successful.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthOnDemand" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/privateLinkResources": { + "get": { + "tags": [ + "ApplicationGatewayPrivateLinkResources" + ], + "operationId": "ApplicationGatewayPrivateLinkResources_List", + "x-ms-examples": { + "Lists all private link resources on application gateway": { + "$ref": "./examples/ApplicationGatewayPrivateLinkResourceList.json" + } + }, + "description": "Lists all private link resources on an application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of private link resources on application gateway.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/privateEndpointConnections/{connectionName}": { + "delete": { + "tags": [ + "ApplicationGatewayPrivateEndpointConnections" + ], + "operationId": "ApplicationGatewayPrivateEndpointConnections_Delete", + "x-ms-examples": { + "Delete Application Gateway Private Endpoint Connection": { + "$ref": "./examples/ApplicationGatewayPrivateEndpointConnectionDelete.json" + } + }, + "description": "Deletes the specified private endpoint connection on application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway private endpoint connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "put": { + "tags": [ + "ApplicationGatewayPrivateEndpointConnections" + ], + "operationId": "ApplicationGatewayPrivateEndpointConnections_Update", + "description": "Updates the specified private endpoint connection on application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway private endpoint connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + }, + "description": "Parameters supplied to update application gateway private endpoint connection operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting private endpoint connection on application gateway.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Application Gateway Private Endpoint Connection": { + "$ref": "./examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "ApplicationGatewayPrivateEndpointConnections" + ], + "operationId": "ApplicationGatewayPrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection on application gateway.", + "x-ms-examples": { + "Get Application Gateway Private Endpoint Connection": { + "$ref": "./examples/ApplicationGatewayPrivateEndpointConnectionGet.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway private endpoint connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns an application gateway private endpoint connection.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/privateEndpointConnections": { + "get": { + "tags": [ + "ApplicationGatewayPrivateEndpointConnections" + ], + "operationId": "ApplicationGatewayPrivateEndpointConnections_List", + "x-ms-examples": { + "Lists all private endpoint connections on application gateway": { + "$ref": "./examples/ApplicationGatewayPrivateEndpointConnectionList.json" + } + }, + "description": "Lists all private endpoint connections on an application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of private endpoint connections on application gateway.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableServerVariables": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAvailableServerVariables", + "x-ms-examples": { + "Get Available Server Variables": { + "$ref": "./examples/ApplicationGatewayAvailableServerVariablesGet.json" + } + }, + "description": "Lists all available server variables.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all available server variables.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayAvailableServerVariablesResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableRequestHeaders": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAvailableRequestHeaders", + "x-ms-examples": { + "Get Available Request Headers": { + "$ref": "./examples/ApplicationGatewayAvailableRequestHeadersGet.json" + } + }, + "description": "Lists all available request headers.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all available request headers.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayAvailableRequestHeadersResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableResponseHeaders": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAvailableResponseHeaders", + "x-ms-examples": { + "Get Available Response Headers": { + "$ref": "./examples/ApplicationGatewayAvailableResponseHeadersGet.json" + } + }, + "description": "Lists all available response headers.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all available response headers.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayAvailableResponseHeadersResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAvailableWafRuleSets", + "x-ms-examples": { + "Get Available Waf Rule Sets": { + "$ref": "./examples/ApplicationGatewayAvailableWafRuleSetsGet.json" + } + }, + "description": "Lists all available web application firewall rule sets.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all available web application firewall rule sets.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayAvailableWafRuleSetsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAvailableSslOptions", + "x-ms-examples": { + "Get Available Ssl Options": { + "$ref": "./examples/ApplicationGatewayAvailableSslOptionsGet.json" + } + }, + "description": "Lists available Ssl options for configuring Ssl policy.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns all available Ssl options for configuring Ssl policy.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayAvailableSslOptions" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAvailableSslPredefinedPolicies", + "x-ms-examples": { + "Get Available Ssl Predefined Policies": { + "$ref": "./examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "description": "Lists all SSL predefined policies for configuring Ssl policy.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a lists of all Ssl predefined policies for configuring Ssl policy.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayAvailableSslPredefinedPolicies" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_GetSslPredefinedPolicy", + "x-ms-examples": { + "Get Available Ssl Predefined Policy by name": { + "$ref": "./examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json" + } + }, + "description": "Gets Ssl predefined policy with the specified policy name.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "predefinedPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of Ssl predefined policy." + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a Ssl predefined policy with the specified policy name.", + "schema": { + "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ApplicationGatewayOnDemandProbe": { + "properties": { + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "The protocol used for the probe." + }, + "host": { + "type": "string", + "description": "Host name to send the probe to." + }, + "path": { + "type": "string", + "description": "Relative path of probe. Valid path starts from '/'. Probe is sent to ://:." + }, + "timeout": { + "type": "integer", + "format": "int32", + "description": "The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds." + }, + "pickHostNameFromBackendHttpSettings": { + "type": "boolean", + "description": "Whether the host header should be picked from the backend http settings. Default value is false." + }, + "match": { + "$ref": "#/definitions/ApplicationGatewayProbeHealthResponseMatch", + "description": "Criterion for classifying a healthy probe response." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to backend pool of application gateway to which probe request will be sent." + }, + "backendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to backend http setting of application gateway to be used for test probe." + } + }, + "description": "Details of on demand test probe request." + }, + "ApplicationGatewayBackendHealthOnDemand": { + "properties": { + "backendAddressPool": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool", + "description": "Reference to an ApplicationGatewayBackendAddressPool resource." + }, + "backendHealthHttpSettings": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthHttpSettings", + "description": "Application gateway BackendHealthHttp settings." + } + }, + "description": "Result of on demand test probe." + }, + "ApplicationGatewayBackendHealth": { + "properties": { + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthPool" + }, + "description": "A list of ApplicationGatewayBackendHealthPool resources." + } + }, + "description": "Response for ApplicationGatewayBackendHealth API service call." + }, + "ApplicationGatewayBackendHealthPool": { + "properties": { + "backendAddressPool": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool", + "description": "Reference to an ApplicationGatewayBackendAddressPool resource." + }, + "backendHttpSettingsCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthHttpSettings" + }, + "description": "List of ApplicationGatewayBackendHealthHttpSettings resources." + } + }, + "description": "Application gateway BackendHealth pool." + }, + "ApplicationGatewayBackendHealthHttpSettings": { + "properties": { + "backendHttpSettings": { + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings", + "description": "Reference to an ApplicationGatewayBackendHttpSettings resource." + }, + "servers": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthServer" + }, + "description": "List of ApplicationGatewayBackendHealthServer resources." + } + }, + "description": "Application gateway BackendHealthHttp settings." + }, + "ApplicationGatewayBackendHealthServer": { + "properties": { + "address": { + "type": "string", + "description": "IP address or FQDN of backend server." + }, + "ipConfiguration": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration", + "description": "Reference to IP configuration of backend server." + }, + "health": { + "type": "string", + "description": "Health of backend server.", + "enum": [ + "Unknown", + "Up", + "Down", + "Partial", + "Draining" + ], + "x-ms-enum": { + "name": "ApplicationGatewayBackendHealthServerHealth", + "modelAsString": true + } + }, + "healthProbeLog": { + "type": "string", + "description": "Health Probe Log." + } + }, + "description": "Application gateway backendhealth http settings." + }, + "ApplicationGatewaySku": { + "properties": { + "name": { + "type": "string", + "description": "Name of an application gateway SKU.", + "enum": [ + "Standard_Small", + "Standard_Medium", + "Standard_Large", + "WAF_Medium", + "WAF_Large", + "Standard_v2", + "WAF_v2", + "Basic" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of an application gateway.", + "enum": [ + "Standard", + "WAF", + "Standard_v2", + "WAF_v2", + "Basic" + ], + "x-ms-enum": { + "name": "ApplicationGatewayTier", + "modelAsString": true + } + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "Capacity (instance count) of an application gateway." + } + }, + "description": "SKU of an application gateway." + }, + "ApplicationGatewaySslPolicy": { + "properties": { + "disabledSslProtocols": { + "type": "array", + "description": "Ssl protocols to be disabled on application gateway.", + "items": { + "type": "string", + "$ref": "#/definitions/ProtocolsEnum" + } + }, + "policyType": { + "type": "string", + "description": "Type of Ssl Policy.", + "enum": [ + "Predefined", + "Custom", + "CustomV2" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslPolicyType", + "modelAsString": true + } + }, + "policyName": { + "$ref": "#/definitions/PolicyNameEnum", + "description": "Name of Ssl predefined policy." + }, + "cipherSuites": { + "type": "array", + "items": { + "$ref": "#/definitions/CipherSuitesEnum" + }, + "description": "Ssl cipher suites to be enabled in the specified order to application gateway." + }, + "minProtocolVersion": { + "$ref": "#/definitions/ProtocolsEnum", + "description": "Minimum version of Ssl protocol to be supported on application gateway." + } + }, + "description": "Application Gateway Ssl policy." + }, + "ApplicationGatewayClientAuthConfiguration": { + "properties": { + "verifyClientCertIssuerDN": { + "type": "boolean", + "description": "Verify client certificate issuer name on the application gateway." + }, + "verifyClientRevocation": { + "type": "string", + "description": "Verify client certificate revocation status.", + "enum": [ + "None", + "OCSP" + ], + "x-ms-enum": { + "name": "ApplicationGatewayClientRevocationOptions", + "modelAsString": true + } + } + }, + "description": "Application gateway client authentication configuration." + }, + "ApplicationGatewayIPConfigurationPropertiesFormat": { + "properties": { + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the subnet resource. A subnet from where application gateway gets its private address." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway IP configuration resource." + } + }, + "description": "Properties of IP configuration of an application gateway." + }, + "ApplicationGatewayIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayIPConfigurationPropertiesFormat", + "description": "Properties of the application gateway IP configuration." + }, + "name": { + "type": "string", + "description": "Name of the IP configuration that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed." + }, + "ApplicationGatewayAuthenticationCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the authentication certificate resource." + } + }, + "description": "Authentication certificates properties of an application gateway." + }, + "ApplicationGatewayAuthenticationCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificatePropertiesFormat", + "description": "Properties of the application gateway authentication certificate." + }, + "name": { + "type": "string", + "description": "Name of the authentication certificate that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Authentication certificates of an application gateway." + }, + "ApplicationGatewayTrustedRootCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + }, + "keyVaultSecretId": { + "type": "string", + "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the trusted root certificate resource." + } + }, + "description": "Trusted Root certificates properties of an application gateway." + }, + "ApplicationGatewayTrustedRootCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificatePropertiesFormat", + "description": "Properties of the application gateway trusted root certificate." + }, + "name": { + "type": "string", + "description": "Name of the trusted root certificate that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Trusted Root certificates of an application gateway." + }, + "ApplicationGatewayTrustedClientCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + }, + "validatedCertData": { + "readOnly": true, + "type": "string", + "description": "Validated certificate data." + }, + "clientCertIssuerDN": { + "readOnly": true, + "type": "string", + "description": "Distinguished name of client certificate issuer." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the trusted client certificate resource." + } + }, + "description": "Trusted client certificates properties of an application gateway." + }, + "ApplicationGatewayTrustedClientCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayTrustedClientCertificatePropertiesFormat", + "description": "Properties of the application gateway trusted client certificate." + }, + "name": { + "type": "string", + "description": "Name of the trusted client certificate that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Trusted client certificates of an application gateway." + }, + "ApplicationGatewaySslCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Base-64 encoded pfx certificate. Only applicable in PUT Request." + }, + "password": { + "type": "string", + "description": "Password for the pfx file specified in data. Only applicable in PUT request." + }, + "publicCertData": { + "readOnly": true, + "type": "string", + "description": "Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request." + }, + "keyVaultSecretId": { + "type": "string", + "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the SSL certificate resource." + } + }, + "description": "Properties of SSL certificates of an application gateway." + }, + "ApplicationGatewaySslCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewaySslCertificatePropertiesFormat", + "description": "Properties of the application gateway SSL certificate." + }, + "name": { + "type": "string", + "description": "Name of the SSL certificate that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "SSL certificates of an application gateway." + }, + "ApplicationGatewayFrontendIPConfigurationPropertiesFormat": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "PrivateIPAddress of the network interface IP Configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the PublicIP resource." + }, + "privateLinkConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the application gateway private link configuration." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the frontend IP configuration resource." + } + }, + "description": "Properties of Frontend IP configuration of an application gateway." + }, + "ApplicationGatewayFrontendIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayFrontendIPConfigurationPropertiesFormat", + "description": "Properties of the application gateway frontend IP configuration." + }, + "name": { + "type": "string", + "description": "Name of the frontend IP configuration that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Frontend IP configuration of an application gateway." + }, + "ApplicationGatewayFrontendPortPropertiesFormat": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "Frontend port." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the frontend port resource." + } + }, + "description": "Properties of Frontend port of an application gateway." + }, + "ApplicationGatewayFrontendPort": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayFrontendPortPropertiesFormat", + "description": "Properties of the application gateway frontend port." + }, + "name": { + "type": "string", + "description": "Name of the frontend port that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Frontend port of an application gateway." + }, + "ApplicationGatewayBackendAddress": { + "properties": { + "fqdn": { + "type": "string", + "description": "Fully qualified domain name (FQDN)." + }, + "ipAddress": { + "type": "string", + "description": "IP address." + } + }, + "description": "Backend address of an application gateway." + }, + "ApplicationGatewayBackendAddressPoolPropertiesFormat": { + "properties": { + "backendIPConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "Collection of references to IPs defined in network interfaces." + }, + "backendAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendAddress" + }, + "description": "Backend addresses." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the backend address pool resource." + } + }, + "description": "Properties of Backend Address Pool of an application gateway." + }, + "ApplicationGatewayBackendAddressPool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayBackendAddressPoolPropertiesFormat", + "description": "Properties of the application gateway backend address pool." + }, + "name": { + "type": "string", + "description": "Name of the backend address pool that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Backend Address Pool of an application gateway." + }, + "ApplicationGatewayBackendHttpSettingsPropertiesFormat": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "The destination port on the backend." + }, + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "The protocol used to communicate with the backend." + }, + "cookieBasedAffinity": { + "type": "string", + "description": "Cookie based affinity.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ApplicationGatewayCookieBasedAffinity", + "modelAsString": true + } + }, + "requestTimeout": { + "type": "integer", + "format": "int32", + "description": "Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds." + }, + "probe": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Probe resource of an application gateway." + }, + "authenticationCertificates": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of references to application gateway authentication certificates." + }, + "trustedRootCertificates": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of references to application gateway trusted root certificates." + }, + "connectionDraining": { + "$ref": "#/definitions/ApplicationGatewayConnectionDraining", + "description": "Connection draining of the backend http settings resource." + }, + "hostName": { + "type": "string", + "description": "Host header to be sent to the backend servers." + }, + "pickHostNameFromBackendAddress": { + "type": "boolean", + "description": "Whether to pick host header should be picked from the host name of the backend server. Default value is false." + }, + "affinityCookieName": { + "type": "string", + "description": "Cookie name to use for the affinity cookie." + }, + "probeEnabled": { + "type": "boolean", + "description": "Whether the probe is enabled. Default value is false." + }, + "path": { + "type": "string", + "description": "Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the backend HTTP settings resource." + } + }, + "description": "Properties of Backend address pool settings of an application gateway." + }, + "ApplicationGatewayBackendHttpSettings": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettingsPropertiesFormat", + "description": "Properties of the application gateway backend HTTP settings." + }, + "name": { + "type": "string", + "description": "Name of the backend http settings that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Backend address pool settings of an application gateway." + }, + "ApplicationGatewayBackendSettingsPropertiesFormat": { + "type": "object", + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "The destination port on the backend." + }, + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "The protocol used to communicate with the backend." + }, + "timeout": { + "type": "integer", + "format": "int32", + "description": "Connection timeout in seconds. Application Gateway will fail the request if response is not received within ConnectionTimeout. Acceptable values are from 1 second to 86400 seconds." + }, + "probe": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Probe resource of an application gateway." + }, + "trustedRootCertificates": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of references to application gateway trusted root certificates." + }, + "hostName": { + "type": "string", + "description": "Server name indication to be sent to the backend servers for Tls protocol." + }, + "pickHostNameFromBackendAddress": { + "type": "boolean", + "description": "Whether to pick server name indication from the host name of the backend server for Tls protocol. Default value is false." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the backend HTTP settings resource." + } + }, + "description": "Properties of Backend address pool settings of an application gateway." + }, + "ApplicationGatewayBackendSettings": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayBackendSettingsPropertiesFormat", + "description": "Properties of the application gateway backend settings." + }, + "name": { + "type": "string", + "description": "Name of the backend settings that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Backend address pool settings of an application gateway." + }, + "ApplicationGatewaySslProfilePropertiesFormat": { + "properties": { + "trustedClientCertificates": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of references to application gateway trusted client certificates." + }, + "sslPolicy": { + "$ref": "#/definitions/ApplicationGatewaySslPolicy", + "description": "SSL policy of the application gateway resource." + }, + "clientAuthConfiguration": { + "$ref": "#/definitions/ApplicationGatewayClientAuthConfiguration", + "description": "Client authentication configuration of the application gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the HTTP listener resource." + } + }, + "description": "Properties of SSL profile of an application gateway." + }, + "ApplicationGatewaySslProfile": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewaySslProfilePropertiesFormat", + "description": "Properties of the application gateway SSL profile." + }, + "name": { + "type": "string", + "description": "Name of the SSL profile that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "SSL profile of an application gateway." + }, + "ApplicationGatewayHttpListenerPropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend IP configuration resource of an application gateway." + }, + "frontendPort": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend port resource of an application gateway." + }, + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "Protocol of the HTTP listener." + }, + "hostName": { + "type": "string", + "description": "Host name of HTTP listener." + }, + "sslCertificate": { + "$ref": "./network.json#/definitions/SubResource", + "description": "SSL certificate resource of an application gateway." + }, + "sslProfile": { + "$ref": "./network.json#/definitions/SubResource", + "description": "SSL profile resource of the application gateway." + }, + "requireServerNameIndication": { + "type": "boolean", + "description": "Applicable only if protocol is https. Enables SNI for multi-hosting." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the HTTP listener resource." + }, + "customErrorConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayCustomError" + }, + "description": "Custom error configurations of the HTTP listener." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the FirewallPolicy resource." + }, + "hostNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Host names for HTTP Listener that allows special wildcard characters as well." + } + }, + "description": "Properties of HTTP listener of an application gateway." + }, + "ApplicationGatewayHttpListener": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat", + "description": "Properties of the application gateway HTTP listener." + }, + "name": { + "type": "string", + "description": "Name of the HTTP listener that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Http listener of an application gateway." + }, + "ApplicationGatewayListenerPropertiesFormat": { + "type": "object", + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend IP configuration resource of an application gateway." + }, + "frontendPort": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend port resource of an application gateway." + }, + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "Protocol of the listener." + }, + "sslCertificate": { + "$ref": "./network.json#/definitions/SubResource", + "description": "SSL certificate resource of an application gateway." + }, + "sslProfile": { + "$ref": "./network.json#/definitions/SubResource", + "description": "SSL profile resource of the application gateway." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the listener resource." + }, + "hostNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Server Name Indications(SNI) for TLS Multi-site Listener that allows special wildcard characters as well." + } + }, + "description": "Properties of listener of an application gateway." + }, + "ApplicationGatewayListener": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayListenerPropertiesFormat", + "description": "Properties of the application gateway listener." + }, + "name": { + "type": "string", + "description": "Name of the listener that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Listener of an application gateway." + }, + "ApplicationGatewayPathRulePropertiesFormat": { + "properties": { + "paths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Path rules of URL path map." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of URL path map path rule." + }, + "backendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend http settings resource of URL path map path rule." + }, + "redirectConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Redirect configuration resource of URL path map path rule." + }, + "rewriteRuleSet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Rewrite rule set resource of URL path map path rule." + }, + "loadDistributionPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Load Distribution Policy resource of URL path map path rule." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the path rule resource." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the FirewallPolicy resource." + } + }, + "description": "Properties of path rule of an application gateway." + }, + "ApplicationGatewayPathRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPathRulePropertiesFormat", + "description": "Properties of the application gateway path rule." + }, + "name": { + "type": "string", + "description": "Name of the path rule that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Path rule of URL path map of an application gateway." + }, + "ApplicationGatewayProbePropertiesFormat": { + "properties": { + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "The protocol used for the probe." + }, + "host": { + "type": "string", + "description": "Host name to send the probe to." + }, + "path": { + "type": "string", + "description": "Relative path of probe. Valid path starts from '/'. Probe is sent to ://:." + }, + "interval": { + "type": "integer", + "format": "int32", + "description": "The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds." + }, + "timeout": { + "type": "integer", + "format": "int32", + "description": "The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds." + }, + "unhealthyThreshold": { + "type": "integer", + "format": "int32", + "description": "The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20." + }, + "pickHostNameFromBackendHttpSettings": { + "type": "boolean", + "description": "Whether the host header should be picked from the backend http settings. Default value is false." + }, + "pickHostNameFromBackendSettings": { + "type": "boolean", + "description": "Whether the server name indication should be picked from the backend settings for Tls protocol. Default value is false." + }, + "minServers": { + "type": "integer", + "format": "int32", + "description": "Minimum number of servers that are always marked healthy. Default value is 0." + }, + "match": { + "$ref": "#/definitions/ApplicationGatewayProbeHealthResponseMatch", + "description": "Criterion for classifying a healthy probe response." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the probe resource." + }, + "port": { + "type": "integer", + "format": "int32", + "description": "Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Basic, Standard_v2 and WAF_v2 only.", + "minimum": 1, + "maximum": 65535 + } + }, + "description": "Properties of probe of an application gateway." + }, + "ApplicationGatewayProbeHealthResponseMatch": { + "properties": { + "body": { + "type": "string", + "description": "Body that must be contained in the health response. Default value is empty." + }, + "statusCodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399." + } + }, + "description": "Application gateway probe health response match." + }, + "ApplicationGatewayProbe": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayProbePropertiesFormat", + "description": "Properties of the application gateway probe." + }, + "name": { + "type": "string", + "description": "Name of the probe that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Probe of the application gateway." + }, + "ApplicationGatewayRequestRoutingRulePropertiesFormat": { + "properties": { + "ruleType": { + "type": "string", + "description": "Rule type.", + "enum": [ + "Basic", + "PathBasedRouting" + ], + "x-ms-enum": { + "name": "ApplicationGatewayRequestRoutingRuleType", + "modelAsString": true + } + }, + "priority": { + "type": "integer", + "format": "int32", + "minimum": 1, + "exclusiveMinimum": false, + "maximum": 20000, + "exclusiveMaximum": false, + "description": "Priority of the request routing rule." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of the application gateway." + }, + "backendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend http settings resource of the application gateway." + }, + "httpListener": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Http listener resource of the application gateway." + }, + "urlPathMap": { + "$ref": "./network.json#/definitions/SubResource", + "description": "URL path map resource of the application gateway." + }, + "rewriteRuleSet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Rewrite Rule Set resource in Basic rule of the application gateway." + }, + "redirectConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Redirect configuration resource of the application gateway." + }, + "loadDistributionPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Load Distribution Policy resource of the application gateway." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the request routing rule resource." + } + }, + "description": "Properties of request routing rule of the application gateway." + }, + "ApplicationGatewayRequestRoutingRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRequestRoutingRulePropertiesFormat", + "description": "Properties of the application gateway request routing rule." + }, + "name": { + "type": "string", + "description": "Name of the request routing rule that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Request routing rule of an application gateway." + }, + "ApplicationGatewayRoutingRulePropertiesFormat": { + "type": "object", + "properties": { + "ruleType": { + "type": "string", + "description": "Rule type.", + "enum": [ + "Basic", + "PathBasedRouting" + ], + "x-ms-enum": { + "name": "ApplicationGatewayRequestRoutingRuleType", + "modelAsString": true + } + }, + "priority": { + "type": "integer", + "format": "int32", + "minimum": 1, + "exclusiveMinimum": false, + "maximum": 20000, + "exclusiveMaximum": false, + "description": "Priority of the routing rule." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of the application gateway." + }, + "backendSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend settings resource of the application gateway." + }, + "listener": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Listener resource of the application gateway." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the request routing rule resource." + } + }, + "required": [ + "priority" + ], + "description": "Properties of routing rule of the application gateway." + }, + "ApplicationGatewayRoutingRule": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRoutingRulePropertiesFormat", + "description": "Properties of the application gateway routing rule." + }, + "name": { + "type": "string", + "description": "Name of the routing rule that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Routing rule of an application gateway." + }, + "ApplicationGatewayRewriteRuleSet": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRewriteRuleSetPropertiesFormat", + "description": "Properties of the application gateway rewrite rule set." + }, + "name": { + "type": "string", + "description": "Name of the rewrite rule set that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Rewrite rule set of an application gateway." + }, + "ApplicationGatewayRewriteRuleSetPropertiesFormat": { + "properties": { + "rewriteRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRewriteRule" + }, + "description": "Rewrite rules in the rewrite rule set." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the rewrite rule set resource." + } + }, + "description": "Properties of rewrite rule set of the application gateway." + }, + "ApplicationGatewayRewriteRule": { + "properties": { + "name": { + "type": "string", + "description": "Name of the rewrite rule that is unique within an Application Gateway." + }, + "ruleSequence": { + "type": "integer", + "description": "Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRewriteRuleCondition" + }, + "description": "Conditions based on which the action set execution will be evaluated." + }, + "actionSet": { + "type": "object", + "$ref": "#/definitions/ApplicationGatewayRewriteRuleActionSet", + "description": "Set of actions to be done as part of the rewrite Rule." + } + }, + "description": "Rewrite rule of an application gateway." + }, + "ApplicationGatewayRewriteRuleCondition": { + "properties": { + "variable": { + "type": "string", + "description": "The condition parameter of the RewriteRuleCondition." + }, + "pattern": { + "type": "string", + "description": "The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition." + }, + "ignoreCase": { + "type": "boolean", + "description": "Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison." + }, + "negate": { + "type": "boolean", + "description": "Setting this value as truth will force to check the negation of the condition given by the user." + } + }, + "description": "Set of conditions in the Rewrite Rule in Application Gateway." + }, + "ApplicationGatewayRewriteRuleActionSet": { + "properties": { + "requestHeaderConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration" + }, + "description": "Request Header Actions in the Action Set." + }, + "responseHeaderConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration" + }, + "description": "Response Header Actions in the Action Set." + }, + "urlConfiguration": { + "$ref": "#/definitions/ApplicationGatewayUrlConfiguration", + "description": "Url Configuration Action in the Action Set." + } + }, + "description": "Set of actions in the Rewrite Rule in Application Gateway." + }, + "ApplicationGatewayHeaderConfiguration": { + "properties": { + "headerName": { + "type": "string", + "description": "Header name of the header configuration." + }, + "headerValue": { + "type": "string", + "description": "Header value of the header configuration." + } + }, + "description": "Header configuration of the Actions set in Application Gateway." + }, + "ApplicationGatewayUrlConfiguration": { + "properties": { + "modifiedPath": { + "type": "string", + "description": "Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null." + }, + "modifiedQueryString": { + "type": "string", + "description": "Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null." + }, + "reroute": { + "type": "boolean", + "description": "If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path. Default value is false." + } + }, + "description": "Url configuration of the Actions set in Application Gateway." + }, + "ApplicationGatewayRedirectConfigurationPropertiesFormat": { + "properties": { + "redirectType": { + "type": "string", + "$ref": "#/definitions/RedirectTypeEnum", + "description": "HTTP redirection type." + }, + "targetListener": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to a listener to redirect the request to." + }, + "targetUrl": { + "type": "string", + "description": "Url to redirect the request to." + }, + "includePath": { + "type": "boolean", + "description": "Include path in the redirected url." + }, + "includeQueryString": { + "type": "boolean", + "description": "Include query string in the redirected url." + }, + "requestRoutingRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Request routing specifying redirect configuration." + }, + "urlPathMaps": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Url path maps specifying default redirect configuration." + }, + "pathRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Path rules specifying redirect configuration." + } + }, + "description": "Properties of redirect configuration of the application gateway." + }, + "ApplicationGatewayRedirectConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRedirectConfigurationPropertiesFormat", + "description": "Properties of the application gateway redirect configuration." + }, + "name": { + "type": "string", + "description": "Name of the redirect configuration that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Redirect configuration of an application gateway." + }, + "ApplicationGatewayPrivateLinkConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateLinkConfigurationProperties", + "description": "Properties of the application gateway private link configuration." + }, + "name": { + "type": "string", + "description": "Name of the private link configuration that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Private Link Configuration on an application gateway." + }, + "ApplicationGatewayPrivateLinkConfigurationProperties": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkIpConfiguration" + }, + "description": "An array of application gateway private link ip configurations." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway private link configuration." + } + }, + "description": "Properties of private link configuration on an application gateway." + }, + "ApplicationGatewayPrivateLinkIpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateLinkIpConfigurationProperties", + "description": "Properties of an application gateway private link ip configuration." + }, + "name": { + "type": "string", + "description": "The name of application gateway private link ip configuration." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "The application gateway private link ip configuration." + }, + "ApplicationGatewayPrivateLinkIpConfigurationProperties": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the subnet resource." + }, + "primary": { + "type": "boolean", + "description": "Whether the ip configuration is primary or not." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway private link IP configuration." + } + }, + "description": "Properties of an application gateway private link IP configuration." + }, + "ApplicationGatewayPrivateLinkResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateLinkResourceProperties", + "description": "Properties of the application gateway private link resource." + }, + "name": { + "type": "string", + "description": "Name of the private link resource that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "PrivateLink Resource of an application gateway." + }, + "ApplicationGatewayPrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "Group identifier of private link resource.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "Required member names of private link resource.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required DNS zone names of the the private link resource." + } + }, + "description": "Properties of a private link resource." + }, + "ApplicationGatewayPrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkResource" + }, + "description": "List of private link resources of an application gateway." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListApplicationGatewayPrivateLinkResources API service call. Gets all private link resources for an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnectionProperties", + "description": "Properties of the application gateway private endpoint connection." + }, + "name": { + "type": "string", + "description": "Name of the private endpoint connection on an application gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Private Endpoint connection on an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "readOnly": true, + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "./privateLinkService.json#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway private endpoint connection resource." + }, + "linkIdentifier": { + "readOnly": true, + "type": "string", + "description": "The consumer link id." + } + }, + "description": "Properties of Private Link Resource of an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + }, + "description": "List of private endpoint connections on an application gateway." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListApplicationGatewayPrivateEndpointConnection API service call. Gets all private endpoint connections for an application gateway." + }, + "ApplicationGatewayPropertiesFormat": { + "properties": { + "sku": { + "$ref": "#/definitions/ApplicationGatewaySku", + "description": "SKU of the application gateway resource." + }, + "sslPolicy": { + "$ref": "#/definitions/ApplicationGatewaySslPolicy", + "description": "SSL policy of the application gateway resource." + }, + "operationalState": { + "readOnly": true, + "type": "string", + "description": "Operational state of the application gateway resource.", + "enum": [ + "Stopped", + "Starting", + "Running", + "Stopping" + ], + "x-ms-enum": { + "name": "ApplicationGatewayOperationalState", + "modelAsString": true + } + }, + "gatewayIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayIPConfiguration" + }, + "description": "Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "authenticationCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificate" + }, + "description": "Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "trustedRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificate" + }, + "description": "Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "trustedClientCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayTrustedClientCertificate" + }, + "description": "Trusted client certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "sslCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslCertificate" + }, + "description": "SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFrontendIPConfiguration" + }, + "description": "Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "frontendPorts": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFrontendPort" + }, + "description": "Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "probes": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayProbe" + }, + "description": "Probes of the application gateway resource." + }, + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool" + }, + "description": "Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "backendHttpSettingsCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings" + }, + "description": "Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "backendSettingsCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendSettings" + }, + "description": "Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "httpListeners": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHttpListener" + }, + "description": "Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayListener" + }, + "description": "Listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "sslProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslProfile" + }, + "description": "SSL profiles of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "urlPathMaps": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayUrlPathMap" + }, + "description": "URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "requestRoutingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRequestRoutingRule" + }, + "description": "Request routing rules of the application gateway resource." + }, + "routingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRoutingRule" + }, + "description": "Routing rules of the application gateway resource." + }, + "rewriteRuleSets": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRewriteRuleSet" + }, + "description": "Rewrite rules for the application gateway resource." + }, + "redirectConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRedirectConfiguration" + }, + "description": "Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "webApplicationFirewallConfiguration": { + "$ref": "#/definitions/ApplicationGatewayWebApplicationFirewallConfiguration", + "description": "Web application firewall configuration." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the FirewallPolicy resource." + }, + "enableHttp2": { + "type": "boolean", + "description": "Whether HTTP2 is enabled on the application gateway resource." + }, + "enableFips": { + "type": "boolean", + "description": "Whether FIPS is enabled on the application gateway resource." + }, + "autoscaleConfiguration": { + "$ref": "#/definitions/ApplicationGatewayAutoscaleConfiguration", + "description": "Autoscale Configuration." + }, + "privateLinkConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkConfiguration" + }, + "description": "PrivateLink configurations on application gateway." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + }, + "description": "Private Endpoint connections on application gateway." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the application gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway resource." + }, + "customErrorConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayCustomError" + }, + "description": "Custom error configurations of the application gateway resource." + }, + "forceFirewallPolicyAssociation": { + "type": "boolean", + "description": "If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config." + }, + "loadDistributionPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionPolicy" + }, + "description": "Load distribution policies of the application gateway resource." + }, + "globalConfiguration": { + "$ref": "#/definitions/ApplicationGatewayGlobalConfiguration", + "description": "Global Configuration." + }, + "defaultPredefinedSslPolicy": { + "$ref": "#/definitions/PolicyNameEnum", + "readOnly": true, + "description": "The default predefined SSL Policy applied on the application gateway resource." + } + }, + "description": "Properties of the application gateway." + }, + "ApplicationGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPropertiesFormat", + "description": "Properties of the application gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The identity of the application gateway, if configured." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Application gateway resource." + }, + "ApplicationGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGateway" + }, + "description": "List of an application gateways in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListApplicationGateways API service call." + }, + "ApplicationGatewayUrlPathMapPropertiesFormat": { + "properties": { + "defaultBackendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default backend address pool resource of URL path map." + }, + "defaultBackendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default backend http settings resource of URL path map." + }, + "defaultRewriteRuleSet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default Rewrite rule set resource of URL path map." + }, + "defaultRedirectConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default redirect configuration resource of URL path map." + }, + "defaultLoadDistributionPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default Load Distribution Policy resource of URL path map." + }, + "pathRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPathRule" + }, + "description": "Path rule of URL path map resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the URL path map resource." + } + }, + "description": "Properties of UrlPathMap of the application gateway." + }, + "ApplicationGatewayUrlPathMap": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayUrlPathMapPropertiesFormat", + "description": "Properties of the application gateway URL path map." + }, + "name": { + "type": "string", + "description": "Name of the URL path map that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "UrlPathMaps give a url path to the backend mapping information for PathBasedRouting." + }, + "ApplicationGatewayWebApplicationFirewallConfiguration": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the web application firewall is enabled or not." + }, + "firewallMode": { + "type": "string", + "description": "Web application firewall mode.", + "enum": [ + "Detection", + "Prevention" + ], + "x-ms-enum": { + "name": "ApplicationGatewayFirewallMode", + "modelAsString": true + } + }, + "ruleSetType": { + "type": "string", + "description": "The type of the web application firewall rule set. Possible values are: 'OWASP'." + }, + "ruleSetVersion": { + "type": "string", + "description": "The version of the rule set type." + }, + "disabledRuleGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallDisabledRuleGroup" + }, + "description": "The disabled rule groups." + }, + "requestBodyCheck": { + "type": "boolean", + "description": "Whether allow WAF to check request Body." + }, + "maxRequestBodySize": { + "type": "integer", + "format": "int32", + "maximum": 128, + "exclusiveMaximum": false, + "minimum": 8, + "exclusiveMinimum": false, + "description": "Maximum request body size for WAF." + }, + "maxRequestBodySizeInKb": { + "type": "integer", + "format": "int32", + "maximum": 128, + "exclusiveMaximum": false, + "minimum": 8, + "exclusiveMinimum": false, + "description": "Maximum request body size in Kb for WAF." + }, + "fileUploadLimitInMb": { + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false, + "description": "Maximum file upload size in Mb for WAF." + }, + "exclusions": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallExclusion" + }, + "description": "The exclusion list." + } + }, + "required": [ + "enabled", + "firewallMode", + "ruleSetType", + "ruleSetVersion" + ], + "description": "Application gateway web application firewall configuration." + }, + "ApplicationGatewayAutoscaleConfiguration": { + "properties": { + "minCapacity": { + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false, + "description": "Lower bound on number of Application Gateway capacity." + }, + "maxCapacity": { + "type": "integer", + "format": "int32", + "minimum": 2, + "exclusiveMinimum": false, + "description": "Upper bound on number of Application Gateway capacity." + } + }, + "required": [ + "minCapacity" + ], + "description": "Application Gateway autoscale configuration." + }, + "ApplicationGatewayConnectionDraining": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether connection draining is enabled or not." + }, + "drainTimeoutInSec": { + "type": "integer", + "format": "int32", + "maximum": 3600, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false, + "description": "The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds." + } + }, + "required": [ + "enabled", + "drainTimeoutInSec" + ], + "description": "Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration." + }, + "ApplicationGatewayFirewallDisabledRuleGroup": { + "properties": { + "ruleGroupName": { + "type": "string", + "description": "The name of the rule group that will be disabled." + }, + "rules": { + "type": "array", + "items": { + "type": "integer", + "format": "int32", + "x-nullable": false + }, + "description": "The list of rules that will be disabled. If null, all rules of the rule group will be disabled." + } + }, + "required": [ + "ruleGroupName" + ], + "description": "Allows to disable rules within a rule group or an entire rule group." + }, + "ApplicationGatewayAvailableServerVariablesResult": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Response for ApplicationGatewayAvailableServerVariables API service call." + }, + "ApplicationGatewayAvailableRequestHeadersResult": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Response for ApplicationGatewayAvailableRequestHeaders API service call." + }, + "ApplicationGatewayAvailableResponseHeadersResult": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Response for ApplicationGatewayAvailableResponseHeaders API service call." + }, + "ApplicationGatewayFirewallExclusion": { + "properties": { + "matchVariable": { + "type": "string", + "description": "The variable to be excluded." + }, + "selectorMatchOperator": { + "type": "string", + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to." + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." + } + }, + "required": [ + "matchVariable", + "selectorMatchOperator", + "selector" + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check." + }, + "ApplicationGatewayAvailableWafRuleSetsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallRuleSet" + }, + "description": "The list of application gateway rule sets." + } + }, + "description": "Response for ApplicationGatewayAvailableWafRuleSets API service call." + }, + "ApplicationGatewayFirewallRuleSet": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayFirewallRuleSetPropertiesFormat", + "description": "Properties of the application gateway firewall rule set." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "A web application firewall rule set." + }, + "ApplicationGatewayFirewallRuleSetPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the web application firewall rule set." + }, + "ruleSetType": { + "type": "string", + "description": "The type of the web application firewall rule set." + }, + "ruleSetVersion": { + "type": "string", + "description": "The version of the web application firewall rule set type." + }, + "ruleGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallRuleGroup" + }, + "description": "The rule groups of the web application firewall rule set." + }, + "tiers": { + "type": "array", + "description": "Tier of an application gateway that support the rule set.", + "items": { + "type": "string", + "enum": [ + "Standard", + "WAF", + "Standard_v2", + "WAF_v2" + ], + "x-ms-enum": { + "name": "ApplicationGatewayTierTypes", + "modelAsString": true + } + } + } + }, + "required": [ + "ruleSetType", + "ruleSetVersion", + "ruleGroups" + ], + "description": "Properties of the web application firewall rule set." + }, + "ApplicationGatewayFirewallRuleGroup": { + "properties": { + "ruleGroupName": { + "type": "string", + "description": "The name of the web application firewall rule group." + }, + "description": { + "type": "string", + "description": "The description of the web application firewall rule group." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallRule" + }, + "description": "The rules of the web application firewall rule group." + } + }, + "required": [ + "ruleGroupName", + "rules" + ], + "description": "A web application firewall rule group." + }, + "ApplicationGatewayFirewallRule": { + "properties": { + "ruleId": { + "type": "integer", + "format": "int32", + "description": "The identifier of the web application firewall rule." + }, + "ruleIdString": { + "type": "string", + "description": "The string representation of the web application firewall rule identifier." + }, + "state": { + "type": "string", + "description": "The string representation of the web application firewall rule state.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ApplicationGatewayWafRuleStateTypes", + "modelAsString": true + } + }, + "action": { + "type": "string", + "description": "The string representation of the web application firewall rule action.", + "enum": [ + "None", + "AnomalyScoring", + "Allow", + "Block", + "Log" + ], + "x-ms-enum": { + "name": "ApplicationGatewayWafRuleActionTypes", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The description of the web application firewall rule." + } + }, + "required": [ + "ruleId" + ], + "description": "A web application firewall rule." + }, + "ApplicationGatewayAvailableSslOptions": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayAvailableSslOptionsPropertiesFormat", + "description": "Properties of the application gateway available SSL options." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Response for ApplicationGatewayAvailableSslOptions API service call." + }, + "ApplicationGatewayAvailableSslOptionsPropertiesFormat": { + "properties": { + "predefinedPolicies": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of available Ssl predefined policy." + }, + "defaultPolicy": { + "$ref": "#/definitions/PolicyNameEnum", + "description": "Name of the Ssl predefined policy applied by default to application gateway." + }, + "availableCipherSuites": { + "type": "array", + "items": { + "$ref": "#/definitions/CipherSuitesEnum" + }, + "description": "List of available Ssl cipher suites." + }, + "availableProtocols": { + "type": "array", + "items": { + "$ref": "#/definitions/ProtocolsEnum" + }, + "description": "List of available Ssl protocols." + } + }, + "description": "Properties of ApplicationGatewayAvailableSslOptions." + }, + "ApplicationGatewayAvailableSslPredefinedPolicies": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicy" + }, + "description": "List of available Ssl predefined policy." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ApplicationGatewayAvailableSslOptions API service call." + }, + "ApplicationGatewaySslPredefinedPolicy": { + "properties": { + "name": { + "type": "string", + "description": "Name of the Ssl predefined policy." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicyPropertiesFormat", + "description": "Properties of the application gateway SSL predefined policy." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "An Ssl predefined policy." + }, + "ApplicationGatewaySslPredefinedPolicyPropertiesFormat": { + "properties": { + "cipherSuites": { + "type": "array", + "items": { + "$ref": "#/definitions/CipherSuitesEnum" + }, + "description": "Ssl cipher suites to be enabled in the specified order for application gateway." + }, + "minProtocolVersion": { + "$ref": "#/definitions/ProtocolsEnum", + "description": "Minimum version of Ssl protocol to be supported on application gateway." + } + }, + "description": "Properties of ApplicationGatewaySslPredefinedPolicy." + }, + "ApplicationGatewayCustomError": { + "properties": { + "statusCode": { + "type": "string", + "description": "Status code of the application gateway custom error.", + "enum": [ + "HttpStatus400", + "HttpStatus403", + "HttpStatus404", + "HttpStatus405", + "HttpStatus408", + "HttpStatus500", + "HttpStatus502", + "HttpStatus503", + "HttpStatus504" + ], + "x-ms-enum": { + "name": "ApplicationGatewayCustomErrorStatusCode", + "modelAsString": true + } + }, + "customErrorPageUrl": { + "type": "string", + "description": "Error page URL of the application gateway custom error." + } + }, + "description": "Custom error of an application gateway." + }, + "PolicyNameEnum": { + "type": "string", + "description": "Ssl predefined policy name enums.", + "enum": [ + "AppGwSslPolicy20150501", + "AppGwSslPolicy20170401", + "AppGwSslPolicy20170401S", + "AppGwSslPolicy20220101", + "AppGwSslPolicy20220101S" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslPolicyName", + "modelAsString": true + } + }, + "ProtocolsEnum": { + "type": "string", + "description": "Ssl protocol enums.", + "enum": [ + "TLSv1_0", + "TLSv1_1", + "TLSv1_2", + "TLSv1_3" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslProtocol", + "modelAsString": true + } + }, + "CipherSuitesEnum": { + "type": "string", + "description": "Ssl cipher suites enums.", + "enum": [ + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "TLS_RSA_WITH_AES_128_GCM_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA256", + "TLS_RSA_WITH_AES_128_CBC_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslCipherSuite", + "modelAsString": true + } + }, + "RedirectTypeEnum": { + "type": "string", + "description": "Redirect type enum.", + "enum": [ + "Permanent", + "Found", + "SeeOther", + "Temporary" + ], + "x-ms-enum": { + "name": "ApplicationGatewayRedirectType", + "modelAsString": true + } + }, + "ApplicationGatewayProtocol": { + "type": "string", + "description": "Application Gateway protocol.", + "enum": [ + "Http", + "Https", + "Tcp", + "Tls" + ], + "x-ms-enum": { + "name": "ApplicationGatewayProtocol", + "modelAsString": true, + "values": [ + { + "value": "Http", + "description": "Supported for httpListeners and backendHttpSettingsCollection properties." + }, + { + "value": "Https", + "description": "Supported for httpListeners and backendHttpSettingsCollection properties." + }, + { + "value": "Tcp", + "description": "Supported for listeners and backendSettingsCollection properties." + }, + { + "value": "Tls", + "description": "Supported for listeners and backendSettingsCollection properties." + } + ] + } + }, + "ApplicationGatewayLoadDistributionPolicyPropertiesFormat": { + "properties": { + "loadDistributionTargets": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionTarget" + }, + "description": "Load Distribution Targets resource of an application gateway." + }, + "loadDistributionAlgorithm": { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionAlgorithmEnum", + "description": "Load Distribution Targets resource of an application gateway." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the Load Distribution Policy resource." + } + }, + "description": "Properties of Load Distribution Policy of an application gateway." + }, + "ApplicationGatewayLoadDistributionPolicy": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayLoadDistributionPolicyPropertiesFormat", + "description": "Properties of the application gateway load distribution policy." + }, + "name": { + "type": "string", + "description": "Name of the load distribution policy that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Load Distribution Policy of an application gateway." + }, + "ApplicationGatewayLoadDistributionTargetPropertiesFormat": { + "properties": { + "weightPerServer": { + "type": "integer", + "format": "int32", + "maximum": 100, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false, + "description": "Weight per server. Range between 1 and 100." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of the application gateway." + } + } + }, + "ApplicationGatewayLoadDistributionTarget": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayLoadDistributionTargetPropertiesFormat", + "description": "Properties of the application gateway load distribution target." + }, + "name": { + "type": "string", + "description": "Name of the load distribution policy that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Load Distribution Target of an application gateway." + }, + "ApplicationGatewayLoadDistributionAlgorithmEnum": { + "type": "string", + "description": "Load Distribution Algorithm enums.", + "enum": [ + "RoundRobin", + "LeastConnections", + "IpHash" + ], + "x-ms-enum": { + "name": "ApplicationGatewayLoadDistributionAlgorithm", + "modelAsString": true + } + }, + "ApplicationGatewayGlobalConfiguration": { + "properties": { + "enableRequestBuffering": { + "type": "boolean", + "description": "Enable request buffering." + }, + "enableResponseBuffering": { + "type": "boolean", + "description": "Enable response buffering." + } + }, + "description": "Application Gateway global configuration." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/applicationGatewayWafDynamicManifests.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/applicationGatewayWafDynamicManifests.json new file mode 100644 index 000000000000..3bf74e025623 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/applicationGatewayWafDynamicManifests.json @@ -0,0 +1,257 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/applicationGatewayWafDynamicManifests/dafault": { + "get": { + "operationId": "ApplicationGatewayWafDynamicManifestsDefault_Get", + "description": "Gets the regional application gateway waf manifest.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The region where the nrp are located at." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the regional application gateway waf manifest", + "schema": { + "$ref": "#/definitions/ApplicationGatewayWafDynamicManifestResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets WAF default manifest": { + "$ref": "./examples/GetApplicationGatewayWafDynamicManifestsDefault.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/applicationGatewayWafDynamicManifests": { + "get": { + "operationId": "ApplicationGatewayWafDynamicManifests_Get", + "description": "Gets the regional application gateway waf manifest.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The region where the nrp are located at." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the regional application gateway waf manifest", + "schema": { + "$ref": "#/definitions/ApplicationGatewayWafDynamicManifestResultList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets WAF manifests": { + "$ref": "./examples/GetApplicationGatewayWafDynamicManifests.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ApplicationGatewayWafDynamicManifestResultList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayWafDynamicManifestResult" + }, + "description": "The list of application gateway waf manifest." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "type": "object", + "description": "Response for ApplicationGatewayWafDynamicManifests API service call." + }, + "ApplicationGatewayWafDynamicManifestResult": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayWafDynamicManifestPropertiesResult", + "description": "Properties of the ApplicationGatewayWafDynamicManifest ." + } + }, + "type": "object", + "description": "Response for ApplicationGatewayWafDynamicManifest API service call." + }, + "ApplicationGatewayWafDynamicManifestPropertiesResult": { + "description": "Properties of ApplicationGatewayWafDynamicManifest.", + "type": "object", + "properties": { + "defaultRuleSet": { + "description": "The default ruleset.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DefaultRuleSetPropertyFormat" + }, + "availableRuleSets": { + "description": "The available rulesets.", + "x-ms-client-flatten": true, + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallManifestRuleSet" + }, + "x-ms-identifiers": [] + } + } + }, + "DefaultRuleSetPropertyFormat": { + "description": "the default web application firewall rule set.", + "type": "object", + "properties": { + "ruleSetType": { + "description": "The type of the web application firewall rule set.", + "type": "string" + }, + "ruleSetVersion": { + "description": "The version of the web application firewall rule set type.", + "type": "string" + } + } + }, + "ApplicationGatewayFirewallManifestRuleSet": { + "description": "Properties of the web application firewall rule set.", + "type": "object", + "properties": { + "ruleSetType": { + "type": "string", + "description": "The type of the web application firewall rule set." + }, + "ruleSetVersion": { + "type": "string", + "description": "The version of the web application firewall rule set type." + }, + "status": { + "type": "string", + "description": "The rule set status", + "enum": [ + "Preview", + "GA", + "Supported", + "Deprecated" + ], + "x-ms-enum": { + "name": "ApplicationGatewayRuleSetStatusOptions", + "modelAsString": true + } + }, + "tiers": { + "type": "array", + "description": "Tier of an application gateway that support the rule set.", + "items": { + "type": "string", + "enum": [ + "Standard", + "WAF", + "Standard_v2", + "WAF_v2" + ], + "x-ms-enum": { + "name": "ApplicationGatewayTierTypes", + "modelAsString": true + } + } + }, + "ruleGroups": { + "type": "array", + "items": { + "$ref": "applicationGateway.json#/definitions/ApplicationGatewayFirewallRuleGroup" + }, + "description": "The rule groups of the web application firewall rule set.", + "x-ms-identifiers": [] + } + }, + "required": [ + "ruleSetType", + "ruleSetVersion", + "ruleGroups" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/applicationSecurityGroup.json new file mode 100644 index 000000000000..26a77e2d4615 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/applicationSecurityGroup.json @@ -0,0 +1,406 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}": { + "delete": { + "tags": [ + "ApplicationSecurityGroups" + ], + "operationId": "ApplicationSecurityGroups_Delete", + "description": "Deletes the specified application security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application security group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete application security group": { + "$ref": "./examples/ApplicationSecurityGroupDelete.json" + } + } + }, + "get": { + "tags": [ + "ApplicationSecurityGroups" + ], + "operationId": "ApplicationSecurityGroups_Get", + "description": "Gets information about the specified application security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application security group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the specified application security group resource.", + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get application security group": { + "$ref": "./examples/ApplicationSecurityGroupGet.json" + } + } + }, + "put": { + "tags": [ + "ApplicationSecurityGroups" + ], + "operationId": "ApplicationSecurityGroups_CreateOrUpdate", + "description": "Creates or updates an application security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application security group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroup" + }, + "description": "Parameters supplied to the create or update ApplicationSecurityGroup operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting application security group resource.", + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroup" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting application security group resource.", + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create application security group": { + "$ref": "./examples/ApplicationSecurityGroupCreate.json" + } + } + }, + "patch": { + "tags": [ + "applicationSecurityGroups" + ], + "operationId": "ApplicationSecurityGroups_UpdateTags", + "description": "Updates an application security group's tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application security group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update application security group tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ApplicationSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update application security group tags": { + "$ref": "./examples/ApplicationSecurityGroupUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups": { + "get": { + "tags": [ + "ApplicationSecurityGroups" + ], + "operationId": "ApplicationSecurityGroups_ListAll", + "description": "Gets all application security groups in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of application security group resources.", + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all application security groups": { + "$ref": "./examples/ApplicationSecurityGroupListAll.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups": { + "get": { + "tags": [ + "ApplicationSecurityGroups" + ], + "operationId": "ApplicationSecurityGroups_List", + "description": "Gets all the application security groups in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of application security group resources.", + "schema": { + "$ref": "#/definitions/ApplicationSecurityGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List load balancers in resource group": { + "$ref": "./examples/ApplicationSecurityGroupList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ApplicationSecurityGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationSecurityGroupPropertiesFormat", + "description": "Properties of the application security group." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "An application security group in a resource group." + }, + "ApplicationSecurityGroupPropertiesFormat": { + "properties": { + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the application security group resource. It uniquely identifies a resource, even if the user changes its name or migrate the resource across subscriptions or resource groups." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application security group resource." + } + }, + "description": "Application security group properties." + }, + "ApplicationSecurityGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationSecurityGroup" + }, + "description": "A list of application security groups." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "A list of application security groups." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/availableDelegations.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/availableDelegations.json new file mode 100644 index 000000000000..41d18c0bf89b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/availableDelegations.json @@ -0,0 +1,178 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableDelegations": { + "get": { + "operationId": "AvailableDelegations_List", + "description": "Gets all of the available subnet delegations for this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the possible delegations for a subnet in this subscription in the region.", + "schema": { + "$ref": "#/definitions/AvailableDelegationsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available delegations": { + "$ref": "./examples/AvailableDelegationsSubscriptionGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableDelegations": { + "get": { + "operationId": "AvailableResourceGroupDelegations_List", + "description": "Gets all of the available subnet delegations for this resource group in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the possible delegations for a subnet in this subscription in the region.", + "schema": { + "$ref": "#/definitions/AvailableDelegationsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available delegations in the resource group": { + "$ref": "./examples/AvailableDelegationsResourceGroupGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AvailableDelegationsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailableDelegation" + }, + "description": "An array of available delegations." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "An array of available delegations." + }, + "AvailableDelegation": { + "properties": { + "name": { + "type": "string", + "description": "The name of the AvailableDelegation resource." + }, + "id": { + "type": "string", + "description": "A unique identifier of the AvailableDelegation resource." + }, + "type": { + "type": "string", + "description": "Resource type." + }, + "serviceName": { + "type": "string", + "description": "The name of the service and resource." + }, + "actions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The actions permitted to the service upon delegation." + } + }, + "description": "The serviceName of an AvailableDelegation indicates a possible delegation for a subnet." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/availableServiceAliases.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/availableServiceAliases.json new file mode 100644 index 000000000000..4807f0d43897 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/availableServiceAliases.json @@ -0,0 +1,171 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableServiceAliases": { + "get": { + "operationId": "AvailableServiceAliases_List", + "description": "Gets all available service aliases for this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all available service aliases for the subscription in the region.", + "schema": { + "$ref": "#/definitions/AvailableServiceAliasesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available service aliases": { + "$ref": "./examples/AvailableServiceAliasesList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableServiceAliases": { + "get": { + "operationId": "AvailableServiceAliases_ListByResourceGroup", + "description": "Gets all available service aliases for this resource group in this region.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all available service aliases for the resource group in the region.", + "schema": { + "$ref": "#/definitions/AvailableServiceAliasesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available service aliases in the resource group": { + "$ref": "./examples/AvailableServiceAliasesListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AvailableServiceAlias": { + "properties": { + "name": { + "type": "string", + "description": "The name of the service alias." + }, + "id": { + "type": "string", + "description": "The ID of the service alias." + }, + "type": { + "type": "string", + "description": "The type of the resource." + }, + "resourceName": { + "type": "string", + "description": "The resource name of the service alias." + } + }, + "description": "The available service alias." + }, + "AvailableServiceAliasesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailableServiceAlias" + }, + "description": "An array of available service aliases." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "An array of available service aliases." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/azureFirewall.json new file mode 100644 index 000000000000..25f2896cbaf9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/azureFirewall.json @@ -0,0 +1,1342 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}": { + "delete": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_Delete", + "description": "Deletes the specified Azure Firewall.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "azureFirewallName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Firewall." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Azure Firewall": { + "$ref": "./examples/AzureFirewallDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_Get", + "description": "Gets the specified Azure Firewall.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "azureFirewallName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Firewall." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns an AzureFirewall resource.", + "schema": { + "$ref": "#/definitions/AzureFirewall" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Azure Firewall": { + "$ref": "./examples/AzureFirewallGet.json" + }, + "Get Azure Firewall With Zones": { + "$ref": "./examples/AzureFirewallGetWithZones.json" + }, + "Get Azure Firewall With management subnet": { + "$ref": "./examples/AzureFirewallGetWithMgmtSubnet.json" + }, + "Get Azure Firewall With Additional Properties": { + "$ref": "./examples/AzureFirewallGetWithAdditionalProperties.json" + }, + "Get Azure Firewall With IpGroups": { + "$ref": "./examples/AzureFirewallGetWithIpGroups.json" + } + } + }, + "put": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_CreateOrUpdate", + "description": "Creates or updates the specified Azure Firewall.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "azureFirewallName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 56, + "description": "The name of the Azure Firewall." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AzureFirewall" + }, + "description": "Parameters supplied to the create or update Azure Firewall operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting AzureFirewall resource.", + "schema": { + "$ref": "#/definitions/AzureFirewall" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting AzureFirewall resource.", + "schema": { + "$ref": "#/definitions/AzureFirewall" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Azure Firewall": { + "$ref": "./examples/AzureFirewallPut.json" + }, + "Create Azure Firewall With Zones": { + "$ref": "./examples/AzureFirewallPutWithZones.json" + }, + "Create Azure Firewall With management subnet": { + "$ref": "./examples/AzureFirewallPutWithMgmtSubnet.json" + }, + "Create Azure Firewall in virtual Hub": { + "$ref": "./examples/AzureFirewallPutInHub.json" + }, + "Create Azure Firewall With Additional Properties": { + "$ref": "./examples/AzureFirewallPutWithAdditionalProperties.json" + }, + "Create Azure Firewall With IpGroups": { + "$ref": "./examples/AzureFirewallPutWithIpGroups.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_UpdateTags", + "description": "Updates tags of an Azure Firewall resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "azureFirewallName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Firewall." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update azure firewall tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Update successful. The operation returns the resulting AzureFirewall resource.", + "schema": { + "$ref": "#/definitions/AzureFirewall" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Azure Firewall Tags": { + "$ref": "./examples/AzureFirewallUpdateTags.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls": { + "get": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_List", + "description": "Lists all Azure Firewalls in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of AzureFirewall resources.", + "schema": { + "$ref": "#/definitions/AzureFirewallListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Azure Firewalls for a given resource group": { + "$ref": "./examples/AzureFirewallListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls": { + "get": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_ListAll", + "description": "Gets all the Azure Firewalls in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of AzureFirewall resources.", + "schema": { + "$ref": "#/definitions/AzureFirewallListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Azure Firewalls for a given subscription": { + "$ref": "./examples/AzureFirewallListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}/learnedIPPrefixes": { + "post": { + "operationId": "AzureFirewalls_ListLearnedPrefixes", + "description": "Retrieves a list of all IP prefixes that azure firewall has learned to not SNAT.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "azureFirewallName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the azure firewall." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of learnt SNAT IP prefixes for no SNAT.", + "schema": { + "$ref": "#/definitions/IPPrefixesList" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AzureFirewallListLearnedPrefixes": { + "$ref": "./examples/AzureFirewallListLearnedIPPrefixes.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}/packetCapture": { + "post": { + "tags": [ + "AzureFirewalls" + ], + "operationId": "AzureFirewalls_PacketCapture", + "description": "Runs a packet capture on AzureFirewall.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "azureFirewallName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 56, + "pattern": "^[a-zA-Z0-9]", + "description": "The name of the Azure Firewall." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallPacketCaptureParameters" + }, + "description": "Parameters supplied to run packet capture on azure firewall." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AzureFirewallPacketCapture": { + "$ref": "./examples/AzureFirewallPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "AzureFirewallIPConfigurationPropertiesFormat": { + "properties": { + "privateIPAddress": { + "type": "string", + "readOnly": true, + "description": "The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the PublicIP resource. This field is a mandatory input if subnet is not null." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the Azure firewall IP configuration resource." + } + }, + "description": "Properties of IP configuration of an Azure Firewall." + }, + "AzureFirewallIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureFirewallIPConfigurationPropertiesFormat", + "description": "Properties of the azure firewall IP configuration." + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration of an Azure Firewall." + }, + "AzureFirewallPublicIPAddress": { + "properties": { + "address": { + "type": "string", + "description": "Public IP Address value." + } + }, + "description": "Public IP Address associated with azure firewall." + }, + "AzureFirewallIpGroups": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource ID." + }, + "changeNumber": { + "type": "string", + "readOnly": true, + "description": "The iteration number." + } + }, + "description": "IpGroups associated with azure firewall." + }, + "HubPublicIPAddresses": { + "properties": { + "addresses": { + "type": "array", + "description": "The list of Public IP addresses associated with azure firewall or IP addresses to be retained.", + "items": { + "$ref": "#/definitions/AzureFirewallPublicIPAddress" + } + }, + "count": { + "type": "integer", + "format": "int32", + "description": "The number of Public IP addresses associated with azure firewall." + } + }, + "description": "Public IP addresses associated with azure firewall." + }, + "HubIPAddresses": { + "properties": { + "publicIPs": { + "description": "Public IP addresses associated with azure firewall.", + "$ref": "#/definitions/HubPublicIPAddresses" + }, + "privateIPAddress": { + "type": "string", + "description": "Private IP Address associated with azure firewall." + } + }, + "description": "IP addresses associated with azure firewall." + }, + "IpGroups": { + "type": "array", + "description": "List of IpGroups associated with azure firewall.", + "items": { + "$ref": "#/definitions/AzureFirewallIpGroups" + } + }, + "AzureFirewallPropertiesFormat": { + "properties": { + "applicationRuleCollections": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallApplicationRuleCollection" + }, + "description": "Collection of application rule collections used by Azure Firewall." + }, + "natRuleCollections": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNatRuleCollection" + }, + "description": "Collection of NAT rule collections used by Azure Firewall." + }, + "networkRuleCollections": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNetworkRuleCollection" + }, + "description": "Collection of network rule collections used by Azure Firewall." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallIPConfiguration" + }, + "description": "IP configuration of the Azure Firewall resource." + }, + "managementIpConfiguration": { + "$ref": "#/definitions/AzureFirewallIPConfiguration", + "description": "IP configuration of the Azure Firewall used for management traffic." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the Azure firewall resource." + }, + "threatIntelMode": { + "description": "The operation mode for Threat Intelligence.", + "$ref": "#/definitions/AzureFirewallThreatIntelMode" + }, + "virtualHub": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The virtualHub to which the firewall belongs." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The firewallPolicy associated with this azure firewall." + }, + "hubIPAddresses": { + "description": "IP addresses associated with AzureFirewall.", + "$ref": "#/definitions/HubIPAddresses" + }, + "ipGroups": { + "readOnly": true, + "description": "IpGroups associated with AzureFirewall.", + "$ref": "#/definitions/IpGroups" + }, + "sku": { + "description": "The Azure Firewall Resource SKU.", + "$ref": "#/definitions/AzureFirewallSku" + }, + "additionalProperties": { + "$ref": "#/definitions/AzureFirewallAdditionalProperties", + "description": "The additional properties used to further config this azure firewall." + } + }, + "description": "Properties of the Azure Firewall." + }, + "AzureFirewall": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureFirewallPropertiesFormat", + "description": "Properties of the azure firewall." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Azure Firewall resource." + }, + "AzureFirewallListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewall" + }, + "description": "List of Azure Firewalls in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListAzureFirewalls API service call." + }, + "AzureFirewallThreatIntelMode": { + "type": "string", + "description": "The operation mode for Threat Intel.", + "enum": [ + "Alert", + "Deny", + "Off" + ], + "x-ms-enum": { + "name": "AzureFirewallThreatIntelMode", + "modelAsString": true + } + }, + "AzureFirewallAdditionalProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The additional properties of azure firewall." + }, + "AzureFirewallApplicationRuleCollectionPropertiesFormat": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the application rule collection resource." + }, + "action": { + "$ref": "#/definitions/AzureFirewallRCAction", + "description": "The action type of a rule collection." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallApplicationRule" + }, + "description": "Collection of rules used by a application rule collection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application rule collection resource." + } + }, + "description": "Properties of the application rule collection." + }, + "AzureFirewallApplicationRuleCollection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureFirewallApplicationRuleCollectionPropertiesFormat", + "description": "Properties of the azure firewall application rule collection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Application rule collection resource." + }, + "AzureFirewallApplicationRuleProtocol": { + "properties": { + "protocolType": { + "description": "Protocol type.", + "$ref": "#/definitions/AzureFirewallApplicationRuleProtocolType" + }, + "port": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Port number for the protocol, cannot be greater than 64000. This field is optional." + } + }, + "description": "Properties of the application rule protocol." + }, + "AzureFirewallApplicationRule": { + "properties": { + "name": { + "type": "string", + "description": "Name of the application rule." + }, + "description": { + "type": "string", + "description": "Description of the rule." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallApplicationRuleProtocol" + }, + "description": "Array of ApplicationRuleProtocols." + }, + "targetFqdns": { + "type": "array", + "description": "List of FQDNs for this rule.", + "items": { + "type": "string" + } + }, + "fqdnTags": { + "type": "array", + "description": "List of FQDN Tags for this rule.", + "items": { + "type": "string" + } + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + } + }, + "description": "Properties of an application rule." + }, + "AzureFirewallNatRuleCollectionProperties": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the NAT rule collection resource." + }, + "action": { + "$ref": "#/definitions/AzureFirewallNatRCAction", + "description": "The action type of a NAT rule collection." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNatRule" + }, + "description": "Collection of rules used by a NAT rule collection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the NAT rule collection resource." + } + }, + "description": "Properties of the NAT rule collection." + }, + "AzureFirewallNatRuleCollection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureFirewallNatRuleCollectionProperties", + "description": "Properties of the azure firewall NAT rule collection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "NAT rule collection resource." + }, + "AzureFirewallNatRule": { + "properties": { + "name": { + "type": "string", + "description": "Name of the NAT rule." + }, + "description": { + "type": "string", + "description": "Description of the rule." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports.", + "items": { + "type": "string" + } + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNetworkRuleProtocol" + }, + "description": "Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule." + }, + "translatedAddress": { + "type": "string", + "description": "The translated address for this NAT rule." + }, + "translatedPort": { + "type": "string", + "description": "The translated port for this NAT rule." + }, + "translatedFqdn": { + "type": "string", + "description": "The translated FQDN for this NAT rule." + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + } + }, + "description": "Properties of a NAT rule." + }, + "AzureFirewallNatRCAction": { + "properties": { + "type": { + "description": "The type of action.", + "$ref": "#/definitions/AzureFirewallNatRCActionType" + } + }, + "description": "AzureFirewall NAT Rule Collection Action." + }, + "AzureFirewallNatRCActionType": { + "type": "string", + "description": "The action type of a NAT rule collection.", + "enum": [ + "Snat", + "Dnat" + ], + "x-ms-enum": { + "name": "AzureFirewallNatRCActionType", + "modelAsString": true + } + }, + "AzureFirewallNetworkRuleCollectionPropertiesFormat": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the network rule collection resource." + }, + "action": { + "$ref": "#/definitions/AzureFirewallRCAction", + "description": "The action type of a rule collection." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNetworkRule" + }, + "description": "Collection of rules used by a network rule collection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network rule collection resource." + } + }, + "description": "Properties of the network rule collection." + }, + "AzureFirewallNetworkRuleCollection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureFirewallNetworkRuleCollectionPropertiesFormat", + "description": "Properties of the azure firewall network rule collection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the Azure firewall. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Network rule collection resource." + }, + "AzureFirewallNetworkRule": { + "properties": { + "name": { + "type": "string", + "description": "Name of the network rule." + }, + "description": { + "type": "string", + "description": "Description of the rule." + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallNetworkRuleProtocol" + }, + "description": "Array of AzureFirewallNetworkRuleProtocols." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports.", + "items": { + "type": "string" + } + }, + "destinationFqdns": { + "type": "array", + "description": "List of destination FQDNs.", + "items": { + "type": "string" + } + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "destinationIpGroups": { + "type": "array", + "description": "List of destination IpGroups for this rule.", + "items": { + "type": "string" + } + } + }, + "description": "Properties of the network rule." + }, + "AzureFirewallRCAction": { + "properties": { + "type": { + "description": "The type of action.", + "$ref": "#/definitions/AzureFirewallRCActionType" + } + }, + "description": "Properties of the AzureFirewallRCAction." + }, + "AzureFirewallRCActionType": { + "type": "string", + "description": "The action type of a rule collection.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "AzureFirewallRCActionType", + "modelAsString": true + } + }, + "AzureFirewallNetworkRuleProtocol": { + "type": "string", + "description": "The protocol of a Network Rule resource.", + "enum": [ + "TCP", + "UDP", + "Any", + "ICMP" + ], + "x-ms-enum": { + "name": "AzureFirewallNetworkRuleProtocol", + "modelAsString": true + } + }, + "AzureFirewallApplicationRuleProtocolType": { + "type": "string", + "description": "The protocol type of a Application Rule resource.", + "enum": [ + "Http", + "Https", + "Mssql" + ], + "x-ms-enum": { + "name": "AzureFirewallApplicationRuleProtocolType", + "modelAsString": true + } + }, + "AzureFirewallSku": { + "properties": { + "name": { + "type": "string", + "description": "Name of an Azure Firewall SKU.", + "enum": [ + "AZFW_VNet", + "AZFW_Hub" + ], + "x-ms-enum": { + "name": "AzureFirewallSkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of an Azure Firewall.", + "enum": [ + "Standard", + "Premium", + "Basic" + ], + "x-ms-enum": { + "name": "AzureFirewallSkuTier", + "modelAsString": true + } + } + }, + "description": "SKU of an Azure Firewall." + }, + "IPPrefixesList": { + "type": "object", + "properties": { + "ipPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IP Prefix value." + } + }, + "description": "List of SNAT IP Prefixes learnt by firewall to not SNAT" + }, + "FirewallPacketCaptureParametersFormat": { + "type": "object", + "properties": { + "durationInSeconds": { + "type": "integer", + "format": "int32", + "maximum": 1800, + "exclusiveMaximum": false, + "minimum": 30, + "exclusiveMinimum": false, + "description": "Duration of packet capture in seconds." + }, + "numberOfPacketsToCapture": { + "type": "integer", + "format": "int32", + "maximum": 90000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Number of packets to be captured." + }, + "sasUrl": { + "type": "string", + "description": "Upload capture location" + }, + "fileName": { + "type": "string", + "description": "Name of file to be uploaded to sasURL" + }, + "protocol": { + "$ref": "#/definitions/AzureFirewallNetworkRuleProtocol", + "description": "The protocol of packets to capture" + }, + "flags": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallPacketCaptureFlags" + }, + "description": "The tcp-flag type to be captured. Used with protocol TCP", + "x-ms-identifiers": [] + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallPacketCaptureRule" + }, + "description": "Rules to filter packet captures.", + "x-ms-identifiers": [] + } + }, + "description": "Packet capture parameters on azure firewall." + }, + "AzureFirewallPacketCaptureFlags": { + "type": "object", + "properties": { + "type": { + "description": "Flags to capture", + "$ref": "#/definitions/AzureFirewallPacketCaptureFlagsType" + } + }, + "description": "Properties of the AzureFirewallRCAction." + }, + "AzureFirewallPacketCaptureFlagsType": { + "type": "string", + "description": "The flags type to be captured.", + "enum": [ + "fin", + "syn", + "rst", + "push", + "ack", + "urg" + ], + "x-ms-enum": { + "name": "AzureFirewallPacketCaptureFlagsType", + "modelAsString": true + } + }, + "AzureFirewallPacketCaptureRule": { + "type": "object", + "properties": { + "sources": { + "type": "array", + "description": "List of source IP addresses/subnets to be captured.", + "items": { + "type": "string" + } + }, + "destinations": { + "type": "array", + "description": "List of destination IP addresses/subnets to be captured.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of ports to be captured.", + "items": { + "type": "string" + } + } + }, + "description": "Group of src/dest ips and ports to be captured." + }, + "FirewallPacketCaptureParameters": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FirewallPacketCaptureParametersFormat", + "description": "Properties of the azure firewall." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Azure Firewall Packet Capture Parameters resource." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/azureFirewallFqdnTag.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/azureFirewallFqdnTag.json new file mode 100644 index 000000000000..c513dc1beacf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/azureFirewallFqdnTag.json @@ -0,0 +1,130 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewallFqdnTags": { + "get": { + "tags": [ + "AzureFirewallFqdnTags" + ], + "operationId": "AzureFirewallFqdnTags_ListAll", + "description": "Gets all the Azure Firewall FQDN Tags in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Azure Firewall FQDN Tag resources.", + "schema": { + "$ref": "#/definitions/AzureFirewallFqdnTagListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Azure Firewall FQDN Tags for a given subscription": { + "$ref": "./examples/AzureFirewallFqdnTagsListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AzureFirewallFqdnTagPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the Azure firewall FQDN tag resource." + }, + "fqdnTagName": { + "type": "string", + "readOnly": true, + "description": "The name of this FQDN Tag." + } + }, + "description": "Azure Firewall FQDN Tag Properties." + }, + "AzureFirewallFqdnTag": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureFirewallFqdnTagPropertiesFormat", + "description": "Properties of the azure firewall FQDN tag." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Azure Firewall FQDN Tag Resource." + }, + "AzureFirewallFqdnTagListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFirewallFqdnTag" + }, + "description": "List of Azure Firewall FQDN Tags in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListAzureFirewallFqdnTags API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/azureWebCategory.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/azureWebCategory.json new file mode 100644 index 000000000000..e3581b985125 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/azureWebCategory.json @@ -0,0 +1,184 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureWebCategories/{name}": { + "get": { + "tags": [ + "WebCategories" + ], + "operationId": "WebCategories_Get", + "description": "Gets the specified Azure Web Category.", + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the azureWebCategory." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands resourceIds back referenced by the azureWebCategory resource." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting azureWebCategory resource.", + "schema": { + "$ref": "#/definitions/AzureWebCategory" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Azure Web Category by name": { + "$ref": "./examples/AzureWebCategoryGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureWebCategories": { + "get": { + "tags": [ + "WebCategories" + ], + "operationId": "WebCategories_ListBySubscription", + "description": "Gets all the Azure Web Categories in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Azure Web Category resources.", + "schema": { + "$ref": "#/definitions/AzureWebCategoryListResult" + } + }, + "default": { + "description": "Unexpected Error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Azure Web Categories for a given subscription": { + "$ref": "./examples/AzureWebCategoriesListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AzureWebCategoryPropertiesFormat": { + "properties": { + "group": { + "type": "string", + "readOnly": true, + "description": "The name of the group that the category belongs to." + } + }, + "description": "Azure Web Category Properties." + }, + "AzureWebCategory": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureWebCategoryPropertiesFormat", + "description": "Properties of the Azure Web Category." + }, + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "Azure Web Category Resource." + }, + "AzureWebCategoryListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureWebCategory" + }, + "description": "List of Azure Web Categories for a given Subscription." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListAzureWebCategories API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/bastionHost.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/bastionHost.json new file mode 100644 index 000000000000..b618859db5ae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/bastionHost.json @@ -0,0 +1,1108 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}": { + "delete": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_Delete", + "description": "Deletes the specified Bastion Host.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Bastion Host": { + "$ref": "./examples/BastionHostDelete.json" + }, + "Delete Developer Bastion Host": { + "$ref": "./examples/BastionHostDeveloperDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_Get", + "description": "Gets the specified Bastion Host.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns an BastionHost resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Bastion Host": { + "$ref": "./examples/BastionHostGet.json" + }, + "Get Developer Bastion Host": { + "$ref": "./examples/BastionHostDeveloperGet.json" + }, + "Get Bastion Host With Zones": { + "$ref": "./examples/BastionHostGetWithZones.json" + } + } + }, + "put": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_CreateOrUpdate", + "description": "Creates or updates the specified Bastion Host.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BastionHost" + }, + "description": "Parameters supplied to the create or update Bastion Host operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting Bastion Host resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting Bastion Host resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Bastion Host": { + "$ref": "./examples/BastionHostPut.json" + }, + "Create Bastion Host With Zones": { + "$ref": "./examples/BastionHostPutWithZones.json" + }, + "Create Developer Bastion Host": { + "$ref": "./examples/BastionHostDeveloperPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_UpdateTags", + "description": "Updates Tags for BastionHost resource", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update BastionHost tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting BastionHost resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Patch Bastion Host": { + "$ref": "./examples/BastionHostPatch.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts": { + "get": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_List", + "description": "Lists all Bastion Hosts in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Bastion Host resources.", + "schema": { + "$ref": "#/definitions/BastionHostListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Bastion Hosts for a given subscription": { + "$ref": "./examples/BastionHostListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts": { + "get": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_ListByResourceGroup", + "description": "Lists all Bastion Hosts in a resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of BastionHost resources.", + "schema": { + "$ref": "#/definitions/BastionHostListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Bastion Hosts for a given resource group": { + "$ref": "./examples/BastionHostListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/createShareableLinks": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "PutBastionShareableLink", + "description": "Creates a Bastion Shareable Links for all the VMs specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkRequest" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of shareable links for the specified VMs, giving appropriate error messages as needed.", + "schema": { + "$ref": "#/definitions/BastionShareableLinkListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Create Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/deleteShareableLinks": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "DeleteBastionShareableLink", + "description": "Deletes the Bastion Shareable Links for all the VMs specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkRequest" + } + ], + "responses": { + "200": { + "description": "Success. The operation deleted the BastionShareableLinks associated with the VMs, if they existed. No return body." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/deleteShareableLinksByToken": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "DeleteBastionShareableLinkByToken", + "description": "Deletes the Bastion Shareable Links for all the tokens specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkTokenRequest" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkDeleteByToken.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getShareableLinks": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "GetBastionShareableLink", + "description": "Return the Bastion Shareable Links for all the VMs specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkRequest" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of shareable links for the specified VMs, giving appropriate error messages as needed.", + "schema": { + "$ref": "#/definitions/BastionShareableLinkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Returns the Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getActiveSessions": { + "post": { + "tags": [ + "BastionHosts" + ], + "operationId": "GetActiveSessions", + "description": "Returns the list of currently active sessions on the Bastion.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of active sessions on the Bastion.", + "schema": { + "$ref": "#/definitions/BastionActiveSessionListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Returns a list of currently active sessions on the Bastion": { + "$ref": "./examples/BastionSessionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/disconnectActiveSessions": { + "post": { + "tags": [ + "BastionHosts" + ], + "operationId": "DisconnectActiveSessions", + "description": "Returns the list of currently active sessions on the Bastion.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/SessionIdsParameters" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of sessions with the state of deleted/failed/not found.", + "schema": { + "$ref": "#/definitions/BastionSessionDeleteResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Deletes the specified active session": { + "$ref": "./examples/BastionSessionDelete.json" + } + } + } + } + }, + "definitions": { + "Sku": { + "description": "The sku of this Bastion Host.", + "properties": { + "name": { + "type": "string", + "description": "The name of this Bastion Host.", + "enum": [ + "Basic", + "Standard", + "Developer" + ], + "default": "Standard", + "x-ms-enum": { + "name": "BastionHostSkuName", + "modelAsString": true + } + } + }, + "type": "object" + }, + "IPRule": { + "properties": { + "addressPrefix": { + "type": "string", + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed." + } + }, + "type": "object" + }, + "BastionHostIPConfigurationPropertiesFormat": { + "properties": { + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of the subnet resource." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of the PublicIP resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the bastion host IP configuration resource." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "Private IP allocation method." + } + }, + "required": [ + "subnet", + "publicIPAddress" + ], + "description": "Properties of IP configuration of an Bastion Host." + }, + "BastionHostIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BastionHostIPConfigurationPropertiesFormat", + "description": "Represents the ip configuration associated with the resource." + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Ip configuration type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration of an Bastion Host." + }, + "BastionHostPropertiesFormat": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionHostIPConfiguration" + }, + "description": "IP configuration of the Bastion Host resource." + }, + "dnsName": { + "type": "string", + "description": "FQDN for the endpoint on which bastion host is accessible." + }, + "virtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to an existing virtual network required for Developer Bastion Host only." + }, + "networkAcls": { + "properties": { + "ipRules": { + "type": "array", + "items": { + "description": "IP rule with specific IP or IP range in CIDR format.", + "$ref": "#/definitions/IPRule" + }, + "description": "Sets the IP ACL rules for Developer Bastion Host." + } + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the bastion host resource." + }, + "scaleUnits": { + "type": "integer", + "format": "int32", + "description": "The scale units for the Bastion Host resource.", + "minimum": 2, + "maximum": 50 + }, + "disableCopyPaste": { + "type": "boolean", + "default": false, + "description": "Enable/Disable Copy/Paste feature of the Bastion Host resource." + }, + "enableFileCopy": { + "type": "boolean", + "default": false, + "description": "Enable/Disable File Copy feature of the Bastion Host resource." + }, + "enableIpConnect": { + "type": "boolean", + "default": false, + "description": "Enable/Disable IP Connect feature of the Bastion Host resource." + }, + "enableShareableLink": { + "type": "boolean", + "default": false, + "description": "Enable/Disable Shareable Link of the Bastion Host resource." + }, + "enableTunneling": { + "type": "boolean", + "default": false, + "description": "Enable/Disable Tunneling feature of the Bastion Host resource." + }, + "enableKerberos": { + "type": "boolean", + "default": false, + "description": "Enable/Disable Kerberos feature of the Bastion Host resource." + } + }, + "description": "Properties of the Bastion Host." + }, + "BastionHost": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BastionHostPropertiesFormat", + "description": "Represents the bastion host resource." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "sku": { + "description": "The sku of this Bastion Host.", + "$ref": "#/definitions/Sku" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Bastion Host resource." + }, + "BastionHostListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionHost" + }, + "description": "List of Bastion Hosts in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListBastionHosts API service call." + }, + "BastionShareableLink": { + "properties": { + "vm": { + "$ref": "#/definitions/VM", + "description": "Reference of the virtual machine resource." + }, + "bsl": { + "type": "string", + "readOnly": true, + "description": "The unique Bastion Shareable Link to the virtual machine." + }, + "createdAt": { + "type": "string", + "readOnly": true, + "description": "The time when the link was created." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "Optional field indicating the warning or error message related to the vm in case of partial failure." + } + }, + "required": [ + "vm" + ], + "description": "Bastion Shareable Link." + }, + "BastionShareableLinkListRequest": { + "properties": { + "vms": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionShareableLink" + }, + "description": "List of VM references." + } + }, + "description": "Post request for Create/Delete/Get Bastion Shareable Link endpoints." + }, + "BastionShareableLinkTokenListRequest": { + "type": "object", + "properties": { + "tokens": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Bastion Shareable Link Token." + } + }, + "description": "Post request for Delete Bastion Shareable Link By Token endpoint." + }, + "BastionShareableLinkListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionShareableLink" + }, + "description": "List of Bastion Shareable Links for the request." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for all the Bastion Shareable Link endpoints." + }, + "BastionActiveSession": { + "properties": { + "sessionId": { + "type": "string", + "readOnly": true, + "description": "A unique id for the session." + }, + "startTime": { + "type": "object", + "readOnly": true, + "description": "The time when the session started." + }, + "targetSubscriptionId": { + "type": "string", + "readOnly": true, + "description": "The subscription id for the target virtual machine." + }, + "resourceType": { + "type": "string", + "readOnly": true, + "description": "The type of the resource." + }, + "targetHostName": { + "type": "string", + "readOnly": true, + "description": "The host name of the target." + }, + "targetResourceGroup": { + "type": "string", + "readOnly": true, + "description": "The resource group of the target." + }, + "userName": { + "type": "string", + "readOnly": true, + "description": "The user name who is active on this session." + }, + "targetIpAddress": { + "type": "string", + "readOnly": true, + "description": "The IP Address of the target." + }, + "protocol": { + "type": "string", + "readOnly": true, + "description": "The protocol used to connect to the target.", + "enum": [ + "SSH", + "RDP" + ], + "x-ms-enum": { + "name": "BastionConnectProtocol", + "modelAsString": true + } + }, + "targetResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource id of the target." + }, + "sessionDurationInMins": { + "type": "number", + "readOnly": true, + "description": "Duration in mins the session has been active." + } + }, + "description": "The session detail for a target." + }, + "BastionActiveSessionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionActiveSession" + }, + "description": "List of active sessions on the bastion." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for GetActiveSessions." + }, + "BastionSessionState": { + "properties": { + "sessionId": { + "type": "string", + "readOnly": true, + "description": "A unique id for the session." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "Used for extra information." + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The state of the session. Disconnected/Failed/NotFound." + } + }, + "description": "The session state detail for a target." + }, + "BastionSessionDeleteResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionSessionState" + }, + "description": "List of sessions with their corresponding state." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for DisconnectActiveSessions." + }, + "VM": { + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Describes a Virtual Machine." + }, + "SessionIds": { + "properties": { + "sessionIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of session IDs." + } + }, + "description": "List of session IDs." + } + }, + "parameters": { + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "BastionShareableLinkRequest": { + "name": "bslRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BastionShareableLinkListRequest" + }, + "description": "Post request for Create/Delete/Get Bastion Shareable Link endpoints.", + "x-ms-parameter-location": "method" + }, + "BastionShareableLinkTokenRequest": { + "name": "bslTokenRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BastionShareableLinkTokenListRequest" + }, + "description": "Post request for Delete Bastion Shareable Link By Token endpoint.", + "x-ms-parameter-location": "method" + }, + "BastionHostName": { + "name": "bastionHostName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Bastion Host.", + "x-ms-parameter-location": "method" + }, + "SessionIdsParameters": { + "name": "sessionIds", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SessionIds" + }, + "description": "The list of sessionids to disconnect.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/checkDnsAvailability.json new file mode 100644 index 000000000000..de40f55b2b7f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/checkDnsAvailability.json @@ -0,0 +1,96 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability": { + "get": { + "operationId": "CheckDnsNameAvailability", + "description": "Checks whether a domain name in the cloudapp.azure.com zone is available for use.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "domainNameLabel", + "in": "query", + "required": true, + "type": "string", + "description": "The domain name to be verified. It must conform to the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns whether the DNS name is available.", + "schema": { + "$ref": "#/definitions/DnsNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check Dns Name Availability": { + "$ref": "./examples/CheckDnsNameAvailability.json" + } + } + } + } + }, + "definitions": { + "DnsNameAvailabilityResult": { + "properties": { + "available": { + "type": "boolean", + "description": "Domain availability (True/False)." + } + }, + "description": "Response for the CheckDnsNameAvailability API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/cloudServiceNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/cloudServiceNetworkInterface.json new file mode 100644 index 000000000000..19ebaaf5f833 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/cloudServiceNetworkInterface.json @@ -0,0 +1,222 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/cloudServices/{cloudServiceName}/roleInstances/{roleInstanceName}/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListCloudServiceRoleInstanceNetworkInterfaces", + "description": "Gets information about all network interfaces in a role instance in a cloud service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cloudServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of role instance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List cloud service role instance network interfaces": { + "$ref": "./examples/CloudServiceRoleInstanceNetworkInterfaceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/cloudServices/{cloudServiceName}/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListCloudServiceNetworkInterfaces", + "description": "Gets all network interfaces in a cloud service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cloudServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List cloud service network interfaces": { + "$ref": "./examples/CloudServiceNetworkInterfaceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/cloudServices/{cloudServiceName}/roleInstances/{roleInstanceName}/networkInterfaces/{networkInterfaceName}": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_GetCloudServiceNetworkInterface", + "description": "Get the specified network interface in a cloud service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cloudServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of role instance." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get cloud service network interface": { + "$ref": "./examples/CloudServiceNetworkInterfaceGet.json" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/cloudServicePublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/cloudServicePublicIpAddress.json new file mode 100644 index 000000000000..7edc11cf6b60 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/cloudServicePublicIpAddress.json @@ -0,0 +1,241 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/cloudServices/{cloudServiceName}/publicipaddresses": { + "get": { + "operationId": "PublicIPAddresses_ListCloudServicePublicIPAddresses", + "description": "Gets information about all public IP addresses on a cloud service level.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cloudServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPInterface resources.", + "schema": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddressListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVMSSPublicIP": { + "$ref": "./examples/CloudServicePublicIpListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/cloudServices/{cloudServiceName}/roleInstances/{roleInstanceName}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses": { + "get": { + "operationId": "PublicIPAddresses_ListCloudServiceRoleInstancePublicIPAddresses", + "description": "Gets information about all public IP addresses in a role instance IP configuration in a cloud service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cloudServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of role instance." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The network interface name." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The IP configuration name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPAddress resources.", + "schema": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddressListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVMSSVMPublicIP": { + "$ref": "./examples/CloudServiceRoleInstancePublicIpList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/cloudServices/{cloudServiceName}/roleInstances/{roleInstanceName}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}": { + "get": { + "operationId": "PublicIPAddresses_GetCloudServicePublicIPAddress", + "description": "Get the specified public IP address in a cloud service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cloudServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The role instance name." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IP configuration." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP Address." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "x-ms-examples": { + "GetVMSSPublicIP": { + "$ref": "./examples/CloudServicePublicIpGet.json" + } + }, + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/cloudServiceSwap.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/cloudServiceSwap.json new file mode 100644 index 000000000000..17a836cebf40 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/cloudServiceSwap.json @@ -0,0 +1,280 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Compute/cloudServices/{resourceName}/providers/Microsoft.Network/cloudServiceSlots/{singletonResource}": { + "get": { + "tags": [ + "VipSwap" + ], + "operationId": "VipSwap_Get", + "description": "Gets the SwapResource which identifies the slot type for the specified cloud service. The slot type on a cloud service can either be Staging or Production", + "parameters": [ + { + "name": "groupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "name": "singletonResource", + "in": "path", + "required": true, + "type": "string", + "description": "Specifies a synthetic proxy resource that cannot be created or deleted. Value must be set to swap.", + "enum": [ + "swap" + ], + "x-ms-enum": { + "name": "singletonResource", + "modelAsString": false + } + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + }, + "200": { + "description": "Request successful. The operation returns the slot type for the specified cloud service.", + "schema": { + "$ref": "#/definitions/SwapResource" + } + } + }, + "x-ms-examples": { + "Get swap resource": { + "$ref": "./examples/CloudServiceSwapGet.json" + } + } + }, + "put": { + "tags": [ + "VipSwap" + ], + "operationId": "VipSwap_Create", + "description": "Performs vip swap operation on swappable cloud services.", + "parameters": [ + { + "name": "groupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "name": "singletonResource", + "in": "path", + "required": true, + "type": "string", + "description": "Specifies a synthetic resource that cannot be created or deleted. Value must be set to swap.", + "enum": [ + "swap" + ], + "x-ms-enum": { + "name": "singletonResource", + "modelAsString": false + } + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SwapResource" + }, + "description": "SwapResource object where slot type should be the target slot after vip swap for the specified cloud service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Put vip swap operation.": { + "$ref": "./examples/CloudServiceSwapPut.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Compute/cloudServices/{resourceName}/providers/Microsoft.Network/cloudServiceSlots": { + "get": { + "tags": [ + "VipSwap" + ], + "operationId": "VipSwap_List", + "description": "Gets the list of SwapResource which identifies the slot type for the specified cloud service. The slot type on a cloud service can either be Staging or Production", + "parameters": [ + { + "name": "groupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cloud service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + }, + "200": { + "description": "Request successful. The operation returns the slot type for the specified cloud service.", + "schema": { + "$ref": "#/definitions/SwapResourceListResult" + } + } + }, + "x-ms-examples": { + "Get swap resource list": { + "$ref": "./examples/CloudServiceSwapList.json" + } + } + } + } + }, + "definitions": { + "SwapResource": { + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SwapResourceProperties" + } + }, + "description": "SwapResource to represent slot type on the specified cloud service." + }, + "SwapResourceProperties": { + "description": "Swap resource properties", + "type": "object", + "properties": { + "slotType": { + "description": "Specifies slot info on a cloud service", + "type": "string", + "enum": [ + "Production", + "Staging" + ], + "x-ms-enum": { + "name": "slotType", + "modelAsString": false + } + } + } + }, + "SwapResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SwapResource" + } + } + }, + "description": "SwapResource List with single entry to represent slot type on the specified cloud service." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/customIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/customIpPrefix.json new file mode 100644 index 000000000000..3a5742812b33 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/customIpPrefix.json @@ -0,0 +1,522 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/customIpPrefixes/{customIpPrefixName}": { + "delete": { + "tags": [ + "CustomIpPrefixes" + ], + "operationId": "CustomIPPrefixes_Delete", + "description": "Deletes the specified custom IP prefix.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "customIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the CustomIpPrefix." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete custom IP prefix": { + "$ref": "./examples/CustomIpPrefixDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "CustomIpPrefixes" + ], + "operationId": "CustomIPPrefixes_Get", + "description": "Gets the specified custom IP prefix in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "customIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the custom IP prefix." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting CustomIpPrefix resource.", + "schema": { + "$ref": "#/definitions/CustomIpPrefix" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get custom IP prefix": { + "$ref": "./examples/CustomIpPrefixGet.json" + } + } + }, + "put": { + "tags": [ + "CustomIpPrefixes" + ], + "operationId": "CustomIPPrefixes_CreateOrUpdate", + "description": "Creates or updates a custom IP prefix.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "customIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the custom IP prefix." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CustomIpPrefix" + }, + "description": "Parameters supplied to the create or update custom IP prefix operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting CustomIpPrefix resource.", + "schema": { + "$ref": "#/definitions/CustomIpPrefix" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting CustomIpPrefix resource.", + "schema": { + "$ref": "#/definitions/CustomIpPrefix" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create custom IP prefix allocation method": { + "$ref": "./examples/CustomIpPrefixCreateCustomizedValues.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "CustomIpPrefixes" + ], + "operationId": "CustomIPPrefixes_UpdateTags", + "description": "Updates custom IP prefix tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "customIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the custom IP prefix." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update custom IP prefix tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting customIpPrefix resource.", + "schema": { + "$ref": "#/definitions/CustomIpPrefix" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update public IP address tags": { + "$ref": "./examples/CustomIpPrefixUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/customIpPrefixes": { + "get": { + "tags": [ + "CustomIpPrefixes" + ], + "operationId": "CustomIPPrefixes_ListAll", + "description": "Gets all the custom IP prefixes in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of CustomIpPrefix resources.", + "schema": { + "$ref": "#/definitions/CustomIpPrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all custom IP prefixes": { + "$ref": "./examples/CustomIpPrefixListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/customIpPrefixes": { + "get": { + "tags": [ + "CustomIpPrefixes" + ], + "operationId": "CustomIPPrefixes_List", + "description": "Gets all custom IP prefixes in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of CustomIpPrefix resources.", + "schema": { + "$ref": "#/definitions/CustomIpPrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List resource group Custom IP prefixes": { + "$ref": "./examples/CustomIpPrefixList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CustomIpPrefixPropertiesFormat": { + "properties": { + "asn": { + "type": "string", + "description": "The ASN for CIDR advertising. Should be an integer as string." + }, + "cidr": { + "type": "string", + "description": "The prefix range in CIDR notation. Should include the start address and the prefix length." + }, + "signedMessage": { + "type": "string", + "description": "Signed message for WAN validation." + }, + "authorizationMessage": { + "type": "string", + "description": "Authorization message for WAN validation." + }, + "customIpPrefixParent": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The Parent CustomIpPrefix for IPv6 /64 CustomIpPrefix." + }, + "childCustomIpPrefixes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The list of all Children for IPv6 /48 CustomIpPrefix." + }, + "commissionedState": { + "type": "string", + "description": "The commissioned state of the Custom IP Prefix.", + "enum": [ + "Provisioning", + "Provisioned", + "Commissioning", + "CommissionedNoInternetAdvertise", + "Commissioned", + "Decommissioning", + "Deprovisioning", + "Deprovisioned" + ], + "x-ms-enum": { + "name": "CommissionedState", + "modelAsString": true + } + }, + "expressRouteAdvertise": { + "type": "boolean", + "description": "Whether to do express route advertise." + }, + "geo": { + "type": "string", + "description": "The Geo for CIDR advertising. Should be an Geo code.", + "enum": [ + "GLOBAL", + "AFRI", + "APAC", + "EURO", + "LATAM", + "NAM", + "ME", + "OCEANIA", + "AQ" + ], + "x-ms-enum": { + "name": "Geo", + "modelAsString": true + } + }, + "noInternetAdvertise": { + "type": "boolean", + "description": "Whether to Advertise the range to Internet." + }, + "prefixType": { + "type": "string", + "description": "Type of custom IP prefix. Should be Singular, Parent, or Child.", + "enum": [ + "Singular", + "Parent", + "Child" + ], + "x-ms-enum": { + "name": "CustomIpPrefixType", + "modelAsString": true + } + }, + "publicIpPrefixes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The list of all referenced PublicIpPrefixes." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the custom IP prefix resource." + }, + "failedReason": { + "readOnly": true, + "type": "string", + "description": "The reason why resource is in failed state." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the custom IP prefix resource." + } + }, + "description": "Custom IP prefix properties." + }, + "CustomIpPrefix": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the custom IP prefix." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomIpPrefixPropertiesFormat", + "description": "Custom IP prefix properties." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Custom IP prefix resource." + }, + "CustomIpPrefixListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CustomIpPrefix" + }, + "description": "A list of Custom IP prefixes that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListCustomIpPrefixes API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/ddosCustomPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/ddosCustomPolicy.json new file mode 100644 index 000000000000..bf494dd3ab21 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/ddosCustomPolicy.json @@ -0,0 +1,310 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}": { + "delete": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_Delete", + "description": "Deletes the specified DDoS custom policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete DDoS custom policy": { + "$ref": "./examples/DdosCustomPolicyDelete.json" + } + } + }, + "get": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_Get", + "description": "Gets information about the specified DDoS custom policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the specified DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DDoS custom policy": { + "$ref": "./examples/DdosCustomPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_CreateOrUpdate", + "description": "Creates or updates a DDoS custom policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + }, + "description": "Parameters supplied to the create or update operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create DDoS custom policy": { + "$ref": "./examples/DdosCustomPolicyCreate.json" + } + } + }, + "patch": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_UpdateTags", + "description": "Update a DDoS custom policy tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update DDoS custom policy resource tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DDoS Custom policy Update tags": { + "$ref": "./examples/DdosCustomPolicyUpdateTags.json" + } + } + } + } + }, + "definitions": { + "DdosCustomPolicy": { + "description": "A DDoS custom policy in a resource group.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DdosCustomPolicyPropertiesFormat", + "description": "Properties of the DDoS custom policy." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "DdosCustomPolicyPropertiesFormat": { + "properties": { + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the DDoS custom policy resource. It uniquely identifies the resource, even if the user changes its name or migrate the resource across subscriptions or resource groups." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the DDoS custom policy resource." + } + }, + "description": "DDoS custom policy properties." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/ddosProtectionPlan.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/ddosProtectionPlan.json new file mode 100644 index 000000000000..7c92c4833873 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/ddosProtectionPlan.json @@ -0,0 +1,450 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}": { + "delete": { + "tags": [ + "DdosProtectionPlans" + ], + "operationId": "DdosProtectionPlans_Delete", + "description": "Deletes the specified DDoS protection plan.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosProtectionPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS protection plan." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete DDoS protection plan": { + "$ref": "./examples/DdosProtectionPlanDelete.json" + } + } + }, + "get": { + "tags": [ + "DdosProtectionPlans" + ], + "operationId": "DdosProtectionPlans_Get", + "description": "Gets information about the specified DDoS protection plan.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosProtectionPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS protection plan." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the specified DDoS protection plan resource.", + "schema": { + "$ref": "#/definitions/DdosProtectionPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DDoS protection plan": { + "$ref": "./examples/DdosProtectionPlanGet.json" + } + } + }, + "put": { + "tags": [ + "DdosProtectionPlans" + ], + "operationId": "DdosProtectionPlans_CreateOrUpdate", + "description": "Creates or updates a DDoS protection plan.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosProtectionPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS protection plan." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DdosProtectionPlan" + }, + "description": "Parameters supplied to the create or update operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting DDoS protection plan resource.", + "schema": { + "$ref": "#/definitions/DdosProtectionPlan" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting DDoS protection plan resource.", + "schema": { + "$ref": "#/definitions/DdosProtectionPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create DDoS protection plan": { + "$ref": "./examples/DdosProtectionPlanCreate.json" + } + } + }, + "patch": { + "tags": [ + "DdosProtectionPlans" + ], + "operationId": "DdosProtectionPlans_UpdateTags", + "description": "Update a DDoS protection plan tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosProtectionPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS protection plan." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to the update DDoS protection plan resource tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting DDoS protection plan resource.", + "schema": { + "$ref": "#/definitions/DdosProtectionPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DDoS protection plan Update tags": { + "$ref": "./examples/DdosProtectionPlanUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans": { + "get": { + "tags": [ + "DdosProtectionPlans" + ], + "operationId": "DdosProtectionPlans_List", + "description": "Gets all DDoS protection plans in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of DDoS protection plan resources.", + "schema": { + "$ref": "#/definitions/DdosProtectionPlanListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all DDoS protection plans": { + "$ref": "./examples/DdosProtectionPlanListAll.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans": { + "get": { + "tags": [ + "DdosProtectionPlans" + ], + "operationId": "DdosProtectionPlans_ListByResourceGroup", + "description": "Gets all the DDoS protection plans in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of DDoS protection plan resources.", + "schema": { + "$ref": "#/definitions/DdosProtectionPlanListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List DDoS protection plans in resource group": { + "$ref": "./examples/DdosProtectionPlanList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "DdosProtectionPlan": { + "description": "A DDoS protection plan in a resource group.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DdosProtectionPlanPropertiesFormat", + "description": "Properties of the DDoS protection plan." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + } + }, + "DdosProtectionPlanPropertiesFormat": { + "properties": { + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the DDoS protection plan resource. It uniquely identifies the resource, even if the user changes its name or migrate the resource across subscriptions or resource groups." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the DDoS protection plan resource." + }, + "publicIPAddresses": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The list of public IPs associated with the DDoS protection plan resource. This list is read-only." + }, + "virtualNetworks": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The list of virtual networks associated with the DDoS protection plan resource. This list is read-only." + } + }, + "description": "DDoS protection plan properties." + }, + "DdosProtectionPlanListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DdosProtectionPlan" + }, + "description": "A list of DDoS protection plans." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "A list of DDoS protection plans." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/dscpConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/dscpConfiguration.json new file mode 100644 index 000000000000..21d15ca442c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/dscpConfiguration.json @@ -0,0 +1,513 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dscpConfigurations/{dscpConfigurationName}": { + "put": { + "tags": [ + "DscpConfiguration" + ], + "operationId": "DscpConfiguration_CreateOrUpdate", + "description": "Creates or updates a DSCP Configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "dscpConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DscpConfiguration" + }, + "description": "Parameters supplied to the create or update dscp configuration operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting DscpConfiguration resource.", + "schema": { + "$ref": "#/definitions/DscpConfiguration" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting DscpConfiguration resource.", + "schema": { + "$ref": "#/definitions/DscpConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create DSCP Configuration": { + "$ref": "./examples/DscpConfigurationCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "delete": { + "tags": [ + "DscpConfiguration" + ], + "operationId": "DscpConfiguration_Delete", + "description": "Deletes a DSCP Configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "dscpConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete DSCP Configuration": { + "$ref": "./examples/DscpConfigurationDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "DscpConfiguration" + ], + "operationId": "DscpConfiguration_Get", + "description": "Gets a DSCP Configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "dscpConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting DSCP Configuration resource.", + "schema": { + "$ref": "#/definitions/DscpConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Dscp Configuration": { + "$ref": "./examples/DscpConfigurationGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dscpConfigurations": { + "get": { + "tags": [ + "DscpConfigurations" + ], + "operationId": "DscpConfiguration_List", + "description": "Gets a DSCP Configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting DSCP Configuration resource.", + "schema": { + "$ref": "#/definitions/DscpConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Dscp Configuration": { + "$ref": "./examples/DscpConfigurationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/dscpConfigurations": { + "get": { + "tags": [ + "DscpConfigurations" + ], + "operationId": "DscpConfiguration_ListAll", + "description": "Gets all dscp configurations in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "#/definitions/DscpConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all network interfaces": { + "$ref": "./examples/DscpConfigurationListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "DscpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DscpConfigurationPropertiesFormat", + "description": "Properties of the network interface." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Differentiated Services Code Point configuration for any given network interface" + }, + "DscpConfigurationPropertiesFormat": { + "properties": { + "markings": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "List of markings to be used in the configuration." + }, + "sourceIpRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosIpRange" + }, + "description": "Source IP ranges." + }, + "destinationIpRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosIpRange" + }, + "description": "Destination IP ranges." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosPortRange" + }, + "description": "Sources port ranges." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosPortRange" + }, + "description": "Destination port ranges." + }, + "protocol": { + "type": "string", + "enum": [ + "DoNotUse", + "Icmp", + "Tcp", + "Udp", + "Gre", + "Esp", + "Ah", + "Vxlan", + "All" + ], + "x-ms-enum": { + "name": "ProtocolType", + "modelAsString": true + }, + "description": "RNM supported protocol types." + }, + "qosDefinitionCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/QosDefinition" + }, + "description": "QoS object definitions" + }, + "qosCollectionId": { + "type": "string", + "readOnly": true, + "description": "Qos Collection ID generated by RNM." + }, + "associatedNetworkInterfaces": { + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + }, + "readOnly": true, + "description": "Associated Network Interfaces to the DSCP Configuration." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the DSCP Configuration resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the DSCP Configuration resource." + } + }, + "description": "Differentiated Services Code Point configuration properties." + }, + "QosDefinition": { + "type": "object", + "properties": { + "markings": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "List of markings to be used in the configuration." + }, + "sourceIpRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosIpRange" + }, + "description": "Source IP ranges." + }, + "destinationIpRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosIpRange" + }, + "description": "Destination IP ranges." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosPortRange" + }, + "description": "Sources port ranges." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/QosPortRange" + }, + "description": "Destination port ranges." + }, + "protocol": { + "type": "string", + "enum": [ + "DoNotUse", + "Icmp", + "Tcp", + "Udp", + "Gre", + "Esp", + "Ah", + "Vxlan", + "All" + ], + "x-ms-enum": { + "name": "ProtocolType", + "modelAsString": true + }, + "description": "RNM supported protocol types." + } + }, + "description": "Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking." + }, + "QosIpRange": { + "properties": { + "startIP": { + "type": "string", + "description": "Start IP Address." + }, + "endIP": { + "type": "string", + "description": "End IP Address." + } + }, + "description": "Qos Traffic Profiler IP Range properties." + }, + "QosPortRange": { + "properties": { + "start": { + "type": "integer", + "format": "int32", + "description": "Qos Port Range start." + }, + "end": { + "type": "integer", + "format": "int32", + "description": "Qos Port Range end." + } + }, + "description": "Qos Traffic Profiler Port range properties." + }, + "DscpConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DscpConfiguration" + }, + "description": "A list of dscp configurations in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the DscpConfigurationList API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/endpointService.json new file mode 100644 index 000000000000..9775521703c7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/endpointService.json @@ -0,0 +1,119 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices": { + "get": { + "operationId": "AvailableEndpointServices_List", + "description": "List what values of endpoint services are available for use.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location to check available endpoint services." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns list of available endpoint services.", + "schema": { + "$ref": "#/definitions/EndpointServicesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EndpointServicesList": { + "$ref": "./examples/EndpointServicesList.json" + } + } + } + } + }, + "definitions": { + "EndpointServicesListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EndpointServiceResult" + }, + "description": "List of available endpoint services in a region." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListAvailableEndpointServices API service call." + }, + "EndpointServiceResult": { + "properties": { + "name": { + "type": "string", + "description": "Name of the endpoint service.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of the endpoint service.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Endpoint service." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json new file mode 100644 index 000000000000..86a9bba759e2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "Accept-Charset" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json new file mode 100644 index 000000000000..f1f601e7ddcd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "Access-Control-Allow-Origin" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableServerVariablesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableServerVariablesGet.json new file mode 100644 index 000000000000..e0e6c2bb9aa2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableServerVariablesGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "request_query" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableSslOptionsGet.json new file mode 100644 index 000000000000..a965b68a15c1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableSslOptionsGet.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default", + "type": "Microsoft.Network/ApplicationGatewayAvailableSslOptions", + "properties": { + "predefinedPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501" + }, + { + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401" + }, + { + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S" + } + ], + "defaultPolicy": "AppGwSslPolicy20150501", + "availableCipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "TLS_RSA_WITH_AES_128_GCM_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA256", + "TLS_RSA_WITH_AES_128_CBC_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" + ], + "availableProtocols": [ + "TLSv1_0", + "TLSv1_1", + "TLSv1_2" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json new file mode 100644 index 000000000000..2646172bd032 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AppGwSslPolicy20150501", + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501", + "properties": { + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "TLS_RSA_WITH_AES_128_GCM_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA256", + "TLS_RSA_WITH_AES_128_CBC_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" + ], + "minProtocolVersion": "TLSv1_0" + } + }, + { + "name": "AppGwSslPolicy20170401", + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401", + "properties": { + "cipherSuites": [ + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "TLS_RSA_WITH_AES_128_GCM_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA256", + "TLS_RSA_WITH_AES_128_CBC_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_128_CBC_SHA" + ], + "minProtocolVersion": "TLSv1_1" + } + }, + { + "name": "AppGwSslPolicy20170401S", + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S", + "properties": { + "cipherSuites": [ + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "TLS_RSA_WITH_AES_128_GCM_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA256", + "TLS_RSA_WITH_AES_128_CBC_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_128_CBC_SHA" + ], + "minProtocolVersion": "TLSv1_2" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json new file mode 100644 index 000000000000..ee939c44bee3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "predefinedPolicyName": "AppGwSslPolicy20150501" + }, + "responses": { + "200": { + "body": { + "name": "AppGwSslPolicy20150501", + "id": "/subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501", + "properties": { + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "TLS_RSA_WITH_AES_128_GCM_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA256", + "TLS_RSA_WITH_AES_128_CBC_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" + ], + "minProtocolVersion": "TLSv1_0" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json new file mode 100644 index 000000000000..bce729de6f8f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "OWASP_3.0", + "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/", + "type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets", + "properties": { + "provisioningState": "Succeeded", + "ruleSetType": "OWASP", + "ruleSetVersion": "3.0", + "ruleGroups": [ + { + "ruleGroupName": "General", + "description": "", + "rules": [ + { + "ruleId": 200004, + "ruleIdString": "200004", + "description": "Possible Multipart Unmatched Boundary." + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayBackendHealthGet.json new file mode 100644 index 000000000000..967983d21138 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayBackendHealthGet.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "appgw", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": { + "body": { + "backendAddressPools": [ + { + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool" + }, + "backendHttpSettingsCollection": [ + { + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings" + }, + "servers": [ + { + "address": "10.220.1.8", + "health": "Up" + } + ] + } + ] + }, + { + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFPool" + }, + "backendHttpSettingsCollection": [ + { + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings" + }, + "servers": [ + { + "address": "10.220.1.4", + "health": "Up" + }, + { + "address": "10.220.1.5", + "health": "Up" + } + ] + } + ] + } + ] + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayBackendHealthTest.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayBackendHealthTest.json new file mode 100644 index 000000000000..a3dd917e279c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayBackendHealthTest.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw", + "probeRequest": { + "protocol": "Http", + "pickHostNameFromBackendHttpSettings": true, + "path": "/", + "timeout": 30, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings" + } + } + }, + "responses": { + "200": { + "body": { + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool" + }, + "backendHealthHttpSettings": { + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings" + }, + "servers": [ + { + "address": "10.220.1.4", + "health": "Up" + }, + { + "address": "10.220.1.5", + "health": "Up" + } + ] + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayCreate.json new file mode 100644 index 000000000000..4617fa142acd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayCreate.json @@ -0,0 +1,778 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "eastus", + "properties": { + "sku": { + "name": "Standard_v2", + "tier": "Standard_v2", + "capacity": 3 + }, + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "properties": { + "data": "****", + "password": "****" + } + }, + { + "name": "sslcert2", + "properties": { + "keyVaultSecretId": "https://kv/secret" + } + } + ], + "trustedRootCertificates": [ + { + "name": "rootcert", + "properties": { + "data": "****" + } + }, + { + "name": "rootcert1", + "properties": { + "keyVaultSecretId": "https://kv/secret" + } + } + ], + "trustedClientCertificates": [ + { + "name": "clientcert", + "properties": { + "data": "****" + } + } + ], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "properties": { + "port": 443 + } + }, + { + "name": "appgwfp80", + "properties": { + "port": 80 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "properties": { + "backendAddresses": [ + { + "ipAddress": "10.0.1.1" + }, + { + "ipAddress": "10.0.1.2" + } + ] + } + }, + { + "name": "appgwpool1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1", + "properties": { + "backendAddresses": [ + { + "ipAddress": "10.0.0.1" + }, + { + "ipAddress": "10.0.0.2" + } + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "properties": { + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "sslProfiles": [ + { + "name": "sslProfile1", + "properties": { + "sslPolicy": { + "policyType": "Custom", + "minProtocolVersion": "TLSv1_1", + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + ] + }, + "clientAuthConfiguration": { + "verifyClientCertIssuerDN": true + }, + "trustedClientCertificates": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert" + } + ] + } + } + ], + "httpListeners": [ + { + "name": "appgwhl", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert" + }, + "sslProfile": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1" + }, + "requireServerNameIndication": false + } + }, + { + "name": "appgwhttplistener", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80" + }, + "protocol": "Http" + } + } + ], + "requestRoutingRules": [ + { + "name": "appgwrule", + "properties": { + "ruleType": "Basic", + "priority": 10, + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + } + } + } + ], + "rewriteRuleSets": [ + { + "name": "rewriteRuleSet1", + "properties": { + "rewriteRules": [ + { + "name": "Set X-Forwarded-For", + "ruleSequence": 102, + "conditions": [ + { + "variable": "http_req_Authorization", + "pattern": "^Bearer", + "ignoreCase": true, + "negate": false + } + ], + "actionSet": { + "requestHeaderConfigurations": [ + { + "headerName": "X-Forwarded-For", + "headerValue": "{var_add_x_forwarded_for_proxy}" + } + ], + "responseHeaderConfigurations": [ + { + "headerName": "Strict-Transport-Security", + "headerValue": "max-age=31536000" + } + ], + "urlConfiguration": { + "modifiedPath": "/abc" + } + } + } + ] + } + } + ], + "globalConfiguration": { + "enableRequestBuffering": true, + "enableResponseBuffering": true + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "appgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw", + "type": "Microsoft.Network/applicationGateways", + "location": "southcentralus", + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 3 + }, + "operationalState": "Running", + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert", + "properties": { + "provisioningState": "Succeeded", + "publicCertData": "*****" + } + } + ], + "trustedClientCertificates": [ + { + "name": "clientcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert", + "properties": { + "provisioningState": "Succeeded", + "data": "****" + } + } + ], + "authenticationCertificates": [], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp", + "properties": { + "provisioningState": "Succeeded", + "port": 443 + } + }, + { + "name": "appgwfp80", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80", + "properties": { + "provisioningState": "Succeeded", + "port": 80 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [ + { + "ipAddress": "10.0.1.1" + }, + { + "ipAddress": "10.0.1.2" + } + ] + } + }, + { + "name": "appgwpool1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [ + { + "ipAddress": "10.0.0.1" + }, + { + "ipAddress": "10.0.0.2" + } + ] + } + } + ], + "loadDistributionPolicies": [], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs", + "properties": { + "provisioningState": "Succeeded", + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "sslProfiles": [ + { + "name": "sslProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1", + "properties": { + "provisioningState": "Succeeded", + "sslPolicy": { + "policyType": "Custom", + "minProtocolVersion": "TLSv1_1", + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + ] + }, + "clientAuthConfiguration": { + "verifyClientCertIssuerDN": true, + "verifyClientRevocation": "OCSP" + }, + "trustedClientCertificates": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert" + } + ] + } + } + ], + "httpListeners": [ + { + "name": "appgwhl", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert" + }, + "sslProfile": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1" + }, + "requireServerNameIndication": false + } + }, + { + "name": "appgwhttplistener", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80" + }, + "protocol": "Http" + } + } + ], + "listeners": [], + "urlPathMaps": [], + "requestRoutingRules": [ + { + "name": "appgwrule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "Basic", + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + } + } + } + ], + "rewriteRuleSets": [ + { + "name": "rewriteRuleSet1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1", + "properties": { + "provisioningState": "Succeeded", + "rewriteRules": [ + { + "name": "Set X-Forwarded-For", + "ruleSequence": 102, + "conditions": [ + { + "variable": "http_req_Authorization", + "pattern": "^Bearer", + "ignoreCase": true, + "negate": false + } + ], + "actionSet": { + "requestHeaderConfigurations": [ + { + "headerName": "X-Forwarded-For", + "headerValue": "{var_remote-addr}" + } + ], + "responseHeaderConfigurations": [ + { + "headerName": "Strict-Transport-Security", + "headerValue": "max-age=31536000" + } + ], + "urlConfiguration": { + "modifiedPath": "/abc", + "reroute": true + } + } + } + ] + } + } + ], + "routingRules": [], + "probes": [], + "redirectConfigurations": [], + "privateEndpointConnections": [], + "globalConfiguration": { + "enableRequestBuffering": true, + "enableResponseBuffering": true + } + } + } + }, + "200": { + "body": { + "name": "appgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw", + "type": "Microsoft.Network/applicationGateways", + "location": "southcentralus", + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 3 + }, + "operationalState": "Running", + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert", + "properties": { + "provisioningState": "Succeeded", + "publicCertData": "*****" + } + } + ], + "trustedClientCertificates": [ + { + "name": "clientcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert", + "properties": { + "provisioningState": "Succeeded", + "data": "****" + } + } + ], + "authenticationCertificates": [], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp", + "properties": { + "provisioningState": "Succeeded", + "port": 443 + } + }, + { + "name": "appgwfp80", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80", + "properties": { + "provisioningState": "Succeeded", + "port": 80 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [ + { + "ipAddress": "10.0.1.1" + }, + { + "ipAddress": "10.0.1.2" + } + ] + } + }, + { + "name": "appgwpool1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [ + { + "ipAddress": "10.0.0.1" + }, + { + "ipAddress": "10.0.0.2" + } + ] + } + } + ], + "loadDistributionPolicies": [], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs", + "properties": { + "provisioningState": "Succeeded", + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "sslProfiles": [ + { + "name": "sslProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1", + "properties": { + "provisioningState": "Succeeded", + "sslPolicy": { + "policyType": "Custom", + "minProtocolVersion": "TLSv1_1", + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + ] + }, + "clientAuthConfiguration": { + "verifyClientCertIssuerDN": true + }, + "trustedClientCertificates": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert" + } + ] + } + } + ], + "httpListeners": [ + { + "name": "appgwhl", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert" + }, + "sslProfile": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1" + }, + "requireServerNameIndication": false + } + }, + { + "name": "appgwhttplistener", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80" + }, + "protocol": "Http" + } + } + ], + "listeners": [], + "urlPathMaps": [], + "requestRoutingRules": [ + { + "name": "appgwrule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "Basic", + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + } + } + } + ], + "rewriteRuleSets": [ + { + "name": "rewriteRuleSet1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1", + "properties": { + "provisioningState": "Succeeded", + "rewriteRules": [ + { + "name": "Set X-Forwarded-For", + "ruleSequence": 102, + "conditions": [ + { + "variable": "http_req_Authorization", + "pattern": "^Bearer", + "ignoreCase": true, + "negate": false + } + ], + "actionSet": { + "requestHeaderConfigurations": [ + { + "headerName": "X-Forwarded-For", + "headerValue": "{var_remote-addr}" + } + ], + "responseHeaderConfigurations": [ + { + "headerName": "Strict-Transport-Security", + "headerValue": "max-age=31536000" + } + ], + "urlConfiguration": { + "modifiedPath": "/abc", + "modifiedQueryString": "x=y&a=b" + } + } + } + ] + } + } + ], + "routingRules": [], + "probes": [], + "redirectConfigurations": [], + "privateEndpointConnections": [], + "globalConfiguration": { + "enableRequestBuffering": true, + "enableResponseBuffering": true + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayDelete.json new file mode 100644 index 000000000000..30c36c515475 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayGet.json new file mode 100644 index 000000000000..b47b284ca2d7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayGet.json @@ -0,0 +1,389 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": { + "body": { + "name": "appgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw", + "type": "Microsoft.Network/applicationGateways", + "location": "southcentralus", + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 3 + }, + "operationalState": "Running", + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert", + "properties": { + "provisioningState": "Succeeded", + "publicCertData": "*****" + } + } + ], + "trustedClientCertificates": [ + { + "name": "clientcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert", + "properties": { + "provisioningState": "Succeeded", + "data": "****", + "validatedCertData": "****", + "clientCertIssuerDN": "CN=User1, OU=Eng, O=Company Ltd, L=D4, S=Arizona, C=US" + } + } + ], + "authenticationCertificates": [], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp", + "properties": { + "provisioningState": "Succeeded", + "port": 443 + } + }, + { + "name": "appgwfp80", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80", + "properties": { + "provisioningState": "Succeeded", + "port": 80 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [] + } + }, + { + "name": "appgwpool1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [ + "10.0.0.1", + "10.0.0.2" + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs", + "properties": { + "provisioningState": "Succeeded", + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "sslProfiles": [ + { + "name": "sslProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1", + "properties": { + "provisioningState": "Succeeded", + "sslPolicy": { + "policyType": "Custom", + "minProtocolVersion": "TLSv1_1", + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + ] + }, + "clientAuthConfiguration": { + "verifyClientCertIssuerDN": true, + "verifyClientRevocation": "OCSP" + }, + "trustedClientCertificates": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert" + } + ] + } + } + ], + "httpListeners": [ + { + "name": "appgwhl", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert" + }, + "sslProfile": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1" + }, + "requireServerNameIndication": false + } + }, + { + "name": "appgwhttplistener", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80" + }, + "protocol": "Http" + } + } + ], + "urlPathMaps": [ + { + "name": "pathMap1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1", + "properties": { + "provisioningState": "Succeeded", + "defaultBackendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "defaultBackendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "defaultRewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "defaultLoadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + }, + "pathRules": [ + { + "name": "apiPaths", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths", + "properties": { + "provisioningState": "Succeeded", + "paths": [ + "/api", + "/v1/api" + ], + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + } + ] + } + } + ], + "requestRoutingRules": [ + { + "name": "appgwrule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "Basic", + "priority": 10, + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + }, + { + "name": "appgwPathBasedRule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "PathBasedRouting", + "priority": 20, + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener" + }, + "urlPathMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1" + } + } + } + ], + "rewriteRuleSets": [ + { + "name": "rewriteRuleSet1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1", + "properties": { + "provisioningState": "Succeeded", + "rewriteRules": [ + { + "name": "Set X-Forwarded-For", + "ruleSequence": 102, + "conditions": [ + { + "variable": "http_req_Authorization", + "pattern": "^Bearer", + "ignoreCase": true, + "negate": false + } + ], + "actionSet": { + "requestHeaderConfigurations": [ + { + "headerName": "X-Forwarded-For", + "headerValue": "{var_remote-addr}" + } + ], + "responseHeaderConfigurations": [ + { + "headerName": "Strict-Transport-Security", + "headerValue": "max-age=31536000" + } + ], + "urlConfiguration": { + "modifiedPath": "/abc", + "modifiedQueryString": "x=y&a=b", + "reroute": false + } + } + } + ] + } + } + ], + "probes": [], + "privateLinkConfigurations": [ + { + "name": "privateLink1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLink1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "natNicIpconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLink1/privateLinkConfigurations/privateLink1/ipConfigurations/natNicIpconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "primary": true, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + }, + { + "name": "natNicIpconfig2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLink1/privateLinkConfigurations/privateLink1/ipConfigurations/natNicIpconfig2", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + } + ] + } + } + ], + "privateEndpointConnections": [], + "loadDistributionPolicies": [ + { + "name": "ldp1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1", + "properties": { + "loadDistributionAlgorithm": "RoundRobin", + "loadDistributionTargets": [ + { + "name": "ld11", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1/loadDistributionTargets/ldt1", + "properties": { + "weightPerServer": 40, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + } + } + }, + { + "name": "ld11", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1/loadDistributionTargets/ldt1", + "properties": { + "weightPerServer": 60, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1" + } + } + } + ] + } + } + ], + "globalConfiguration": { + "enableRequestBuffering": true, + "enableResponseBuffering": true + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayList.json new file mode 100644 index 000000000000..41cfc4ee5955 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayList.json @@ -0,0 +1,392 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "appgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw", + "type": "Microsoft.Network/applicationGateways", + "location": "southcentralus", + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 3 + }, + "operationalState": "Running", + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert", + "properties": { + "provisioningState": "Succeeded", + "publicCertData": "*****" + } + } + ], + "trustedClientCertificates": [ + { + "name": "clientcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert", + "properties": { + "provisioningState": "Succeeded", + "data": "****", + "validatedCertData": "****", + "clientCertIssuerDN": "CN=User1, OU=Eng, O=Company Ltd, L=D4, S=Arizona, C=US" + } + } + ], + "authenticationCertificates": [], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp", + "properties": { + "provisioningState": "Succeeded", + "port": 443 + } + }, + { + "name": "appgwfp80", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80", + "properties": { + "provisioningState": "Succeeded", + "port": 80 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [] + } + }, + { + "name": "appgwpool1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [ + "10.0.0.1", + "10.0.0.2" + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs", + "properties": { + "provisioningState": "Succeeded", + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "sslProfiles": [ + { + "name": "sslProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1", + "properties": { + "provisioningState": "Succeeded", + "sslPolicy": { + "policyType": "Custom", + "minProtocolVersion": "TLSv1_1", + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + ] + }, + "clientAuthConfiguration": { + "verifyClientCertIssuerDN": true, + "verifyClientRevocation": "OCSP" + }, + "trustedClientCertificates": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert" + } + ] + } + } + ], + "httpListeners": [ + { + "name": "appgwhl", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert" + }, + "sslProfile": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1" + }, + "requireServerNameIndication": false + } + }, + { + "name": "appgwhttplistener", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80" + }, + "protocol": "Http" + } + } + ], + "urlPathMaps": [ + { + "name": "pathMap1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1", + "properties": { + "provisioningState": "Succeeded", + "defaultBackendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "defaultBackendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "defaultRewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "defaultLoadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + }, + "pathRules": [ + { + "name": "apiPaths", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths", + "properties": { + "provisioningState": "Succeeded", + "paths": [ + "/api", + "/v1/api" + ], + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + } + ] + } + } + ], + "requestRoutingRules": [ + { + "name": "appgwrule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "Basic", + "priority": 10, + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + }, + { + "name": "appgwPathBasedRule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "PathBasedRouting", + "priority": 20, + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener" + }, + "urlPathMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1" + } + } + } + ], + "rewriteRuleSets": [ + { + "name": "rewriteRuleSet1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1", + "properties": { + "provisioningState": "Succeeded", + "rewriteRules": [ + { + "name": "Set X-Forwarded-For", + "ruleSequence": 102, + "conditions": [ + { + "variable": "http_req_Authorization", + "pattern": "^Bearer", + "ignoreCase": true, + "negate": false + } + ], + "actionSet": { + "requestHeaderConfigurations": [ + { + "headerName": "X-Forwarded-For", + "headerValue": "{var_remote-addr}" + } + ], + "responseHeaderConfigurations": [ + { + "headerName": "Strict-Transport-Security", + "headerValue": "max-age=31536000" + } + ], + "urlConfiguration": { + "modifiedPath": "/abc", + "modifiedQueryString": "x=y&a=b", + "reroute": false + } + } + } + ] + } + } + ], + "probes": [], + "privateLinkConfigurations": [ + { + "name": "privateLink1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLink1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "natNicIpconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLink1/privateLinkConfigurations/privateLink1/ipConfigurations/natNicIpconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "primary": true, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + }, + { + "name": "natNicIpconfig2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLink1/privateLinkConfigurations/privateLink1/ipConfigurations/natNicIpconfig2", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + } + ] + } + } + ], + "privateEndpointConnections": [], + "loadDistributionPolicies": [ + { + "name": "ldp1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1", + "properties": { + "loadDistributionAlgorithm": "RoundRobin", + "loadDistributionTargets": [ + { + "name": "ld11", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1/loadDistributionTargets/ldt1", + "properties": { + "weightPerServer": 40, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + } + } + }, + { + "name": "ld11", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1/loadDistributionTargets/ldt1", + "properties": { + "weightPerServer": 60, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1" + } + } + } + ] + } + } + ], + "globalConfiguration": { + "enableRequestBuffering": true, + "enableResponseBuffering": true + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayListAll.json new file mode 100644 index 000000000000..62266be1f6f6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayListAll.json @@ -0,0 +1,391 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "appgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw", + "type": "Microsoft.Network/applicationGateways", + "location": "southcentralus", + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 3 + }, + "operationalState": "Running", + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert", + "properties": { + "provisioningState": "Succeeded", + "publicCertData": "*****" + } + } + ], + "trustedClientCertificates": [ + { + "name": "clientcert", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert", + "properties": { + "provisioningState": "Succeeded", + "data": "****", + "validatedCertData": "****", + "clientCertIssuerDN": "CN=User1, OU=Eng, O=Company Ltd, L=D4, S=Arizona, C=US" + } + } + ], + "authenticationCertificates": [], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp", + "properties": { + "provisioningState": "Succeeded", + "port": 443 + } + }, + { + "name": "appgwfp80", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80", + "properties": { + "provisioningState": "Succeeded", + "port": 80 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [] + } + }, + { + "name": "appgwpool1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [ + "10.0.0.1", + "10.0.0.2" + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs", + "properties": { + "provisioningState": "Succeeded", + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "sslProfiles": [ + { + "name": "sslProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1", + "properties": { + "provisioningState": "Succeeded", + "sslPolicy": { + "policyType": "Custom", + "minProtocolVersion": "TLSv1_1", + "cipherSuites": [ + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + ] + }, + "clientAuthConfiguration": { + "verifyClientCertIssuerDN": true, + "verifyClientRevocation": "OCSP" + }, + "trustedClientCertificates": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/trustedClientCertificates/clientcert" + } + ] + } + } + ], + "httpListeners": [ + { + "name": "appgwhl", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert" + }, + "sslProfile": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslProfiles/sslProfile1" + }, + "requireServerNameIndication": false + } + }, + { + "name": "appgwhttplistener", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80" + }, + "protocol": "Http" + } + } + ], + "urlPathMaps": [ + { + "name": "pathMap1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1", + "properties": { + "provisioningState": "Succeeded", + "defaultBackendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "defaultBackendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "defaultRewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "defaultLoadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + }, + "pathRules": [ + { + "name": "apiPaths", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths", + "properties": { + "provisioningState": "Succeeded", + "paths": [ + "/api", + "/v1/api" + ], + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + } + ] + } + } + ], + "requestRoutingRules": [ + { + "name": "appgwrule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "Basic", + "priority": 10, + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs" + }, + "rewriteRuleSet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1" + }, + "loadDistributionPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1" + } + } + }, + { + "name": "appgwPathBasedRule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "PathBasedRouting", + "priority": 20, + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener" + }, + "urlPathMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1" + } + } + } + ], + "rewriteRuleSets": [ + { + "name": "rewriteRuleSet1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1", + "properties": { + "provisioningState": "Succeeded", + "rewriteRules": [ + { + "name": "Set X-Forwarded-For", + "ruleSequence": 102, + "conditions": [ + { + "variable": "http_req_Authorization", + "pattern": "^Bearer", + "ignoreCase": true, + "negate": false + } + ], + "actionSet": { + "requestHeaderConfigurations": [ + { + "headerName": "X-Forwarded-For", + "headerValue": "{var_remote-addr}" + } + ], + "responseHeaderConfigurations": [ + { + "headerName": "Strict-Transport-Security", + "headerValue": "max-age=31536000" + } + ], + "urlConfiguration": { + "modifiedPath": "/abc", + "modifiedQueryString": "x=y&a=b", + "reroute": false + } + } + } + ] + } + } + ], + "probes": [], + "privateLinkConfigurations": [ + { + "name": "privateLink1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLink1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "natNicIpconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLink1/privateLinkConfigurations/privateLink1/ipConfigurations/natNicIpconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "primary": true, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + }, + { + "name": "natNicIpconfig2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLink1/privateLinkConfigurations/privateLink1/ipConfigurations/natNicIpconfig2", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet" + } + } + } + ] + } + } + ], + "privateEndpointConnections": [], + "loadDistributionPolicies": [ + { + "name": "ldp1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1", + "properties": { + "loadDistributionAlgorithm": "RoundRobin", + "loadDistributionTargets": [ + { + "name": "ld11", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1/loadDistributionTargets/ldt1", + "properties": { + "weightPerServer": 40, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool" + } + } + }, + { + "name": "ld11", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/loadDistributionPolicies/ldp1/loadDistributionTargets/ldt1", + "properties": { + "weightPerServer": 60, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool1" + } + } + } + ] + } + } + ], + "globalConfiguration": { + "enableRequestBuffering": true, + "enableResponseBuffering": true + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..cdb6911f068d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw", + "connectionName": "connection1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..3a272bae50d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw", + "connectionName": "connection1" + }, + "responses": { + "200": { + "body": { + "name": "coonection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkResources/connection1", + "type": "Microsoft.Network/applicationGateways/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approval Done" + }, + "linkIdentifier": "805319460" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json new file mode 100644 index 000000000000..d897ea334a4b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "coonection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkResources/connection1", + "type": "Microsoft.Network/applicationGateways/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approval Done" + }, + "linkIdentifier": "805319460" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..b8282e73d398 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw", + "connectionName": "connection1", + "parameters": { + "name": "connection1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId2/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPlePeConnection", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkResources/testPlePeConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + }, + "linkIdentifier": "linkId" + } + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateLinkResourceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateLinkResourceList.json new file mode 100644 index 000000000000..62b7e87dca11 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayPrivateLinkResourceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "privateLink1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkResources/privateLink1", + "type": "Microsoft.Network/applicationGateways/privateLinkResources", + "properties": { + "groupId": "privateLink1", + "requiredMembers": [ + "privateLink1" + ], + "requiredZoneNames": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayStart.json new file mode 100644 index 000000000000..a134851053b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayStart.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayStop.json new file mode 100644 index 000000000000..a134851053b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayStop.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayUpdateTags.json new file mode 100644 index 000000000000..874d9c0e8b2c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationGatewayUpdateTags.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "AppGw", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "AppGw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw", + "type": "Microsoft.Network/applicationGateways", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "sku": { + "name": "Standard_Small", + "tier": "Standard", + "capacity": 2 + }, + "operationalState": "Running", + "gatewayIPConfigurations": [ + { + "name": "GatewayIp01", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/gatewayIPConfigurations/GatewayIp01", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet1" + } + } + } + ], + "sslCertificates": [], + "authenticationCertificates": [], + "frontendIPConfigurations": [ + { + "name": "FrontEndConfig01", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendIPConfigurations/FrontEndConfig01", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/publicIp1" + } + } + } + ], + "frontendPorts": [ + { + "name": "FrontEndPort01", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendPorts/FrontEndPort01", + "properties": { + "provisioningState": "Succeeded", + "port": 80 + } + } + ], + "backendAddressPools": [ + { + "name": "Pool01", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendAddressPools/Pool01", + "properties": { + "provisioningState": "Succeeded", + "backendAddresses": [ + { + "ipAddress": "10.10.10.1" + }, + { + "ipAddress": "10.10.10.2" + }, + { + "ipAddress": "10.10.10.3" + } + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "PoolSetting01", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendHttpSettingsCollection/PoolSetting01", + "properties": { + "provisioningState": "Succeeded", + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "pickHostNameFromBackendAddress": false, + "requestTimeout": 30 + } + } + ], + "httpListeners": [ + { + "name": "listener1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/httpListeners/listener1", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendIPConfigurations/FrontEndConfig01" + }, + "frontendPort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendPorts/FrontEndPort01" + }, + "protocol": "Http", + "requireServerNameIndication": false + } + } + ], + "urlPathMaps": [], + "requestRoutingRules": [ + { + "name": "Rule01", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/requestRoutingRules/Rule01", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "Basic", + "httpListener": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/httpListeners/listener1" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendAddressPools/Pool01" + }, + "backendHttpSettings": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendHttpSettingsCollection/PoolSetting01" + } + } + } + ], + "probes": [], + "redirectConfigurations": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupCreate.json new file mode 100644 index 000000000000..c16ca104906a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupCreate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationSecurityGroupName": "test-asg", + "parameters": { + "location": "westus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "test-asg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + }, + "201": { + "body": { + "name": "test-asg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupDelete.json new file mode 100644 index 000000000000..02dfba6c6a8e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationSecurityGroupName": "test-asg" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupGet.json new file mode 100644 index 000000000000..5367ca50944a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationSecurityGroupName": "test-asg" + }, + "responses": { + "200": { + "body": { + "name": "test-asg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupList.json new file mode 100644 index 000000000000..715e5ebe0c62 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg1", + "name": "asg1", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg2", + "name": "asg2", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupListAll.json new file mode 100644 index 000000000000..fd7f1e6575bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupListAll.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg1", + "name": "asg1", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/asg2", + "name": "asg2", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupUpdateTags.json new file mode 100644 index 000000000000..e0e81b441cac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ApplicationSecurityGroupUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationSecurityGroupName": "test-asg", + "location": "westus", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-asg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg", + "type": "Microsoft.Network/applicationSecurityGroups", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AutoApprovedPrivateLinkServicesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AutoApprovedPrivateLinkServicesGet.json new file mode 100644 index 000000000000..c77b8d92f885 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AutoApprovedPrivateLinkServicesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "location": "regionName", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1" + }, + { + "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2" + }, + { + "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls3" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json new file mode 100644 index 000000000000..afd25e20b069 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "location": "regionName", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1" + }, + { + "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2" + }, + { + "privateLinkService": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls3" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailableDelegationsResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailableDelegationsResourceGroupGet.json new file mode 100644 index 000000000000..9b0d75d9c66d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailableDelegationsResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "location": "westcentralus", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Provider.resourceType", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/availableDelegations/Microsoft.Provider.resourceType", + "type": "Microsoft.Network/availableDelegations", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [ + "Microsoft.Network/resource/action" + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailableDelegationsSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailableDelegationsSubscriptionGet.json new file mode 100644 index 000000000000..c56e9943b8ef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailableDelegationsSubscriptionGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "location": "westcentralus", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Provider.resourceType", + "id": "/subscriptions/subId/providers/Microsoft.Network/availableDelegations/Microsoft.Provider.resourceType", + "type": "Microsoft.Network/availableDelegations", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [ + "Microsoft.Network/resource/action" + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailablePrivateEndpointTypesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailablePrivateEndpointTypesGet.json new file mode 100644 index 000000000000..dd1686aa7eef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailablePrivateEndpointTypesGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "location": "regionName", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType", + "type": "Microsoft.Network/availablePrivateEndpointTypes", + "resourceName": "Microsoft.Provider/resourceType" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json new file mode 100644 index 000000000000..ac7728dd0d78 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "location": "regionName", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/availablePrivateEndpointTypes/Microsoft.Provider.resourceType", + "type": "Microsoft.Network/availablePrivateEndpointTypes", + "resourceName": "Microsoft.Provider/resourceType" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailableServiceAliasesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailableServiceAliasesList.json new file mode 100644 index 000000000000..b1f0a0aab3b9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailableServiceAliasesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "location": "westcentralus", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "servicesAzure", + "id": "/subscriptions/subId/providers/Microsoft.Network/AvailableServiceAliases/servicesAzure", + "type": "Microsoft.Network/AvailableServiceAliases", + "resourceName": "/services/Azure" + }, + { + "name": "servicesAzureManagedInstance", + "id": "/subscriptions/subId/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureManagedInstance", + "type": "Microsoft.Network/AvailableServiceAliases", + "resourceName": "/services/Azure/ManagedInstance" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailableServiceAliasesListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailableServiceAliasesListByResourceGroup.json new file mode 100644 index 000000000000..c843bd13b31d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AvailableServiceAliasesListByResourceGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "location": "westcentralus", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "servicesAzure", + "id": "/subscriptions/subId/providers/Microsoft.Network/AvailableServiceAliases/servicesAzure", + "type": "Microsoft.Network/AvailableServiceAliases", + "resourceName": "/services/Azure" + }, + { + "name": "servicesAzureManagedInstance", + "id": "/subscriptions/subId/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureManagedInstance", + "type": "Microsoft.Network/AvailableServiceAliases", + "resourceName": "/services/Azure/ManagedInstance" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallDelete.json new file mode 100644 index 000000000000..d8e10ee514bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallFqdnTagsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallFqdnTagsListBySubscription.json new file mode 100644 index 000000000000..bbae9a6bef93 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallFqdnTagsListBySubscription.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "azfwfqdntag", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewallFqdnTags/azfwfqdntag", + "type": "Microsoft.Network/azureFirewallFqdnTags", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "fqdnTagName": "azfwfqdntag" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGet.json new file mode 100644 index 000000000000..297a98c1def7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGet.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGetWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGetWithAdditionalProperties.json new file mode 100644 index 000000000000..5aa93d989d9b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGetWithAdditionalProperties.json @@ -0,0 +1,179 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "additionalProperties": { + "key1": "value1", + "key2": "value2" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGetWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGetWithIpGroups.json new file mode 100644 index 000000000000..a9f33a5b8b38 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGetWithIpGroups.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups2" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups3" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [ + { + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1", + "changeNumber": "5" + }, + { + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups2", + "changeNumber": "4" + }, + { + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups3", + "changeNumber": "1" + } + ], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGetWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGetWithMgmtSubnet.json new file mode 100644 index 000000000000..d44a886bb4c2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGetWithMgmtSubnet.json @@ -0,0 +1,190 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "managementIpConfiguration": { + "name": "azureFirewallMgmtIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallMgmtIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallManagementSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/managementPipName" + } + } + }, + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGetWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGetWithZones.json new file mode 100644 index 000000000000..de559e7174e2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallGetWithZones.json @@ -0,0 +1,181 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US 2", + "zones": [ + "1", + "2", + "3" + ], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallListByResourceGroup.json new file mode 100644 index 000000000000..636cc03ef8d0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallListByResourceGroup.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "managementIpConfiguration": { + "name": "azureFirewallMgmtIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallMgmtIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallManagementSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/managementPipName" + } + } + }, + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": { + "key1": "value1", + "key2": "value2" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallListBySubscription.json new file mode 100644 index 000000000000..18d44f7228d7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallListBySubscription.json @@ -0,0 +1,192 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "managementIpConfiguration": { + "name": "azureFirewallMgmtIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallMgmtIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallManagementSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/managementPipName" + } + } + }, + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": { + "key1": "value1", + "key2": "value2" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallListLearnedIPPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallListLearnedIPPrefixes.json new file mode 100644 index 000000000000..ec6db0d70b8c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallListLearnedIPPrefixes.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azureFirewall1" + }, + "responses": { + "202": {}, + "200": { + "body": { + "ipPrefixes": [ + "10.101.0.0/16", + "10.102.0.0/16" + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPacketCapture.json new file mode 100644 index 000000000000..79de6716e13b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPacketCapture.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azureFirewall1", + "parameters": { + "properties": { + "durationInSeconds": 300, + "numberOfPacketsToCapture": 5000, + "sasUrl": "someSASURL", + "fileName": "azureFirewallPacketCapture", + "protocol": "Any", + "flags": [ + { + "type": "syn" + }, + { + "type": "fin" + } + ], + "filters": [ + { + "sources": [ + "20.1.1.0" + ], + "destinations": [ + "20.1.2.0" + ], + "destinationPorts": [ + "4500" + ] + }, + { + "sources": [ + "10.1.1.0", + "10.1.1.1" + ], + "destinations": [ + "10.1.2.0" + ], + "destinationPorts": [ + "123", + "80" + ] + } + ] + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPut.json new file mode 100644 index 000000000000..56fc89dac5f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPut.json @@ -0,0 +1,497 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "zones": [], + "properties": { + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedPort": "880", + "translatedFqdn": "internalhttpserver" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "protocols": [ + "TCP" + ], + "destinationFqdns": [ + "www.amazon.com" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": {} + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutInHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutInHub.json new file mode 100644 index 000000000000..e9cf2bbd8e64 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutInHub.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "zones": [], + "properties": { + "sku": { + "name": "AZFW_Hub", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "firewallPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1" + }, + "hubIPAddresses": { + "publicIPs": { + "addresses": [], + "count": 1 + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_Hub", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "firewallPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1" + }, + "hubIPAddresses": { + "publicIPs": { + "addresses": [ + { + "address": "13.73.240.12" + } + ], + "count": 1 + }, + "privateIPAddress": "10.0.0.0" + }, + "additionalProperties": {} + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_Hub", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "firewallPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/policy1" + }, + "hubIPAddresses": { + "publicIPs": { + "addresses": [ + { + "address": "13.73.240.12" + } + ], + "count": 1 + }, + "privateIPAddress": "10.0.0.0" + }, + "ipGroups": [], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutWithAdditionalProperties.json new file mode 100644 index 000000000000..9e35b1eb7262 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutWithAdditionalProperties.json @@ -0,0 +1,507 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "zones": [], + "properties": { + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": { + "key1": "value1", + "key2": "value2" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedPort": "880", + "translatedFqdn": "internalhttpserver" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "protocols": [ + "TCP" + ], + "destinationFqdns": [ + "www.amazon.com" + ] + } + ] + } + } + ], + "additionalProperties": { + "key1": "value1", + "key2": "value2" + } + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "additionalProperties": { + "key1": "value1", + "key2": "value2" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutWithIpGroups.json new file mode 100644 index 000000000000..47037991fd93 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutWithIpGroups.json @@ -0,0 +1,505 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "zones": [], + "properties": { + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedPort": "880", + "translatedFqdn": "internalhttpserver" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "protocols": [ + "TCP" + ], + "destinationFqdns": [ + "www.amazon.com" + ] + } + ] + } + } + ], + "additionalProperties": {} + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationIpGroups": [ + "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups2" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [ + { + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1", + "changeNumber": "5" + }, + { + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups2", + "changeNumber": "4" + } + ], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutWithMgmtSubnet.json new file mode 100644 index 000000000000..4508b4d365a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutWithMgmtSubnet.json @@ -0,0 +1,507 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "zones": [], + "properties": { + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "managementIpConfiguration": { + "name": "azureFirewallMgmtIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallManagementSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/managementPipName" + } + } + }, + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedPort": "880", + "translatedFqdn": "internalhttpserver" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "protocols": [ + "TCP" + ], + "destinationFqdns": [ + "www.amazon.com" + ] + } + ] + } + } + ], + "additionalProperties": {} + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "zones": [], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutWithZones.json new file mode 100644 index 000000000000..a443c026e6f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallPutWithZones.json @@ -0,0 +1,509 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall", + "parameters": { + "location": "West US 2", + "tags": { + "key1": "value1" + }, + "zones": [ + "1", + "2", + "3" + ], + "properties": { + "threatIntelMode": "Alert", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US 2", + "zones": [ + "1", + "2", + "3" + ], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "ipGroups": [], + "additionalProperties": {} + } + } + }, + "201": { + "body": { + "name": "azurefirewall", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall", + "type": "Microsoft.Network/azureFirewalls", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US 2", + "zones": [ + "1", + "2", + "3" + ], + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "sku": { + "name": "AZFW_VNet", + "tier": "Standard" + }, + "threatIntelMode": "Alert", + "ipConfigurations": [ + { + "name": "azureFirewallIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.0", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ], + "applicationRuleCollections": [ + { + "name": "apprulecoll", + "properties": { + "priority": 110, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "targetFqdns": [ + "www.test.com" + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ] + } + ] + } + } + ], + "natRuleCollections": [ + { + "name": "natrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Dnat" + }, + "rules": [ + { + "name": "DNAT-HTTPS-traffic", + "description": "D-NAT all outbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "443" + ], + "protocols": [ + "TCP" + ], + "translatedAddress": "1.2.3.5", + "translatedPort": "8443" + }, + { + "name": "DNAT-HTTP-traffic-With-FQDN", + "description": "D-NAT all inbound web traffic for inspection", + "sourceAddresses": [ + "*" + ], + "destinationAddresses": [ + "1.2.3.4" + ], + "destinationPorts": [ + "80" + ], + "protocols": [ + "TCP" + ], + "translatedFqdn": "internalhttpserver", + "translatedPort": "880" + } + ] + } + } + ], + "networkRuleCollections": [ + { + "name": "netrulecoll", + "properties": { + "priority": 112, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "L4-traffic", + "description": "Block traffic based on source IPs and ports", + "sourceAddresses": [ + "192.168.1.1-192.168.1.12", + "10.1.4.12-10.1.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationAddresses": [ + "*" + ], + "protocols": [ + "TCP" + ] + }, + { + "name": "L4-traffic-with-FQDN", + "description": "Block traffic based on source IPs and ports to amazon", + "sourceAddresses": [ + "10.2.4.12-10.2.4.255" + ], + "destinationPorts": [ + "443-444", + "8443" + ], + "destinationFqdns": [ + "www.amazon.com" + ], + "protocols": [ + "TCP" + ] + } + ] + } + } + ], + "additionalProperties": {} + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallUpdateTags.json new file mode 100644 index 000000000000..7f7ef0df670f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureFirewallUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "azfwtest", + "azureFirewallName": "fw1", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "fw1", + "id": "/subscriptions/subid/resourceGroups/azfwtest/providers/Microsoft.Network/azureFirewalls/fw1", + "type": "Microsoft.Network/azureFirewalls", + "location": "brazilsouth", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureWebCategoriesListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureWebCategoriesListBySubscription.json new file mode 100644 index 000000000000..e1079f51f16a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureWebCategoriesListBySubscription.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "4de8428a-4a92-4cea-90ff-b47128b8cab8" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Arts", + "id": "/subscriptions/4de8428a-4a92-4cea-90ff-b47128b8cab8/providers/Microsoft.Network/azureWebCategories/Arts", + "type": "Microsoft.Network/azureWebCategories", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "group": "General" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureWebCategoryGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureWebCategoryGet.json new file mode 100644 index 000000000000..24f7ecd0c368 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/AzureWebCategoryGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "4de8428a-4a92-4cea-90ff-b47128b8cab8", + "name": "Arts" + }, + "responses": { + "200": { + "body": { + "name": "Arts", + "id": "/subscriptions/4de8428a-4a92-4cea-90ff-b47128b8cab8/providers/Microsoft.Network/azureWebCategories/Arts", + "type": "Microsoft.Network/azureWebCategories", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "group": "General" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostDelete.json new file mode 100644 index 000000000000..e49cfe509e31 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/operationResults/{operationId}?api-version={api-version}" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostDeveloperDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostDeveloperDelete.json new file mode 100644 index 000000000000..db9ab81d0057 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostDeveloperDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg2", + "bastionHostName": "bastionhostdeveloper" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/operationResults/{operationId}?api-version={api-version}" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostDeveloperGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostDeveloperGet.json new file mode 100644 index 000000000000..b8a494635c1f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostDeveloperGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhostdeveloper'" + }, + "responses": { + "200": { + "body": { + "name": "bastionhostdeveloper'", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/bastionHosts/bastionhostdeveloper'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Developer" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "networkAcls": { + "ipRules": [ + { + "addressPrefix": "1.1.1.1/16" + } + ] + }, + "dnsName": "omnibrain.uswest.bastionglobal.azure.com", + "ipConfigurations": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostDeveloperPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostDeveloperPut.json new file mode 100644 index 000000000000..4d1f8f34f8cb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostDeveloperPut.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg2", + "bastionHostName": "bastionhostdeveloper", + "sku": { + "name": "Developer" + }, + "parameters": { + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "networkAcls": { + "ipRules": [ + { + "addressPrefix": "1.1.1.1/16" + } + ] + }, + "ipConfigurations": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "bastionhostdeveloper", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/bastionHosts/bastionhostdeveloper'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Developer" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "omnibrain.uswest.bastionglobal.azure.com", + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "networkAcls": { + "ipRules": [ + { + "addressPrefix": "1.1.1.1/16" + } + ] + }, + "ipConfigurations": [] + } + } + }, + "201": { + "body": { + "name": "bastionhostdeveloper'", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/bastionHosts/bastionhostdeveloper'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Developer" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "omnibrain.uswest.bastionglobal.azure.com", + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "networkAcls": { + "ipRules": [ + { + "addressPrefix": "1.1.1.1/16" + } + ] + }, + "ipConfigurations": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostGet.json new file mode 100644 index 000000000000..fe4fdb8db7a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostGet.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant'" + }, + "responses": { + "200": { + "body": { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "sku": { + "name": "Standard" + }, + "zones": [], + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostGetWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostGetWithZones.json new file mode 100644 index 000000000000..fb814aa2ac81 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostGetWithZones.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant'" + }, + "responses": { + "200": { + "body": { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "sku": { + "name": "Standard" + }, + "zones": [ + "1", + "2" + ], + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostListByResourceGroup.json new file mode 100644 index 000000000000..16746822a75c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostListByResourceGroup.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Standard" + }, + "zones": [], + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostListBySubscription.json new file mode 100644 index 000000000000..6e2f5f0ebf44 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostListBySubscription.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Standard" + }, + "zones": [], + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + }, + { + "name": "bastionhostdeveloper'", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/bastionHosts/bastionhostdeveloper'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Developer" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "networkAcls": { + "ipRules": [ + { + "addressPrefix": "1.1.1.1/16" + } + ] + }, + "dnsName": "omnibrain.uswest.bastionglobal.azure.com", + "ipConfigurations": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostPatch.json new file mode 100644 index 000000000000..22f5dd5722f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostPatch.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + } + }, + "200": { + "body": { + "name": "bastionhosttenant", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + }, + "sku": { + "name": "Standard" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostPut.json new file mode 100644 index 000000000000..7345c8c4c98e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostPut.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "sku": { + "name": "Standard" + }, + "zones": [], + "parameters": { + "properties": { + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "bastionhost", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + }, + "201": { + "body": { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostPutWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostPutWithZones.json new file mode 100644 index 000000000000..7026e6db3db8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionHostPutWithZones.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "sku": { + "name": "Standard" + }, + "zones": [ + "1", + "2" + ], + "parameters": { + "properties": { + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "bastionhost", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + }, + "201": { + "body": { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionSessionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionSessionDelete.json new file mode 100644 index 000000000000..d2310244d2be --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionSessionDelete.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "sessionIds": [ + "session1", + "session2", + "session3" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sessionId": "session1", + "message": "session session1 invalidated!", + "state": "Disconnected" + }, + { + "sessionId": "session2", + "message": "session session2 could not be disconnected!", + "state": "Failed" + }, + { + "sessionId": "session3", + "message": "session session3 not found!", + "state": "NotFound" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionSessionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionSessionsList.json new file mode 100644 index 000000000000..9b25d35e1bb6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionSessionsList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sessionId": "sessionId", + "startTime": "2019-1-1T12:00:00.0000Z", + "targetSubscriptionId": "subid", + "resourceType": "VM", + "targetHostName": "vm01", + "targetResourceGroup": "rg1", + "userName": "user", + "targetIpAddress": "1.1.1.1", + "protocol": "SSH", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm01", + "sessionDurationInMins": 0.0 + } + ] + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getActiveSessions/operationResults/{operationId}?api-version={api-version}" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionShareableLinkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionShareableLinkCreate.json new file mode 100644 index 000000000000..0265a3d33252 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionShareableLinkCreate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "bslRequest": { + "vms": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + }, + "bsl": "http://bst-bastionhostid.bastion.com/api/shareable-url/tokenvm1", + "createdAt": "2019-10-18T12:00:00.0000Z" + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + }, + "bsl": "http://bst-bastionhostid.bastion.com/api/shareable-url/tokenvm2", + "createdAt": "2019-10-17T12:00:00.0000Z" + } + ] + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/operationResults/{operationId}?api-version={api-version}" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionShareableLinkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionShareableLinkDelete.json new file mode 100644 index 000000000000..5eae4cb967a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionShareableLinkDelete.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "bslRequest": { + "vms": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + } + } + ] + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/operationResults/{operationId}?api-version={api-version}" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionShareableLinkDeleteByToken.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionShareableLinkDeleteByToken.json new file mode 100644 index 000000000000..7007692f560b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionShareableLinkDeleteByToken.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "bslTokenRequest": { + "tokens": [ + "abcd1234-efgh-hijk-5678-abcdefgh1234", + "dcba4321-hgfe-kjih-8765-hgfedcba4321" + ] + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/operationResults/{operationId}?api-version={api-version}" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionShareableLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionShareableLinkGet.json new file mode 100644 index 000000000000..a5cfacc2dc28 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/BastionShareableLinkGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "bslRequest": { + "vms": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + }, + "bsl": "http://bst-bastionhostid.bastion.com/api/shareable-url/tokenvm1", + "createdAt": "2019-10-18T12:00:00.0000Z" + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + }, + "bsl": "http://bst-bastionhostid.bastion.com/api/shareable-url/tokenvm2", + "createdAt": "2019-10-17T12:00:00.0000Z" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CheckDnsNameAvailability.json new file mode 100644 index 000000000000..b9593af5d7ae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CheckDnsNameAvailability.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "location": "westus", + "domainNameLabel": "testdns" + }, + "responses": { + "200": { + "body": { + "available": false + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CheckPrivateLinkServiceVisibility.json new file mode 100644 index 000000000000..a7236c82cb95 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CheckPrivateLinkServiceVisibility.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "location": "westus", + "parameters": { + "privateLinkServiceAlias": "mypls.00000000-0000-0000-0000-000000000000.azure.privatelinkservice" + } + }, + "responses": { + "200": { + "body": { + "visible": true + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json new file mode 100644 index 000000000000..4c8c02d9f4cf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "location": "westus", + "resourceGroupName": "rg1", + "parameters": { + "privateLinkServiceAlias": "mypls.00000000-0000-0000-0000-000000000000.azure.privatelinkservice" + } + }, + "responses": { + "200": { + "body": { + "visible": true + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceNetworkInterfaceGet.json new file mode 100644 index 000000000000..c78e06fb0d44 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceNetworkInterfaceGet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "nic1", + "cloudServiceName": "cs1", + "roleInstanceName": "TestVMRole_IN_0" + }, + "responses": { + "200": { + "body": { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "dns.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceNetworkInterfaceList.json new file mode 100644 index 000000000000..49919b8f11aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceNetworkInterfaceList.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "cloudServiceName": "cs1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.0" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true + } + }, + { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_1/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_1/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServicePublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServicePublicIpGet.json new file mode 100644 index 000000000000..0f0ca1a4ab09 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServicePublicIpGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "cloudServiceName": "cs1", + "resourceGroupName": "cs-tester", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "roleInstanceName": "Test_VM_0", + "networkInterfaceName": "nic1", + "ipConfigurationName": "ip1", + "publicIpAddressName": "pub1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_0/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm1.testvmssacc", + "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.119.72", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServicePublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServicePublicIpListAll.json new file mode 100644 index 000000000000..9aa2e94374ec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServicePublicIpListAll.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "cloudServiceName": "cs1", + "resourceGroupName": "cs-tester", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_0/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm1.testvmssacc", + "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.119.72", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_3/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_3/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm3.testvmssacc", + "fqdn": "vm3.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.118.216", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceRoleInstanceNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceRoleInstanceNetworkInterfaceList.json new file mode 100644 index 000000000000..1e318dd431df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceRoleInstanceNetworkInterfaceList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "cloudServiceName": "cs1", + "roleInstanceName": "TestVMRole_IN_0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/TestVMRole_IN_0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceRoleInstancePublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceRoleInstancePublicIpList.json new file mode 100644 index 000000000000..38689c195026 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceRoleInstancePublicIpList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "cloudServiceName": "cs1", + "resourceGroupName": "cs-tester", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "roleInstanceName": "Test_VM_0", + "networkInterfaceName": "nic1", + "ipConfigurationName": "ip1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/cs-tester/providers/Microsoft.Compute/cloudServices/cs1/roleInstances/Test_VM_0/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm1.testvmssacc", + "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.119.72", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceSwapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceSwapGet.json new file mode 100644 index 000000000000..445780773184 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceSwapGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "groupName": "rg1", + "resourceName": "testCloudService", + "singletonResource": "swap" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/testCloudService/providers/Microsoft.Network/cloudServiceSlots/swap", + "name": "swap", + "type": "Microsoft.Network/cloudServiceSlots", + "properties": { + "slotType": "Staging" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceSwapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceSwapList.json new file mode 100644 index 000000000000..91e48dda01c5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceSwapList.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "groupName": "rg1", + "resourceName": "testCloudService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/cloudServices/testCloudService/providers/Microsoft.Network/cloudServiceSlots/swap", + "name": "swap", + "type": "Microsoft.Network/cloudServiceSlots", + "properties": { + "slotType": "Staging" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceSwapPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceSwapPut.json new file mode 100644 index 000000000000..083b7a9d5fe1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CloudServiceSwapPut.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "groupName": "rg1", + "resourceName": "testCloudService", + "singletonResource": "swap", + "parameters": { + "properties": { + "slotType": "Production" + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ConfigurationPolicyGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ConfigurationPolicyGroupDelete.json new file mode 100644 index 000000000000..73326449434b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ConfigurationPolicyGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "configurationPolicyGroupName": "policyGroup1", + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ConfigurationPolicyGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ConfigurationPolicyGroupGet.json new file mode 100644 index 000000000000..779184bf94c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ConfigurationPolicyGroupGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "configurationPolicyGroupName": "policyGroup1", + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/vpnServerConfigurations/configurationPolicyGroups", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + }, + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ], + "p2SConnectionConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ConfigurationPolicyGroupListByVpnServerConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ConfigurationPolicyGroupListByVpnServerConfiguration.json new file mode 100644 index 000000000000..9cbd39253bed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ConfigurationPolicyGroupListByVpnServerConfiguration.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/vpnServerConfigurations/configurationPolicyGroups", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + }, + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ], + "p2SConnectionConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1" + } + ] + } + }, + { + "name": "policyGroup2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + }, + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ConfigurationPolicyGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ConfigurationPolicyGroupPut.json new file mode 100644 index 000000000000..9f344b2560e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ConfigurationPolicyGroupPut.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "configurationPolicyGroupName": "policyGroup1", + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "VpnServerConfigurationPolicyGroupParameters": { + "properties": { + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + }, + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + }, + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ], + "p2SConnectionConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1" + } + ] + } + } + }, + "201": { + "body": { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + }, + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixCreateCustomizedValues.json new file mode 100644 index 000000000000..55b7267a7d6f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixCreateCustomizedValues.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "customIpPrefixName": "test-customipprefix", + "zones": [ + "1" + ], + "parameters": { + "location": "westus", + "properties": { + "cidr": "0.0.0.0/24" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-customipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "192.168.254.2/24", + "commissionedState": "Provisioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + }, + "201": { + "body": { + "name": "test-customipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "192.168.254.2/24", + "commissionedState": "Provisioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixDelete.json new file mode 100644 index 000000000000..7ede17c0409c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "customIpPrefixName": "test-customipprefix" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixGet.json new file mode 100644 index 000000000000..c22db4c7ce04 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "customIpPrefixName": "test-customipprefix" + }, + "responses": { + "200": { + "body": { + "name": "test-customipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.0.0/24", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixList.json new file mode 100644 index 000000000000..8a7cf34e99df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixList.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-customipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.0.0/24", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix2", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.1.0/30", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix4", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix4", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "2607:f0d1:1002:0001::/64", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [], + "customIpPrefixParent": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix5" + } + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix5", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix5", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "2607:f0d1:1002::/48", + "commissionedState": "Provisioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix4" + } + ] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix6", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix8", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.7.0/22", + "commissionedState": "Commissioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixListAll.json new file mode 100644 index 000000000000..b9ea2bbd4b0a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixListAll.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-customipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.0.0/24", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix2", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/customIpPrefixes/test-customipprefix2", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.2.0/23", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix3", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix3", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.4.0/22", + "commissionedState": "Provisioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix4", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix4", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "2607:f0d1:1002:0001::/64", + "commissionedState": "Commissioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [], + "customIpPrefixParent": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix5" + } + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix5", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix5", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "2607:f0d1:1002::/48", + "commissionedState": "Provisioned", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix4" + } + ] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix6", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix6", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Failed", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.5.0/22", + "commissionedState": "ProvisionFailed", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "CustomerSignatureNotVerified", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix6", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix7", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.6.0/22", + "commissionedState": "Commissioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix6", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix8", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.7.0/22", + "commissionedState": "Commissioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix6", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix8", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.7.0/22", + "commissionedState": "Commissioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "asn": "11", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix6", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix8", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.7.0/22", + "commissionedState": "Commissioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "noInternetAdvertise": false, + "expressRouteAdvertise": false, + "failedReason": "", + "geo": "GLOBAL", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix6", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix8", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.7.0/22", + "commissionedState": "Commissioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "expressRouteAdvertise": true, + "noInternetAdvertise": false, + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix6", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix8", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.7.0/22", + "commissionedState": "Commissioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "expressRouteAdvertise": true, + "noInternetAdvertise": false, + "failedReason": "", + "prefixType": "Parent", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixUpdateTags.json new file mode 100644 index 000000000000..a6e80bf7cb23 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/CustomIpPrefixUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "customIpPrefixName": "test-customipprefix", + "zones": [ + "1" + ], + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-customipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/customIpPrefixes/test-customipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "192.168.254.2/24", + "commissionedState": "Provisioning", + "signedMessage": "signedMessage", + "authorizationMessage": "authorizationMessage", + "failedReason": "", + "publicIpPrefixes": [], + "childCustomIpPrefixes": [] + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/customIpPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosCustomPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosCustomPolicyCreate.json new file mode 100644 index 000000000000..c5e9164aad63 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosCustomPolicyCreate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosCustomPolicyName": "test-ddos-custom-policy", + "parameters": { + "location": "centraluseuap" + } + }, + "responses": { + "200": { + "body": { + "name": "test-ddos-custom-policy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy", + "type": "Microsoft.Network/ddosCustomPolicies", + "location": "centraluseuap", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + }, + "201": { + "body": { + "name": "test-ddos-custom-policy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy", + "type": "Microsoft.Network/ddosCustomPolicies", + "location": "centraluseuap", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosCustomPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosCustomPolicyDelete.json new file mode 100644 index 000000000000..c418acd0d086 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosCustomPolicyDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosCustomPolicyName": "test-ddos-custom-policy", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/locations/tempLocation/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosCustomPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosCustomPolicyGet.json new file mode 100644 index 000000000000..5d20ac85a9d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosCustomPolicyGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosCustomPolicyName": "test-ddos-custom-policy" + }, + "responses": { + "200": { + "body": { + "name": "test-ddos-custom-policy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy", + "type": "Microsoft.Network/ddosCustomPolicies", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosCustomPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosCustomPolicyUpdateTags.json new file mode 100644 index 000000000000..f03193037d25 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosCustomPolicyUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosCustomPolicyName": "test-ddos-custom-policy", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-ddos-custom-policy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy", + "type": "Microsoft.Network/ddosCustomPolicies", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanCreate.json new file mode 100644 index 000000000000..f545ac84a010 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanCreate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosProtectionPlanName": "test-plan", + "parameters": { + "location": "westus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "test-plan", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "publicIPAddresses": [], + "virtualNetworks": [] + } + } + }, + "201": { + "body": { + "name": "test-plan", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "publicIPAddresses": [], + "virtualNetworks": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanDelete.json new file mode 100644 index 000000000000..51beaa7de62f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosProtectionPlanName": "test-plan" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/locations/tempLocation/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanGet.json new file mode 100644 index 000000000000..04dcf97866dd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosProtectionPlanName": "test-plan" + }, + "responses": { + "200": { + "body": { + "name": "test-plan", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "publicIPAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-pip" + } + ], + "virtualNetworks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanList.json new file mode 100644 index 000000000000..d0014a29f35e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan1", + "name": "plan1", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "publicIPAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-pip" + } + ], + "virtualNetworks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet" + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan2", + "name": "plan2", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "publicIPAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-pip" + } + ], + "virtualNetworks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanListAll.json new file mode 100644 index 000000000000..d806f07d5f6f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanListAll.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan1", + "name": "plan1", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "publicIPAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-pip" + } + ], + "virtualNetworks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet1" + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan2", + "name": "plan2", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "publicIPAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-pip2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-pip3" + } + ], + "virtualNetworks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet3" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanUpdateTags.json new file mode 100644 index 000000000000..f79491a3e8ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DdosProtectionPlanUpdateTags.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosProtectionPlanName": "test-plan", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-plan", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan", + "type": "Microsoft.Network/ddosProtectionPlans", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "publicIPAddresses": [], + "virtualNetworks": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DefaultSecurityRuleGet.json new file mode 100644 index 000000000000..1d19c4f88c96 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DefaultSecurityRuleGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "networkSecurityGroupName": "nsg1", + "defaultSecurityRuleName": "AllowVnetInBound" + }, + "responses": { + "200": { + "body": { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DefaultSecurityRuleList.json new file mode 100644 index 000000000000..237f53f93b84 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DefaultSecurityRuleList.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "networkSecurityGroupName": "nsg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound", + "sourcePortRanges": [], + "destinationPortRanges": [], + "sourceAddressPrefixes": [], + "destinationAddressPrefixes": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationCreate.json new file mode 100644 index 000000000000..807d2351bd57 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationCreate.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "dscpConfigurationName": "mydscpconfig", + "parameters": { + "properties": { + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 10, + "end": 11 + }, + { + "start": 20, + "end": 21 + } + ], + "destinationPortRanges": [ + { + "start": 15, + "end": 15 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "mydscpConfig", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ], + "associatedNetworkInterfaces": [], + "qosCollectionId": "0f8fad5b-d9cb-469f-a165-70867728950e" + }, + "type": "Microsoft.Network/dscpConfiguration" + } + }, + "201": { + "body": { + "name": "mydscpConfig", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ], + "associatedNetworkInterfaces": [], + "qosCollectionId": "0f8fad5b-d9cb-469f-a165-70867728950e" + }, + "type": "Microsoft.Network/dscpConfiguration" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationDelete.json new file mode 100644 index 000000000000..f452dc3103f3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "dscpConfigurationName": "mydscpConfig" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationGet.json new file mode 100644 index 000000000000..02cdb3f23535 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationGet.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "dscpConfigurationName": "mydscpConfig" + }, + "responses": { + "200": { + "body": { + "name": "mydscpConfig", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "associatedNetworkInterfaces": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2" + ], + "qosCollectionId": "0f8fad5b-d9cb-469f-a165-70867728950e", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ] + }, + "type": "Microsoft.Network/dscpConfiguration" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationList.json new file mode 100644 index 000000000000..009ae4191cf8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationList.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mydscpConfig", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "associatedNetworkInterfaces": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2" + ], + "qosCollectionId": "0f8fad5b-d9cb-469f-a165-70867728950e", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ] + }, + "type": "Microsoft.Network/dscpConfiguration" + }, + { + "name": "mydscpConfig2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig2", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "associatedNetworkInterfaces": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic3", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic4" + ], + "qosCollectionId": "9as24mf6-d9cb-7a7f-a165-70867728950e", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ] + }, + "type": "Microsoft.Network/dscpConfiguration" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationListAll.json new file mode 100644 index 000000000000..5c870cfd4b53 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/DscpConfigurationListAll.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mydscpConfig", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "associatedNetworkInterfaces": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2" + ], + "qosCollectionId": "0f8fad5b-d9cb-469f-a165-70867728950e", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ] + }, + "type": "Microsoft.Network/dscpConfiguration" + }, + { + "name": "mydscpConfig2", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/dscpConfiguration/mydscpConfig2", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "associatedNetworkInterfaces": [ + "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/test-nic3", + "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/test-nic4" + ], + "qosCollectionId": "9as24mf6-d9cb-7a7f-a165-70867728950e", + "qosDefinitionCollection": [ + { + "markings": [ + 1 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + { + "markings": [ + 2 + ], + "sourceIpRanges": [ + { + "startIP": "12.0.0.1", + "endIP": "12.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "12.0.10.1", + "endIP": "12.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 51, + "end": 52 + } + ], + "protocol": "Udp" + } + ] + }, + "type": "Microsoft.Network/dscpConfiguration" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/EffectiveRoutesListForConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/EffectiveRoutesListForConnection.json new file mode 100644 index 000000000000..234354f62f46 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/EffectiveRoutesListForConnection.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2023-09-01", + "effectiveRoutesParameters": { + "resourceId": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName", + "virtualWanResourceType": "ExpressRouteConnection" + } + }, + "responses": { + "200": { + "body": { + "status": "Succeeded", + "properties": { + "output": { + "value": [ + { + "addressPrefixes": [ + "10.147.128.0/17" + ], + "nextHops": [ + "/subscriptions/testSub/resourceGroups/testRg/providers/Microsoft.Network/virtualHubs/hub0" + ], + "nextHopType": "Remote Hub", + "routeOrigin": "/subscriptions/testSub/resourceGroups/testRg/providers/Microsoft.Network/virtualHubs/hub0", + "asPath": "65520-65520" + }, + { + "addressPrefixes": [ + "10.0.0.0/16" + ], + "nextHops": [ + "/subscriptions/testSub/resourceGroups/testRg/providers/Microsoft.Network/expressRouteGateways/ErGw1" + ], + "nextHopType": "ExpressRouteGateway", + "routeOrigin": "/subscriptions/testSub/resourceGroups/testRg/providers/Microsoft.Network/expressRouteGateways/ErGw1", + "asPath": "12076-12076" + } + ] + } + } + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/EffectiveRoutesListForRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/EffectiveRoutesListForRouteTable.json new file mode 100644 index 000000000000..fceabba68d4a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/EffectiveRoutesListForRouteTable.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2023-09-01", + "effectiveRoutesParameters": { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1", + "virtualWanResourceType": "RouteTable" + } + }, + "responses": { + "200": { + "body": { + "status": "Succeeded", + "properties": { + "output": { + "value": [ + { + "addressPrefixes": [ + "10.147.128.0/17" + ], + "nextHops": [ + "/subscriptions/testSub/resourceGroups/testRg/providers/Microsoft.Network/virtualHubs/hub0" + ], + "nextHopType": "Remote Hub", + "routeOrigin": "/subscriptions/testSub/resourceGroups/testRg/providers/Microsoft.Network/virtualHubs/hub0", + "asPath": "65520-65520" + }, + { + "addressPrefixes": [ + "10.0.0.0/16" + ], + "nextHops": [ + "/subscriptions/testSub/resourceGroups/testRg/providers/Microsoft.Network/expressRouteGateways/ErGw1" + ], + "nextHopType": "ExpressRouteGateway", + "routeOrigin": "/subscriptions/testSub/resourceGroups/testRg/providers/Microsoft.Network/expressRouteGateways/ErGw1", + "asPath": "12076-12076" + } + ] + } + } + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/EffectiveRoutesListForVirtualHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/EffectiveRoutesListForVirtualHub.json new file mode 100644 index 000000000000..d1747fa633d4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/EffectiveRoutesListForVirtualHub.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2023-09-01", + "effectiveRoutesParameters": null + }, + "responses": { + "200": { + "body": { + "status": "Succeeded", + "properties": { + "output": { + "value": [ + { + "addressPrefixes": [ + "10.147.128.0/17" + ], + "nextHops": [ + "/subscriptions/testSub/resourceGroups/testRg/providers/Microsoft.Network/virtualHubs/hub0" + ], + "nextHopType": "Remote Hub", + "routeOrigin": "/subscriptions/testSub/resourceGroups/testRg/providers/Microsoft.Network/virtualHubs/hub0", + "asPath": "65520-65520" + }, + { + "addressPrefixes": [ + "10.0.0.0/16" + ], + "nextHops": [ + "/subscriptions/testSub/resourceGroups/testRg/providers/Microsoft.Network/expressRouteGateways/ErGw1" + ], + "nextHopType": "ExpressRouteGateway", + "routeOrigin": "/subscriptions/testSub/resourceGroups/testRg/providers/Microsoft.Network/expressRouteGateways/ErGw1", + "asPath": "12076-12076" + } + ] + } + } + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/EndpointServicesList.json new file mode 100644 index 000000000000..461d99ea602d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/EndpointServicesList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Storage", + "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.Storage", + "type": "Microsoft.Network/virtualNetworkEndpointServices" + }, + { + "name": "Microsoft.Sql", + "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.Sql", + "type": "Microsoft.Network/virtualNetworkEndpointServices" + }, + { + "name": "Microsoft.AzureActiveDirectory", + "id": "/subscriptions/subid/providers/Microsoft.Network/virtualNetworkEndpointServices/Microsoft.AzureActiveDirectory", + "type": "Microsoft.Network/virtualNetworkEndpointServices" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitARPTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitARPTableList.json new file mode 100644 index 000000000000..808c7af381c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitARPTableList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "peeringName": "peeringName", + "devicePath": "devicePath" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "age": 0, + "interface": "Microsoft", + "ipAddress": "IPAddress", + "macAddress": "macAddress" + } + ] + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitAuthorizationCreate.json new file mode 100644 index 000000000000..bba0c63de9d6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitAuthorizationCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "authorizationName": "authorizatinName", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "authorizationParameters": { + "properties": {} + } + }, + "responses": { + "201": { + "body": { + "name": "authorizationName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/authorizationName", + "etag": "W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"", + "properties": { + "provisioningState": "Updating", + "authorizationUseStatus": "Available" + } + } + }, + "200": { + "body": { + "name": "authorizationName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/authorizationName", + "etag": "W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"", + "properties": { + "provisioningState": "Updating", + "authorizationUseStatus": "Available" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitAuthorizationDelete.json new file mode 100644 index 000000000000..1a09454231df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitAuthorizationDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "authorizationName": "authorizationName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitAuthorizationGet.json new file mode 100644 index 000000000000..79ef14fc28e3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitAuthorizationGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "authorizationName": "authorizationName" + }, + "responses": { + "200": { + "body": { + "name": "MyAuthorization1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authKey", + "authorizationUseStatus": "Available" + }, + "type": "Microsoft.Network/expressRouteCircuits/authorizations" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitAuthorizationList.json new file mode 100644 index 000000000000..961461a797dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitAuthorizationList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "MyAuthorization1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authKey", + "authorizationUseStatus": "Available" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitConnectionCreate.json new file mode 100644 index 000000000000..7d7e6ee9d04d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitConnectionCreate.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid1", + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering", + "type": "Microsoft.Network/expressRouteCircuits/peerings/connections", + "expressRouteCircuitConnectionParameters": { + "properties": { + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering" + }, + "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a", + "addressPrefix": "10.0.0.0/29", + "ipv6CircuitConnectionConfig": { + "addressPrefix": "aa:bb::/125" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "circuitConnectionUSAUS", + "properties": { + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering" + }, + "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a", + "addressPrefix": "10.0.0.0/24", + "circuitConnectionStatus": "Connected", + "provisioningState": "Succeeded", + "ipv6CircuitConnectionConfig": { + "addressPrefix": "aa:bb::1/125", + "circuitConnectionStatus": "Connected" + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "circuitConnectionUSAUS", + "properties": { + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering" + }, + "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a", + "addressPrefix": "10.0.0.0/24", + "circuitConnectionStatus": "Connected", + "provisioningState": "Succeeded", + "ipv6CircuitConnectionConfig": { + "addressPrefix": "aa:bb::1/125", + "circuitConnectionStatus": "Connected" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitConnectionDelete.json new file mode 100644 index 000000000000..aa11e50a5af4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitConnectionDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering", + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitConnectionGet.json new file mode 100644 index 000000000000..4b87246761d1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitConnectionGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid1", + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "circuitConnectionUSAUS", + "properties": { + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering" + }, + "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a", + "addressPrefix": "10.0.0.0/24", + "circuitConnectionStatus": "Connected", + "provisioningState": "Succeeded", + "ipv6CircuitConnectionConfig": { + "addressPrefix": "aa:bb::1/125", + "circuitConnectionStatus": "Connected" + } + }, + "type": "Microsoft.Network/expressRouteCircuits/peerings/connections" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitConnectionList.json new file mode 100644 index 000000000000..86756613cbbe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitConnectionList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid1", + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "circuitConnectionUSAUS", + "properties": { + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering" + }, + "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a", + "addressPrefix": "10.0.0.0/24", + "circuitConnectionStatus": "Connected", + "provisioningState": "Succeeded", + "ipv6CircuitConnectionConfig": { + "addressPrefix": "aa:bb::1/125", + "circuitConnectionStatus": "Connected" + } + } + }, + { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSEUR", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "circuitConnectionUSEUR", + "properties": { + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/dedharckteurope/providers/Microsoft.Network/expressRouteCircuits/dedharcktams/peerings/AzurePrivatePeering" + }, + "addressPrefix": "20.0.0.0/24", + "circuitConnectionStatus": "Connected", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitCreate.json new file mode 100644 index 000000000000..13aa2f990549 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitCreate.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "parameters": { + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + }, + "properties": { + "authorizations": [], + "peerings": [], + "allowClassicOperations": false, + "serviceProviderProperties": { + "serviceProviderName": "Equinix", + "peeringLocation": "Silicon Valley", + "bandwidthInMbps": 200 + } + }, + "location": "Brazil South" + } + }, + "responses": { + "201": { + "body": { + "name": "circuitName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "Brazil South", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [], + "serviceProviderProperties": { + "serviceProviderName": "Equinix", + "peeringLocation": "Silicon Valley", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1", + "serviceProviderProvisioningState": "NotProvisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + } + }, + "200": { + "body": { + "name": "circuitName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "Brazil South", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [], + "serviceProviderProperties": { + "serviceProviderName": "Equinix", + "peeringLocation": "Silicon Valley", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1", + "serviceProviderProvisioningState": "NotProvisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json new file mode 100644 index 000000000000..a8c5b95df9dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "type": "Microsoft.Network/expressRouteCircuits", + "circuitName": "expressRouteCircuit1", + "parameters": { + "location": "westus", + "sku": { + "name": "Premium_MeteredData", + "tier": "Premium", + "family": "MeteredData" + }, + "properties": { + "expressRoutePort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName" + }, + "authorizationKey": "b0be57f5-1fba-463b-adec-ffe767354cdd", + "bandwidthInGbps": 10 + } + } + }, + "responses": { + "200": { + "body": { + "name": "expressRouteCircuit1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/expressRouteCircuit1", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [], + "expressRoutePort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName" + }, + "authorizationKey": "b0be57f5-1fba-463b-adec-ffe767354cdd", + "authorizationStatus": "Enabled", + "bandwidthInGbps": 10, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "20", + "serviceKey": "d281f746-ee01-4d00-8b0a-edec4833772b", + "serviceProviderProvisioningState": "Provisioned" + }, + "sku": { + "name": "Premium_MeteredData", + "tier": "Premium", + "family": "MeteredData" + } + } + }, + "201": { + "body": { + "name": "expressRouteCircuit1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/expressRouteCircuit1", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [], + "expressRoutePort": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName" + }, + "authorizationKey": "b0be57f5-1fba-463b-adec-ffe767354cdd", + "authorizationStatus": "Enabled", + "bandwidthInGbps": 10, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "20", + "serviceKey": "d281f746-ee01-4d00-8b0a-edec4833772b", + "serviceProviderProvisioningState": "Provisioned" + }, + "sku": { + "name": "Premium_MeteredData", + "tier": "Premium", + "family": "MeteredData" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitDelete.json new file mode 100644 index 000000000000..91da56762707 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitGet.json new file mode 100644 index 000000000000..4a216dfb7b2e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "circuitName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [], + "serviceProviderProperties": { + "serviceProviderName": "providerName", + "peeringLocation": "peeringLocation", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1", + "serviceProviderProvisioningState": "NotProvisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitListByResourceGroup.json new file mode 100644 index 000000000000..684e415b3d26 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitListByResourceGroup.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "circuitName1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName1", + "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [ + { + "name": "MyAuthorization1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1", + "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authkey", + "authorizationUseStatus": "Available" + } + } + ], + "serviceProviderProperties": { + "serviceProviderName": "providerName", + "peeringLocation": "peeringLocation", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "113", + "serviceKey": "a1410692-ed3b-4ceb-b94a-b90b95d398d1", + "serviceProviderProvisioningState": "Provisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + }, + { + "name": "circuitName2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [ + { + "name": "MyAuthorization2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2/authorizations/MyAuthorization2", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authkey", + "authorizationUseStatus": "Available" + } + } + ], + "serviceProviderProperties": { + "serviceProviderName": "providerName", + "peeringLocation": "peeringLocation", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "", + "serviceKey": "6569625a-9ba4-498b-9719-14d778eef609", + "serviceProviderProvisioningState": "NotProvisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitListBySubscription.json new file mode 100644 index 000000000000..b735e4326ee2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitListBySubscription.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "circuitName1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName1", + "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [ + { + "name": "MyAuthorization1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1", + "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authkey", + "authorizationUseStatus": "Available" + } + } + ], + "serviceProviderProperties": { + "serviceProviderName": "providerName", + "peeringLocation": "peeringLocation", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "113", + "serviceKey": "a1410692-ed3b-4ceb-b94a-b90b95d398d1", + "serviceProviderProvisioningState": "Provisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + }, + { + "name": "circuitName2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peerings": [], + "authorizations": [ + { + "name": "MyAuthorization2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2/authorizations/MyAuthorization2", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authkey", + "authorizationUseStatus": "Available" + } + } + ], + "serviceProviderProperties": { + "serviceProviderName": "providerName", + "peeringLocation": "peeringLocation", + "bandwidthInMbps": 200 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "", + "serviceKey": "6569625a-9ba4-498b-9719-14d778eef609", + "serviceProviderProvisioningState": "NotProvisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringCreate.json new file mode 100644 index 000000000000..70e65b8c1621 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "peeringParameters": { + "properties": { + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "vlanId": 200 + } + } + }, + "responses": { + "201": { + "body": { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "primaryAzurePort": "", + "secondaryAzurePort": "", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + }, + "expressRouteConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName" + } + } + } + }, + "200": { + "body": { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "primaryAzurePort": "", + "secondaryAzurePort": "", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + }, + "expressRouteConnection": "" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringDelete.json new file mode 100644 index 000000000000..679631e9fff5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "peeringName": "peeringName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringGet.json new file mode 100644 index 000000000000..830e1a1fb3ea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringGet.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "peeringName": "MicrosoftPeering" + }, + "responses": { + "200": { + "body": { + "name": "MicrosoftPeering", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/MicrosoftPeering", + "etag": "W/\"b2a25b98-2e6d-4d46-87f2-089de5f6fdf9\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "MicrosoftPeering", + "azureASN": 12076, + "peerASN": 100, + "primaryPeerAddressPrefix": "123.0.0.0/30", + "secondaryPeerAddressPrefix": "123.0.0.4/30", + "primaryAzurePort": "A51-TEST-06GMR-CIS-1-PRI-A", + "secondaryAzurePort": "A51-TEST-06GMR-CIS-2-SEC-A", + "state": "Enabled", + "vlanId": 300, + "gatewayManagerEtag": "103", + "lastModifiedBy": "Customer", + "microsoftPeeringConfig": { + "advertisedPublicPrefixes": [ + "123.1.0.0/24" + ], + "advertisedCommunities": [], + "advertisedPublicPrefixesState": "ValidationNeeded", + "customerASN": 23, + "legacyMode": 0, + "routingRegistryName": "ARIN" + }, + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled", + "microsoftPeeringConfig": { + "advertisedPublicPrefixes": [ + "3FFE:FFFF:0:CD31::/120" + ], + "advertisedCommunities": [], + "advertisedPublicPrefixesState": "ValidationNeeded", + "customerASN": 23, + "legacyMode": 0, + "routingRegistryName": "ARIN" + } + }, + "routeFilter": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName" + } + }, + "type": "Microsoft.Network/expressRouteCircuits/peerings" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringList.json new file mode 100644 index 000000000000..7da8259c4a15 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "MicrosoftPeering", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/MicrosoftPeering", + "etag": "W/\"b2a25b98-2e6d-4d46-87f2-089de5f6fdf9\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "MicrosoftPeering", + "azureASN": 12076, + "peerASN": 100, + "primaryPeerAddressPrefix": "123.0.0.0/30", + "secondaryPeerAddressPrefix": "123.0.0.4/30", + "primaryAzurePort": "A51-TEST-06GMR-CIS-1-PRI-A", + "secondaryAzurePort": "A51-TEST-06GMR-CIS-2-SEC-A", + "state": "Enabled", + "vlanId": 300, + "gatewayManagerEtag": "103", + "lastModifiedBy": "Customer", + "microsoftPeeringConfig": { + "advertisedPublicPrefixes": [ + "123.1.0.0/24" + ], + "advertisedCommunities": [], + "advertisedPublicPrefixesState": "ValidationNeeded", + "customerASN": 23, + "legacyMode": 0, + "routingRegistryName": "ARIN" + }, + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled", + "microsoftPeeringConfig": { + "advertisedPublicPrefixes": [ + "3FFE:FFFF:0:CD31::/120" + ], + "advertisedCommunities": [], + "advertisedPublicPrefixesState": "ValidationNeeded", + "customerASN": 23, + "legacyMode": 0, + "routingRegistryName": "ARIN" + } + }, + "expressRouteConnection": "" + } + }, + { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering", + "etag": "W/\"b2a25b98-2e6d-4d46-87f2-089de5f6fdf9\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 100, + "primaryPeerAddressPrefix": "10.0.0.0/30", + "secondaryPeerAddressPrefix": "10.0.0.4/30", + "primaryAzurePort": "A51-TEST-06GMR-CIS-1-PRI-A", + "secondaryAzurePort": "A51-TEST-06GMR-CIS-2-SEC-A", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "103", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + }, + "expressRouteConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringStats.json new file mode 100644 index 000000000000..6357ef627fe6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitPeeringStats.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "peeringName": "peeringName" + }, + "responses": { + "200": { + "body": { + "primarybytesIn": 537408, + "primarybytesOut": 44032550, + "secondarybytesIn": 0, + "secondarybytesOut": 39002500 + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitRouteTableList.json new file mode 100644 index 000000000000..664444715809 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitRouteTableList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "peeringName": "peeringName", + "devicePath": "devicePath" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "network": "", + "nextHop": "", + "locPrf": "", + "weight": 0, + "path": "" + } + ] + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitRouteTableSummaryList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitRouteTableSummaryList.json new file mode 100644 index 000000000000..e8b69357bcba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitRouteTableSummaryList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "peeringName": "peeringName", + "devicePath": "devicePath" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "neighbor": "100.65.171.1", + "v": 4, + "as": 9583, + "upDown": "never", + "statePfxRcd": "Idle" + } + ] + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitStats.json new file mode 100644 index 000000000000..57e140a537b7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitStats.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primarybytesIn": 537408, + "primarybytesOut": 44032550, + "secondarybytesIn": 0, + "secondarybytesOut": 39002500 + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitUpdateTags.json new file mode 100644 index 000000000000..6dbbd1ef2075 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCircuitUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "ertest", + "circuitName": "er1", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "er1", + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1", + "type": "Microsoft.Network/expressRouteCircuits", + "location": "brazilsouth", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Failed", + "peerings": [], + "authorizations": [], + "serviceProviderProperties": { + "serviceProviderName": "Equinix", + "peeringLocation": "Silicon Valley", + "bandwidthInMbps": 1000 + }, + "circuitProvisioningState": "Enabled", + "allowClassicOperations": false, + "gatewayManagerEtag": "", + "serviceKey": "0b392c2e-1e9d-46d7-b5e0-9ce90ca6b60c", + "serviceProviderProvisioningState": "NotProvisioned" + }, + "sku": { + "name": "Standard_MeteredData", + "tier": "Standard", + "family": "MeteredData" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteConnectionCreate.json new file mode 100644 index 000000000000..87117836cdd2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteConnectionCreate.json @@ -0,0 +1,138 @@ +{ + "parameters": { + "expressRouteGatewayName": "gateway-2", + "resourceGroupName": "resourceGroupName", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "connectionName": "connectionName", + "putExpressRouteConnectionParameters": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2/expressRouteConnections/connectionName", + "name": "connectionName", + "properties": { + "routingWeight": 2, + "authorizationKey": "authorizationKey", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "connectionName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2/expressRouteConnections/connectionName", + "properties": { + "provisioningState": "Provisioned", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "authorizationKey": "authorizationKey", + "routingWeight": 2, + "enableInternetSecurity": false, + "expressRouteGatewayBypass": false, + "enablePrivateLinkFastPath": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + }, + "201": { + "body": { + "name": "connectionName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2/expressRouteConnections/connectionName", + "properties": { + "provisioningState": "Provisioned", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "authorizationKey": "authorizationKey", + "routingWeight": 2, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteConnectionDelete.json new file mode 100644 index 000000000000..66ac5c03a12d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "connectionName": "connectionName", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteConnectionGet.json new file mode 100644 index 000000000000..a92a847322e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteConnectionGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "connectionName": "connectionName" + }, + "responses": { + "200": { + "body": { + "name": "connectionName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName", + "properties": { + "provisioningState": "Provisioned", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "authorizationKey": "authorizationKey", + "routingWeight": 1, + "enableInternetSecurity": false, + "expressRouteGatewayBypass": false, + "enablePrivateLinkFastPath": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteConnectionList.json new file mode 100644 index 000000000000..4a57dd5bff09 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteConnectionList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "resourceGroupName", + "expressRouteGatewayName": "expressRouteGatewayName", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "connectionName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName", + "properties": { + "provisioningState": "Provisioned", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "authorizationKey": "authorizationKey", + "routingWeight": 1, + "enableInternetSecurity": false, + "expressRouteGatewayBypass": false, + "enablePrivateLinkFastPath": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json new file mode 100644 index 000000000000..0daf858666a3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "peeringParameters": { + "properties": { + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "vlanId": 200, + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126" + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "primaryAzurePort": "", + "secondaryAzurePort": "", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + } + } + } + }, + "200": { + "body": { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/CrossConnection-Boydton1DC/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "primaryAzurePort": "", + "secondaryAzurePort": "", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json new file mode 100644 index 000000000000..74e701cd43b4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json new file mode 100644 index 000000000000..e29320377f40 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/CrossConnection-Boydton1DC/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "primaryAzurePort": "", + "secondaryAzurePort": "", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json new file mode 100644 index 000000000000..c96350f99631 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AzurePrivatePeering", + "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peeringType": "AzurePrivatePeering", + "azureASN": 12076, + "peerASN": 200, + "primaryPeerAddressPrefix": "192.168.16.252/30", + "secondaryPeerAddressPrefix": "192.168.18.252/30", + "primaryAzurePort": "", + "secondaryAzurePort": "", + "state": "Enabled", + "vlanId": 200, + "gatewayManagerEtag": "", + "lastModifiedBy": "Customer", + "ipv6PeeringConfig": { + "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126", + "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126", + "state": "Enabled" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionGet.json new file mode 100644 index 000000000000..10fdf2c668f0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "CrossConnection-SiliconValley", + "crossConnectionName": "" + }, + "responses": { + "200": { + "body": { + "name": "", + "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/", + "type": "Microsoft.Network/expressRouteCrossConnections", + "location": "brazilsouth", + "etag": "W/\"c0e6477e-8150-4d4f-9bf6-bb10e6acb63a\"", + "properties": { + "provisioningState": "Enabled", + "expressRouteCircuit": { + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1" + }, + "peerings": [], + "peeringLocation": "SiliconValley", + "bandwidthInMbps": 1000, + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "sTag": 2, + "serviceProviderProvisioningState": "NotProvisioned" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionList.json new file mode 100644 index 000000000000..234ee035103b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "", + "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/", + "type": "Microsoft.Network/expressRouteCrossConnections", + "location": "brazilsouth", + "properties": { + "provisioningState": "Enabled", + "expressRouteCircuit": { + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1" + }, + "peerings": [], + "peeringLocation": "SiliconValley", + "bandwidthInMbps": 1000, + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "sTag": 2, + "serviceProviderProvisioningState": "NotProvisioned" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json new file mode 100644 index 000000000000..837aeff334fd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "CrossConnection-SiliconValley", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "", + "id": "/subscriptions/subid/resourceGroups/CrossConnectionSilicon-Valley/providers/Microsoft.Network/expressRouteCrossConnections/", + "type": "Microsoft.Network/expressRouteCrossConnections", + "location": "brazilsouth", + "properties": { + "provisioningState": "Enabled", + "expressRouteCircuit": { + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1" + }, + "peerings": [], + "peeringLocation": "SiliconValley", + "bandwidthInMbps": 1000, + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "sTag": 2, + "serviceProviderProvisioningState": "NotProvisioned" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionUpdate.json new file mode 100644 index 000000000000..dde7aae74a04 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "CrossConnection-SiliconValley", + "crossConnectionName": "", + "parameters": { + "properties": { + "serviceProviderProvisioningState": "NotProvisioned" + } + } + }, + "responses": { + "200": { + "body": { + "name": "", + "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/", + "type": "Microsoft.Network/expressRouteCrossConnections", + "location": "brazilsouth", + "properties": { + "provisioningState": "Enabled", + "expressRouteCircuit": { + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1" + }, + "peerings": [], + "peeringLocation": "SiliconValley", + "bandwidthInMbps": 1000, + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "sTag": 2, + "serviceProviderProvisioningState": "NotProvisioned" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionUpdateTags.json new file mode 100644 index 000000000000..05857d00c842 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionUpdateTags.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "CrossConnection-SiliconValley", + "crossConnectionName": "", + "crossConnectionParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "er1", + "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/", + "type": "Microsoft.Network/expressRouteCrossConnections", + "location": "brazilsouth", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Failed", + "expressRouteCircuit": { + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1" + }, + "peerings": [], + "peeringLocation": "SiliconValley", + "bandwidthInMbps": 1000, + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "sTag": 2, + "serviceProviderProvisioningState": "NotProvisioned" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionsArpTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionsArpTable.json new file mode 100644 index 000000000000..93b7d26c7bd4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionsArpTable.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "age": 0, + "interface": "Microsoft", + "ipAddress": "192.116.14.254", + "macAddress": "885a.9269.9110" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionsRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionsRouteTable.json new file mode 100644 index 000000000000..59c08184fabd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionsRouteTable.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "network": "10.6.0.0/16", + "nextHop": "10.6.1.12", + "locPrf": "", + "weight": 0, + "path": "65514" + }, + { + "network": "10.7.0.0/16", + "nextHop": "10.7.1.13", + "locPrf": "", + "weight": 0, + "path": "65514" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json new file mode 100644 index 000000000000..0ac6e9aacf14 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "neighbor": "10.6.1.112", + "asn": 65514, + "upDown": "1d14h", + "stateOrPrefixesReceived": "Active" + }, + { + "neighbor": "10.6.1.113", + "asn": 65514, + "upDown": "1d14h", + "stateOrPrefixesReceived": "1" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayCreate.json new file mode 100644 index 000000000000..c68c7b22e80f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "expressRouteGatewayName": "gateway-2", + "subscriptionId": "subid", + "resourceGroupName": "resourceGroupName", + "api-version": "2023-09-01", + "putExpressRouteGatewayParameters": { + "location": "westus", + "properties": { + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupId/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "autoScaleConfiguration": { + "bounds": { + "min": 3 + } + }, + "allowNonVirtualWanTraffic": false + } + } + }, + "responses": { + "201": { + "body": { + "name": "gateway-2", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "westus", + "type": "Microsoft.Network/expressRouteGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "autoScaleConfiguration": { + "bounds": { + "min": 3 + } + }, + "allowNonVirtualWanTraffic": false + } + } + }, + "200": { + "body": { + "name": "gateway-2", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "westus", + "type": "Microsoft.Network/expressRouteGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "autoScaleConfiguration": { + "bounds": { + "min": 3 + } + }, + "allowNonVirtualWanTraffic": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayDelete.json new file mode 100644 index 000000000000..16942576777f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayGet.json new file mode 100644 index 000000000000..c323e231025f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "expressRouteGatewayName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "westus", + "type": "Microsoft.Network/expressRouteGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "allowNonVirtualWanTraffic": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayListByResourceGroup.json new file mode 100644 index 000000000000..7a883c562f64 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayListByResourceGroup.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "resourceGroupName", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "expressRouteGatewayName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "westus", + "type": "Microsoft.Network/expressRouteGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "autoScaleConfiguration": { + "bounds": { + "min": 2 + } + }, + "allowNonVirtualWanTraffic": false, + "expressRouteConnections": [ + { + "name": "connectionName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName", + "properties": { + "provisioningState": "Provisioned", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "authorizationKey": "f28e9c99-78d8-4248-a855-c54cf6beb99d", + "routingWeight": 1, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hvirtualHubNameub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayListBySubscription.json new file mode 100644 index 000000000000..fe04e32cb35f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayListBySubscription.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "expressRouteGatewayName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "westus", + "type": "Microsoft.Network/expressRouteGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "autoScaleConfiguration": { + "bounds": { + "min": 2 + } + }, + "allowNonVirtualWanTraffic": false, + "expressRouteConnections": [ + { + "name": "connectionName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName", + "properties": { + "provisioningState": "Provisioned", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering" + }, + "authorizationKey": "f28e9c99-78d8-4248-a855-c54cf6beb99d", + "routingWeight": 1, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/hvirtualHubNameub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayUpdateTags.json new file mode 100644 index 000000000000..c7a0525b96ec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteGatewayUpdateTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "expressRouteGatewayParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "expressRouteGatewayName", + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "westus", + "type": "Microsoft.Network/expressRouteGateways", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "allowNonVirtualWanTraffic": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteLinkGet.json new file mode 100644 index 000000000000..714f14585d7a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteLinkGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "linkName": "linkName" + }, + "responses": { + "200": { + "body": { + "name": "linkName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/linkName", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "coloLocation": "coloLocationName", + "connectorType": "LC", + "adminState": "Disabled" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteLinkList.json new file mode 100644 index 000000000000..ef5f2a644a18 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteLinkList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "coloLocation": "coloLocation1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "name": "link2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "coloLocation": "coloLocation2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortAuthorizationCreate.json new file mode 100644 index 000000000000..71da8cd9227e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortAuthorizationCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "expressRoutePortName": "expressRoutePortName", + "resourceGroupName": "rg1", + "authorizationName": "authorizatinName", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "authorizationParameters": { + "properties": {} + } + }, + "responses": { + "201": { + "body": { + "name": "authorizationName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ExpressRoutePorts/expressRoutePortName/authorizations/authorizationName", + "etag": "W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"", + "properties": { + "provisioningState": "Updating", + "authorizationUseStatus": "Available", + "circuitResourceUri": "" + }, + "type": "Microsoft.Network/expressRoutePorts/authorizations" + } + }, + "200": { + "body": { + "name": "authorizationName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ExpressRoutePorts/expressRoutePortName/authorizations/authorizationName", + "etag": "W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"", + "properties": { + "provisioningState": "Updating", + "authorizationUseStatus": "Available", + "circuitResourceUri": "" + }, + "type": "Microsoft.Network/expressRoutePorts/authorizations" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortAuthorizationDelete.json new file mode 100644 index 000000000000..836f23cadd39 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortAuthorizationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "expressRoutePortName": "expressRoutePortName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "authorizationName": "authorizationName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortAuthorizationGet.json new file mode 100644 index 000000000000..3f9fc1989cab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortAuthorizationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "expressRoutePortName": "expressRoutePortName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "authorizationName": "authorizationName" + }, + "responses": { + "200": { + "body": { + "name": "authorizationName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ExpressRoutePorts/expressRoutePortName/authorizations/authorizationName", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authKey", + "authorizationUseStatus": "Available", + "circuitResourceUri": "" + }, + "type": "Microsoft.Network/expressRoutePorts/authorizations" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortAuthorizationList.json new file mode 100644 index 000000000000..14b3bd7d9e15 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortAuthorizationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "expressRoutePortName": "expressRoutePortName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "authorizationName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ExpressRoutePorts/expressRoutePortName/authorizations/authorizationName", + "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"", + "properties": { + "provisioningState": "Succeeded", + "authorizationKey": "authKey", + "authorizationUseStatus": "Available", + "circuitResourceUri": "" + }, + "type": "Microsoft.Network/expressRoutePorts/authorizations" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortCreate.json new file mode 100644 index 000000000000..105436abb939 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortCreate.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "parameters": { + "location": "westus", + "properties": { + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "encapsulation": "QinQ", + "billingType": "UnlimitedData" + } + } + }, + "responses": { + "200": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "billingType": "UnlimitedData", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + }, + "201": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "billingType": "UnlimitedData", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortDelete.json new file mode 100644 index 000000000000..161d9e507a85 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortGet.json new file mode 100644 index 000000000000..2489ff66cd57 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortGet.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "billingType": "UnlimitedData", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "coloLocation": "coloLocation1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "coloLocation": "coloLocation2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortList.json new file mode 100644 index 000000000000..4e0a77d17541 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortList.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "billingType": "UnlimitedData", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "coloLocation": "coloLocation1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "coloLocation": "coloLocation2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortListByResourceGroup.json new file mode 100644 index 000000000000..b4017ed68fbf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortListByResourceGroup.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "billingType": "UnlimitedData", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "coloLocation": "coloLocation1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "coloLocation": "coloLocation2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortUpdateLink.json new file mode 100644 index 000000000000..d5d986b2b0c0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortUpdateLink.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "parameters": { + "location": "westus", + "properties": { + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "encapsulation": "QinQ", + "billingType": "UnlimitedData", + "links": [ + { + "name": "link1", + "properties": { + "adminState": "Enabled" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "billingType": "UnlimitedData", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Enabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + }, + "201": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "billingType": "UnlimitedData", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Enabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortUpdateTags.json new file mode 100644 index 000000000000..63231f867577 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortUpdateTags.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "portName", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName", + "type": "Microsoft.Network/expressRoutePorts", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "provisionedBandwidthInGbps": 0.0, + "mtu": "1500", + "encapsulation": "QinQ", + "billingType": "UnlimitedData", + "etherType": "0x8100", + "allocationDate": "Friday, July 1, 2018", + "links": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1", + "name": "link1", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router1", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId1", + "rackId": "rackId1", + "connectorType": "LC", + "adminState": "Disabled" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2", + "name": "link2", + "properties": { + "provisioningState": "Succeeded", + "routerName": "router2", + "interfaceName": "Ethernet 0/0", + "patchPanelId": "patchPanelId2", + "rackId": "rackId2", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ], + "circuits": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortsLocationGet.json new file mode 100644 index 000000000000..357fd2942676 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortsLocationGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01", + "locationName": "locationName" + }, + "responses": { + "200": { + "body": { + "name": "locationName", + "id": "/subscriptions/subid/providers/Microsoft.Network/expressRoutePortsLocations/locationName", + "type": "Microsoft.Network/expressRoutePortsLocations", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "address": "123 Main Street, City, State, Zip", + "contact": "email@address.com", + "availableBandwidths": [ + { + "offerName": "100 Gbps", + "valueInGbps": 100 + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortsLocationList.json new file mode 100644 index 000000000000..938056358d1e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRoutePortsLocationList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "locationName", + "id": "/subscriptions/subid/providers/Microsoft.Network/expressRoutePortsLocations/locationName", + "type": "Microsoft.Network/expressRoutePortsLocations", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "address": "123 Main Street, City, State, Zip", + "contact": "email@address.com", + "availableBandwidths": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteProviderList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteProviderList.json new file mode 100644 index 000000000000..98b0b83ed883 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ExpressRouteProviderList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "providerName", + "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/", + "type": "Microsoft.Network/expressRouteServiceProviders", + "properties": { + "provisioningState": "Succeeded", + "peeringLocations": [ + "peeringLocation1", + "peeringLocation2" + ], + "bandwidthsOffered": [ + { + "offerName": "50Mbps", + "valueInMbps": 50 + }, + { + "offerName": "100Mbps", + "valueInMbps": 100 + }, + { + "offerName": "200Mbps", + "valueInMbps": 200 + }, + { + "offerName": "500Mbps", + "valueInMbps": 500 + }, + { + "offerName": "1Gbps", + "valueInMbps": 1000 + }, + { + "offerName": "2Gbps", + "valueInMbps": 2000 + }, + { + "offerName": "5Gbps", + "valueInMbps": 5000 + }, + { + "offerName": "10Gbps", + "valueInMbps": 10000 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyDelete.json new file mode 100644 index 000000000000..59ed462fb23f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Network/locations/region1" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyGet.json new file mode 100644 index 000000000000..d96b73269481 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyGet.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy" + }, + "responses": { + "200": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "size": "0.5MB", + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + } + ], + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxy": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "enablePacFile": true, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyListByResourceGroup.json new file mode 100644 index 000000000000..e373dc53c2f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyListByResourceGroup.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + } + ], + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "sku": { + "tier": "Standard" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyListBySubscription.json new file mode 100644 index 000000000000..07281f87c822 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyListBySubscription.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + } + ], + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "sku": { + "tier": "Standard" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyNatRuleCollectionGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyNatRuleCollectionGroupGet.json new file mode 100644 index 000000000000..45aa7ab2f7c9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyNatRuleCollectionGroupGet.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "action": { + "type": "DNAT" + }, + "rules": [ + { + "ruleType": "NatRule", + "name": "NatRule1", + "translatedFqdn": "internalhttpserver", + "translatedPort": "8080", + "ipProtocols": [ + "TCP", + "UDP" + ], + "sourceAddresses": [ + "2.2.2.2" + ], + "sourceIpGroups": [], + "destinationAddresses": [ + "152.23.32.23" + ], + "destinationPorts": [ + "8080" + ] + } + ], + "name": "NatRC", + "priority": 100 + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyNatRuleCollectionGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyNatRuleCollectionGroupPut.json new file mode 100644 index 000000000000..6c70f21dfcfd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyNatRuleCollectionGroupPut.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1", + "parameters": { + "properties": { + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "priority": 100, + "name": "Example-Nat-Rule-Collection", + "action": { + "type": "DNAT" + }, + "rules": [ + { + "ruleType": "NatRule", + "name": "nat-rule1", + "translatedFqdn": "internalhttp.server.net", + "translatedPort": "8080", + "ipProtocols": [ + "TCP", + "UDP" + ], + "sourceAddresses": [ + "2.2.2.2" + ], + "sourceIpGroups": [], + "destinationAddresses": [ + "152.23.32.23" + ], + "destinationPorts": [ + "8080" + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "name": "Example-Nat-Rule-Collection", + "priority": 100, + "action": { + "type": "DNAT" + }, + "rules": [ + { + "ruleType": "NatRule", + "name": "nat-rule1", + "translatedFqdn": "internalhttp.server.net", + "translatedPort": "8080", + "ipProtocols": [ + "TCP", + "UDP" + ], + "sourceAddresses": [ + "2.2.2.2" + ], + "sourceIpGroups": [], + "destinationAddresses": [ + "152.23.32.23" + ], + "destinationPorts": [ + "8080" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyNatRuleCollection", + "name": "Example-Nat-Rule-Collection", + "priority": 100, + "action": { + "type": "DNAT" + }, + "rules": [ + { + "ruleType": "NatRule", + "name": "nat-rule1", + "translatedFqdn": "internalhttp.server.net", + "translatedPort": "8080", + "ipProtocols": [ + "TCP", + "UDP" + ], + "sourceAddresses": [ + "2.2.2.2" + ], + "sourceIpGroups": [], + "destinationAddresses": [ + "152.23.32.23" + ], + "destinationPorts": [ + "8080" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyPatch.json new file mode 100644 index 000000000000..847c86034660 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyPatch.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-09-01", + "subscriptionId": "subId", + "parameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subId/resourceGroups/myResourceGroup/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + } + ], + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxy": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyPut.json new file mode 100644 index 000000000000..4332886afad5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyPut.json @@ -0,0 +1,344 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxy": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "enablePacFile": true, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "profile": "Balanced", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "size": "0.5MB", + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup2" + } + ], + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxy": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "enablePacFile": true, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "profile": "Balanced", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "size": "0.5MB", + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup2" + } + ], + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxy": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "enablePacFile": true, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "profile": "Balanced", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyQuerySignatureOverrides.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyQuerySignatureOverrides.json new file mode 100644 index 000000000000..209db9c8950c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyQuerySignatureOverrides.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "filters": [ + { + "field": "Mode", + "values": [ + "Deny" + ] + } + ], + "search": "", + "orderBy": { + "field": "severity", + "order": "Ascending" + }, + "resultsPerPage": 20, + "skip": 0 + } + }, + "responses": { + "200": { + "body": { + "signatures": [ + { + "signatureId": 2000015, + "mode": 2, + "severity": 1, + "direction": 2, + "group": "A Network Trojan was detected", + "description": "P2P Phatbot Control Connection", + "sourcePorts": [ + "any" + ], + "destinationPorts": [ + "any" + ], + "lastUpdated": "2010-07-30T00:00:00", + "inheritedFromParentPolicy": false, + "protocol": "tcp" + }, + { + "signatureId": 2000106, + "mode": 2, + "severity": 1, + "direction": 1, + "group": "Attempted User Privilege Gain", + "description": "WEB_SERVER SQL sp_delete_alert attempt", + "sourcePorts": [ + "any" + ], + "destinationPorts": [ + "any" + ], + "lastUpdated": "2019-09-27T00:00:00", + "inheritedFromParentPolicy": false, + "protocol": "http" + } + ], + "matchingRecordsCount": 2 + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyQuerySignatureOverridesFilterValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyQuerySignatureOverridesFilterValues.json new file mode 100644 index 000000000000..009750b28761 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyQuerySignatureOverridesFilterValues.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "filterName": "severity" + } + }, + "responses": { + "200": { + "body": { + "filterValues": [ + "low", + "medium", + "high" + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupDelete.json new file mode 100644 index 000000000000..bfd04dd89344 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Network/locations/region1" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupGet.json new file mode 100644 index 000000000000..c55fa509d1ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupGet.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "size": "1.2MB", + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 200, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupList.json new file mode 100644 index 000000000000..b5dfa875fc35 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "name": "Example-Filter-Rule-Collection", + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "priority": 120, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "network-rule-1", + "ruleType": "NetworkRule", + "description": "Network rule", + "destinationAddresses": [ + "*" + ], + "sourceAddresses": [ + "10.1.25.0/24" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupPut.json new file mode 100644 index 000000000000..e992257af2e0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupPut.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1", + "parameters": { + "properties": { + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 100, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "size": "1.2MB", + "provisioningState": "Succeeded", + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 100, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "size": "1.2MB", + "provisioningState": "Succeeded", + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 100, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithHttpHeadersToInsert.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithHttpHeadersToInsert.json new file mode 100644 index 000000000000..17e7f9c7abca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithHttpHeadersToInsert.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1", + "parameters": { + "properties": { + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Allow" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Insert trusted tenants header", + "protocols": [ + { + "protocolType": "Http", + "port": 80 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "fqdnTags": [ + "WindowsVirtualDesktop" + ], + "httpHeadersToInsert": [ + { + "headerName": "Restrict-Access-To-Tenants", + "headerValue": "contoso.com,fabrikam.onmicrosoft.com" + } + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Allow" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Insert trusted tenants header", + "protocols": [ + { + "protocolType": "Http", + "port": 80 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "fqdnTags": [ + "WindowsVirtualDesktop" + ], + "httpHeadersToInsert": [ + { + "headerName": "Restrict-Access-To-Tenants", + "headerValue": "contoso.com,fabrikam.onmicrosoft.com" + } + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Allow" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Insert trusted tenants header", + "protocols": [ + { + "protocolType": "Http", + "port": 80 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "fqdnTags": [ + "WindowsVirtualDesktop" + ], + "httpHeadersToInsert": [ + { + "headerName": "Restrict-Access-To-Tenants", + "headerValue": "contoso.com,fabrikam.onmicrosoft.com" + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json new file mode 100644 index 000000000000..56f5e5cdf184 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "ruleGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleGroups/ruleGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 200, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ], + "sourceIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups1" + ], + "destinationIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups2" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json new file mode 100644 index 000000000000..6da3b5e3857d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "name": "Example-Filter-Rule-Collection", + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "priority": 120, + "action": { + "type": "Deny" + }, + "rules": [ + { + "name": "network-rule-1", + "ruleType": "NetworkRule", + "description": "Network rule", + "sourceIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups1" + ], + "destinationIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups2" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json new file mode 100644 index 000000000000..2412d30cae11 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1", + "parameters": { + "properties": { + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-1", + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ], + "sourceIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups1" + ], + "destinationIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups2" + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-1", + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ], + "sourceIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups1" + ], + "destinationIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups2" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-1", + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ], + "sourceIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups1" + ], + "destinationIpGroups": [ + "/subscriptions/subid/providers/Microsoft.Network/resourceGroup/rg1/ipGroups/ipGroups2" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json new file mode 100644 index 000000000000..9e9f186860aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2" + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 200, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "webCategories": [ + "Hacking" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json new file mode 100644 index 000000000000..bbceaee79c1b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "name": "Example-Filter-Rule-Collection", + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "priority": 120, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "webCategories": [ + "Hacking" + ] + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json new file mode 100644 index 000000000000..5b6594117a54 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1", + "parameters": { + "properties": { + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "webCategories": [ + "Hacking" + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "webCategories": [ + "Hacking" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Deny inbound rule", + "protocols": [ + { + "protocolType": "Https", + "port": 443 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "webCategories": [ + "Hacking" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicySignatureOverridesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicySignatureOverridesGet.json new file mode 100644 index 000000000000..92eec131f8d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicySignatureOverridesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/signatureOverrides/default", + "name": "default", + "type": "Microsoft.Network/firewallPolicies/signatureOverrides", + "properties": { + "signatures": { + "2000105": "Off", + "2000106": "Deny" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicySignatureOverridesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicySignatureOverridesList.json new file mode 100644 index 000000000000..f4107985d07b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicySignatureOverridesList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/signatureOverrides/default", + "name": "default", + "type": "Microsoft.Network/firewallPolicies/signatureOverrides", + "properties": { + "signatures": { + "2000105": "Off", + "2000106": "Deny" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicySignatureOverridesPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicySignatureOverridesPatch.json new file mode 100644 index 000000000000..69e7c3b0485c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicySignatureOverridesPatch.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/signatureOverrides/default", + "name": "default", + "type": "Microsoft.Network/firewallPolicies/signatureOverrides", + "properties": { + "signatures": { + "2000105": "Off", + "2000106": "Deny" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/signatureOverrides/default", + "name": "default", + "type": "Microsoft.Network/firewallPolicies/signatureOverrides", + "properties": { + "signatures": { + "2000105": "Off", + "2000106": "Deny" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicySignatureOverridesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicySignatureOverridesPut.json new file mode 100644 index 000000000000..69e7c3b0485c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/FirewallPolicySignatureOverridesPut.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/signatureOverrides/default", + "name": "default", + "type": "Microsoft.Network/firewallPolicies/signatureOverrides", + "properties": { + "signatures": { + "2000105": "Off", + "2000106": "Deny" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/signatureOverrides/default", + "name": "default", + "type": "Microsoft.Network/firewallPolicies/signatureOverrides", + "properties": { + "signatures": { + "2000105": "Off", + "2000106": "Deny" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GenerateExpressRoutePortsLOA.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GenerateExpressRoutePortsLOA.json new file mode 100644 index 000000000000..20311cc959b3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GenerateExpressRoutePortsLOA.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "request": { + "customerName": "customerName" + } + }, + "responses": { + "200": { + "description": "Request successful. Returns the content as a base64 encoded string", + "body": { + "encodedContent": "TWFuIGlzIGRpc3" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json new file mode 100644 index 000000000000..ad38690002cf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualWANName": "wan1", + "vpnClientParams": { + "vpnServerConfigurationResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnconfig1", + "authenticationMethod": "EAPTLS" + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "profileUrl": "aaaaaaaaaaaaaaaaaaaaaaaaaaa" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetApplicationGatewayWafDynamicManifests.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetApplicationGatewayWafDynamicManifests.json new file mode 100644 index 000000000000..d43626f03a9e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetApplicationGatewayWafDynamicManifests.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "default", + "id": "/subscriptions/subid/providers/Microsoft.Network/applicationGatewayWafDynamicManifests/default", + "type": "Microsoft.Network/applicationGatewayWafDynamicManifest", + "properties": { + "defaultRuleSet": { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2" + }, + "availableRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "status": "0", + "tiers": [ + "WAF_v2" + ], + "ruleGroups": [ + { + "ruleGroupName": "General", + "description": "", + "rules": [ + { + "ruleId": 200002, + "ruleIdString": "200002", + "description": "Failed to Parse Request Body.", + "state": "Enabled", + "action": "AnomalyScoring" + }, + { + "ruleId": 200003, + "ruleIdString": "200003", + "description": "Multipart Request Body Strict Validation.", + "state": "Enabled", + "action": "AnomalyScoring" + }, + { + "ruleId": 200004, + "ruleIdString": "200004", + "description": "Possible Multipart Unmatched Boundary.", + "state": "Enabled", + "action": "AnomalyScoring" + } + ] + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetApplicationGatewayWafDynamicManifestsDefault.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetApplicationGatewayWafDynamicManifestsDefault.json new file mode 100644 index 000000000000..1cc8e34e1230 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetApplicationGatewayWafDynamicManifestsDefault.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2021-05-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/subid/providers/Microsoft.Network/applicationGatewayWafDynamicManifests/default", + "type": "Microsoft.Network/applicationGatewayWafDynamicManifest", + "properties": { + "defaultRuleSet": { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2" + }, + "availableRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "status": "0", + "tiers": [ + "WAF_v2" + ], + "ruleGroups": [ + { + "ruleGroupName": "General", + "description": "", + "rules": [ + { + "ruleId": 200002, + "ruleIdString": "200002", + "description": "Failed to Parse Request Body.", + "state": "Enabled", + "action": "AnomalyScoring" + }, + { + "ruleId": 200003, + "ruleIdString": "200003", + "description": "Multipart Request Body Strict Validation.", + "state": "Enabled", + "action": "AnomalyScoring" + }, + { + "ruleId": 200004, + "ruleIdString": "200004", + "description": "Possible Multipart Unmatched Boundary.", + "state": "Enabled", + "action": "AnomalyScoring" + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetInboundRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetInboundRoutes.json new file mode 100644 index 000000000000..75681bb5bcea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetInboundRoutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2023-09-01", + "getInboundRoutesParameters": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/exrGw1/expressRouteConnections/exrConn1", + "connectionType": "ExpressRouteConnection" + } + }, + "responses": { + "200": { + "body": { + "status": "Succeeded", + "properties": { + "output": { + "value": [ + { + "prefix": "192.168.50.0/24", + "asPath": "65520-65520", + "bgpCommunities": "4293853166,12076,51004" + }, + { + "prefix": "10.200.0.0/16", + "asPath": "65520-65520-12076-12076", + "bgpCommunities": "4293787629,12076,51027,4293734188" + } + ] + } + } + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetOutboundRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetOutboundRoutes.json new file mode 100644 index 000000000000..445e267e6dd3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetOutboundRoutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2023-09-01", + "getOutboundRoutesParameters": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/exrGw1/expressRouteConnections/exrConn1", + "connectionType": "ExpressRouteConnection" + } + }, + "responses": { + "200": { + "body": { + "status": "Succeeded", + "properties": { + "output": { + "value": [ + { + "prefix": "192.168.50.0/24", + "asPath": "65520-65520", + "bgpCommunities": "4293853166,12076,51004" + }, + { + "prefix": "10.200.0.0/16", + "asPath": "65520-65520-12076-12076", + "bgpCommunities": "4293787629,12076,51027,4293734188" + } + ] + } + } + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetVirtualWanVpnServerConfigurations.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetVirtualWanVpnServerConfigurations.json new file mode 100644 index 000000000000..b79fe884ebb4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/GetVirtualWanVpnServerConfigurations.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "virtualWANName": "wan1" + }, + "responses": { + "200": { + "description": "Request successful.", + "body": { + "vpnServerConfigurationResourceIds": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnconfig1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnconfig2" + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubRouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubRouteTableDelete.json new file mode 100644 index 000000000000..ca1ca099f2ed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubRouteTableDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubRouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubRouteTableGet.json new file mode 100644 index 000000000000..1b41574d6b96 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubRouteTableGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "hubRouteTable1", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route1", + "destinationType": "CIDR", + "destinations": [ + "10.0.0.0/8", + "20.0.0.0/8", + "30.0.0.0/8" + ], + "nextHopType": "ResourceId", + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azureFirewall1" + } + ], + "labels": [ + "label1", + "label2" + ], + "associatedConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn2" + ], + "propagatingConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/erg1/expressRouteConnections/erConn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw1/vpnConnections/vpnConn2" + ] + }, + "type": "Microsoft.Network/virtualHubs/hubRouteTables" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubRouteTableList.json new file mode 100644 index 000000000000..4925930d2864 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubRouteTableList.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "name": "hubRouteTable1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route1a", + "destinationType": "CIDR", + "destinations": [ + "10.0.0.0/8", + "20.0.0.0/8", + "30.0.0.0/8" + ], + "nextHopType": "ResourceId", + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azureFirewall1" + } + ], + "labels": [ + "label1", + "label2" + ], + "associatedConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn2" + ], + "propagatingConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/erg1/expressRouteConnections/erConn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw1/vpnConnections/vpnConn2" + ] + }, + "type": "Microsoft.Network/virtualHubs/hubRouteTables" + }, + { + "name": "hubRouteTable2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route2a", + "destinationType": "CIDR", + "destinations": [ + "40.0.0.0/8", + "50.0.0.0/8", + "60.0.0.0/8" + ], + "nextHopType": "ResourceId", + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/vn1" + } + ], + "labels": [ + "label3" + ], + "associatedConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn3", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn4" + ], + "propagatingConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/erg1/expressRouteConnections/erConn2", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw1/vpnConnections/vpnConn1" + ] + }, + "type": "Microsoft.Network/virtualHubs/hubRouteTables" + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubRouteTablePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubRouteTablePut.json new file mode 100644 index 000000000000..966bdf0acb20 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubRouteTablePut.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1", + "routeTableParameters": { + "properties": { + "routes": [ + { + "name": "route1", + "destinationType": "CIDR", + "destinations": [ + "10.0.0.0/8", + "20.0.0.0/8", + "30.0.0.0/8" + ], + "nextHopType": "ResourceId", + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azureFirewall1" + } + ], + "labels": [ + "label1", + "label2" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "hubRouteTable1", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route1", + "destinationType": "CIDR", + "destinations": [ + "10.0.0.0/8", + "20.0.0.0/8", + "30.0.0.0/8" + ], + "nextHopType": "ResourceId", + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azureFirewall1" + } + ], + "labels": [ + "label1", + "label2" + ], + "associatedConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn2" + ], + "propagatingConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/erg1/expressRouteConnections/erConn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw1/vpnConnections/vpnConn2" + ] + }, + "type": "Microsoft.Network/virtualHubs/hubRouteTables" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "hubRouteTable1", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route1", + "destinationType": "CIDR", + "destinations": [ + "10.0.0.0/8", + "20.0.0.0/8", + "30.0.0.0/8" + ], + "nextHopType": "ResourceId", + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azureFirewall1" + } + ], + "labels": [ + "label1", + "label2" + ], + "associatedConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/vnetConnn2" + ], + "propagatingConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/erg1/expressRouteConnections/erConn1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw1/vpnConnections/vpnConn2" + ] + }, + "type": "Microsoft.Network/virtualHubs/hubRouteTables" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubVirtualNetworkConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubVirtualNetworkConnectionDelete.json new file mode 100644 index 000000000000..f3097b4ab5af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubVirtualNetworkConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubVirtualNetworkConnectionGet.json new file mode 100644 index 000000000000..1eb4451076b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubVirtualNetworkConnectionGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1" + }, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutesConfig": { + "propagateStaticRoutes": true, + "vnetLocalRouteOverrideCriteria": "Equal" + }, + "staticRoutes": [ + { + "name": "route1", + "addressPrefixes": [ + "10.1.0.0/16", + "10.2.0.0/16" + ], + "nextHopIpAddress": "10.0.0.68" + }, + { + "name": "route2", + "addressPrefixes": [ + "10.3.0.0/16", + "10.4.0.0/16" + ], + "nextHopIpAddress": "10.0.0.65" + } + ], + "bgpConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/bgpConnections/bgpConn1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubVirtualNetworkConnectionList.json new file mode 100644 index 000000000000..6d6d896194e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubVirtualNetworkConnectionList.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1" + }, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutesConfig": { + "propagateStaticRoutes": true, + "vnetLocalRouteOverrideCriteria": "Equal" + }, + "staticRoutes": [ + { + "name": "route1", + "addressPrefixes": [ + "10.1.0.0/16", + "10.2.0.0/16" + ], + "nextHopIpAddress": "10.0.0.68" + }, + { + "name": "route2", + "addressPrefixes": [ + "10.3.0.0/16", + "10.4.0.0/16" + ], + "nextHopIpAddress": "10.0.0.65" + } + ], + "bgpConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/bgpConnections/bgpConn1" + } + ] + } + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + }, + { + "name": "connection2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [ + { + "name": "route1", + "addressPrefixes": [ + "10.1.0.0/16", + "10.2.0.0/16" + ], + "nextHopIpAddress": "10.0.0.68" + }, + { + "name": "route2", + "addressPrefixes": [ + "10.3.0.0/16", + "10.4.0.0/16" + ], + "nextHopIpAddress": "10.0.0.65" + } + ], + "bgpConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/bgpConnections/bgpConn2" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubVirtualNetworkConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubVirtualNetworkConnectionPut.json new file mode 100644 index 000000000000..3d446614f5b3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/HubVirtualNetworkConnectionPut.json @@ -0,0 +1,194 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "hubVirtualNetworkConnectionParameters": { + "properties": { + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1" + }, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "vnetRoutes": { + "staticRoutesConfig": { + "vnetLocalRouteOverrideCriteria": "Equal" + }, + "staticRoutes": [ + { + "name": "route1", + "addressPrefixes": [ + "10.1.0.0/16", + "10.2.0.0/16" + ], + "nextHopIpAddress": "10.0.0.68" + }, + { + "name": "route2", + "addressPrefixes": [ + "10.3.0.0/16", + "10.4.0.0/16" + ], + "nextHopIpAddress": "10.0.0.65" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Updating", + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1" + }, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "vnetRoutes": { + "staticRoutesConfig": { + "propagateStaticRoutes": true, + "vnetLocalRouteOverrideCriteria": "Equal" + }, + "staticRoutes": [ + { + "name": "route1", + "addressPrefixes": [ + "10.1.0.0/16", + "10.2.0.0/16" + ], + "nextHopIpAddress": "10.0.0.68" + }, + { + "name": "route2", + "addressPrefixes": [ + "10.3.0.0/16", + "10.4.0.0/16" + ], + "nextHopIpAddress": "10.0.0.65" + } + ], + "bgpConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/bgpConnections/bgpConn1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + }, + "201": { + "body": { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Updating", + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1" + }, + "enableInternetSecurity": false, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "vnetRoutes": { + "staticRoutesConfig": { + "propagateStaticRoutes": true, + "vnetLocalRouteOverrideCriteria": "Equal" + }, + "staticRoutes": [ + { + "name": "route1", + "addressPrefixes": [ + "10.1.0.0/16", + "10.2.0.0/16" + ], + "nextHopIpAddress": "10.0.0.68" + }, + { + "name": "route2", + "addressPrefixes": [ + "10.3.0.0/16", + "10.4.0.0/16" + ], + "nextHopIpAddress": "10.0.0.65" + } + ], + "bgpConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/bgpConnections/bgpConn1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundNatRuleCreate.json new file mode 100644 index 000000000000..482b3b5c160f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundNatRuleCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "loadBalancerName": "lb1", + "inboundNatRuleName": "natRule1.1", + "inboundNatRuleParameters": { + "properties": { + "protocol": "Tcp", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1" + }, + "frontendPort": 3390, + "backendPort": 3389, + "idleTimeoutInMinutes": 4, + "enableTcpReset": false, + "enableFloatingIP": false + } + } + }, + "responses": { + "200": { + "body": { + "name": "natRule1.1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1" + }, + "frontendPort": 3390, + "backendPort": 3389, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 4, + "protocol": "Tcp", + "enableTcpReset": false, + "backendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + } + } + } + }, + "201": { + "body": { + "name": "natRule1.1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1" + }, + "frontendPort": 3390, + "backendPort": 3389, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 4, + "protocol": "Tcp", + "enableTcpReset": false, + "backendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundNatRuleDelete.json new file mode 100644 index 000000000000..f031be2dabd1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundNatRuleDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "loadBalancerName": "lb1", + "inboundNatRuleName": "natRule1.1" + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundNatRuleGet.json new file mode 100644 index 000000000000..9f7702c3b629 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundNatRuleGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "loadBalancerName": "lb1", + "inboundNatRuleName": "natRule1.1" + }, + "responses": { + "200": { + "body": { + "name": "natRule1.1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1" + }, + "frontendPort": 3390, + "backendPort": 3389, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 4, + "protocol": "Tcp", + "enableTcpReset": true, + "backendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundNatRuleList.json new file mode 100644 index 000000000000..ef1a7f385bd1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundNatRuleList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "loadBalancerName": "lb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "natRule1.1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.1", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1" + }, + "frontendPort": 3390, + "backendPort": 3389, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 4, + "protocol": "Tcp", + "enableTcpReset": true, + "backendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + } + } + }, + { + "name": "natRule1.3", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natRule1.3", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/ip1" + }, + "frontendPort": 3392, + "backendPort": 3389, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 4, + "protocol": "Tcp", + "enableTcpReset": true, + "backendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundSecurityRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundSecurityRulePut.json new file mode 100644 index 000000000000..c68327499d3e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/InboundSecurityRulePut.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "ruleCollectionName": "rule1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "properties": { + "rules": [ + { + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22 + } + ] + } + } + }, + "201": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22 + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationCreate.json new file mode 100644 index 000000000000..bb612581d1f5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ipAllocationName": "test-ipallocation", + "parameters": { + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + }, + "location": "centraluseuap" + } + }, + "responses": { + "200": { + "body": { + "name": "test-ipallocation", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "ipamAllocationId": "916d3b28-663f-448b-9abc-1bea9d5fed8f", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + } + } + }, + "201": { + "body": { + "name": "test-ipallocation", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "ipamAllocationId": "916d3b28-663f-448b-9abc-1bea9d5fed8f", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationDelete.json new file mode 100644 index 000000000000..94c919971b9a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ipAllocationName": "test-ipallocation" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationGet.json new file mode 100644 index 000000000000..199e325d2ec4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ipAllocationName": "test-ipallocation" + }, + "responses": { + "200": { + "body": { + "name": "test-ipallocation", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "ipamAllocationId": "916d3b28-663f-448b-9abc-1bea9d5fed8f", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationList.json new file mode 100644 index 000000000000..48cd898a741f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-ipallocation1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation1", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "ipamAllocationId": "916d3b28-663f-448b-9abc-1bea9d5fed8f", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + } + }, + { + "name": "test-ipallocation2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation2", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.6.0/24", + "ipamAllocationId": "57dc7256-2ff7-43f2-b9c8-85a70b5c6408", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet2" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationListByResourceGroup.json new file mode 100644 index 000000000000..b7f7b166c17a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-ipallocation1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation1", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "ipamAllocationId": "916d3b28-663f-448b-9abc-1bea9d5fed8f", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + } + }, + { + "name": "test-ipallocation2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation2", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "properties": { + "type": "Hypernet", + "prefix": "3.2.6.0/24", + "ipamAllocationId": "57dc7256-2ff7-43f2-b9c8-85a70b5c6408", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet2" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationUpdateTags.json new file mode 100644 index 000000000000..3d5b839922eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpAllocationUpdateTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ipAllocationName": "test-ipallocation", + "location": "centraluseuap", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-ipallocation", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/IpAllocations/test-ipallocation", + "type": "Microsoft.Network/IpAllocations", + "location": "centraluseuap", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "type": "Hypernet", + "prefix": "3.2.5.0/24", + "ipamAllocationId": "916d3b28-663f-448b-9abc-1bea9d5fed8f", + "allocationTags": { + "VNetID": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/HypernetVnet1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsCreate.json new file mode 100644 index 000000000000..6feeb9b54abf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsCreate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "myResourceGroup", + "ipGroupsName": "ipGroups1", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ipGroups1", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1", + "type": "Microsoft.Network/ipGroups", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + }, + "201": { + "body": { + "name": "ipGroups1", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1", + "type": "Microsoft.Network/ipGroups", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsDelete.json new file mode 100644 index 000000000000..6026c4bb2962 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "myResourceGroup", + "ipGroupsName": "ipGroups1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsGet.json new file mode 100644 index 000000000000..be5060615dd5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "myResourceGroup", + "ipGroupsName": "ipGroups1" + }, + "responses": { + "200": { + "body": { + "name": "ipGroups1", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1", + "type": "Microsoft.Network/ipGroups", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsListByResourceGroup.json new file mode 100644 index 000000000000..c54e9fc3075d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsListByResourceGroup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ipGroups1", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups", + "type": "Microsoft.Network/ipGroups", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + }, + { + "name": "ipGroups2", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups", + "type": "Microsoft.Network/ipGroups", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "14.64.39.16/32", + "41.74.146.80/31", + "42.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsListBySubscription.json new file mode 100644 index 000000000000..a5724ca54385 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsListBySubscription.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "iptag1", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup1/ipGroups", + "type": "Microsoft.Network/ipGroups", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + }, + { + "name": "iptag2", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup2/ipGroups", + "type": "Microsoft.Network/ipGroups", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "14.64.39.16/32", + "41.74.146.80/31", + "42.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsUpdateTags.json new file mode 100644 index 000000000000..1a219d3b9fed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/IpGroupsUpdateTags.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "ipGroupsName": "ipGroups1", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-09-01", + "subscriptionId": "subId", + "parameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "ipGroups1", + "id": "/subscriptions/subId/providers/Microsoft.Network/resourceGroup/myResourceGroup/ipGroups/ipGroups1", + "type": "Microsoft.Network/ipGroups", + "location": "westcentralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "ipAddresses": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ], + "firewalls": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall" + } + ], + "firewallPolicies": [] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json new file mode 100644 index 000000000000..60c88c21bf5d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json new file mode 100644 index 000000000000..d81d01fdd137 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json new file mode 100644 index 000000000000..b0d0d29e1340 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2023-09-01", + "parameters": { + "properties": { + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + }, + "201": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerBackendAddressPoolDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerBackendAddressPoolDelete.json new file mode 100644 index 000000000000..eb8ad11a4ab1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerBackendAddressPoolDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerBackendAddressPoolGet.json new file mode 100644 index 000000000000..f0305de74b2c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerBackendAddressPoolGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "backendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic/ipConfigurations/default-ip-config" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerBackendAddressPoolList.json new file mode 100644 index 000000000000..748df5540f4b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerBackendAddressPoolList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "backendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic/ipConfigurations/default-ip-config" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreate.json new file mode 100644 index 000000000000..b415eed5abec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreate.json @@ -0,0 +1,342 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1 + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false + } + } + ], + "inboundNatPools": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false + } + } + ], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false + } + } + ], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json new file mode 100644 index 000000000000..34c3ce845905 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json @@ -0,0 +1,351 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "gatewayLoadBalancer": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1 + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ], + "gatewayLoadBalancer": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ], + "gatewayLoadBalancer": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json new file mode 100644 index 000000000000..6e8a701f801b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json @@ -0,0 +1,333 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Gateway" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": { + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + }, + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 0, + "backendPort": 0, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "All", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1 + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Gateway" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + }, + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Gateway" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + }, + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json new file mode 100644 index 000000000000..049bd1507cea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json @@ -0,0 +1,364 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Gateway" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb1", + "properties": {} + }, + { + "name": "be-lb2", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 0, + "backendPort": 0, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "All", + "loadDistribution": "Default", + "backendAddressPool": {}, + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1 + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Gateway" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + }, + { + "name": "be-lb2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 0, + "backendPort": 0, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Gateway" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + }, + { + "name": "be-lb2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateGlobalTier.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateGlobalTier.json new file mode 100644 index 000000000000..b11c5188b358 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateGlobalTier.json @@ -0,0 +1,317 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard", + "tier": "Global" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": { + "loadBalancerBackendAddresses": [ + { + "name": "regional-lb1-address", + "properties": { + "loadBalancerFrontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb" + } + } + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1 + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard", + "tier": "Global" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "regional-lb1-address", + "properties": { + "loadBalancerFrontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb" + } + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard", + "tier": "Global" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "regional-lb1-address", + "properties": { + "loadBalancerFrontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb" + } + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateStandardSku.json new file mode 100644 index 000000000000..7d89731a3b20 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateStandardSku.json @@ -0,0 +1,342 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1 + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateWithInboundNatPool.json new file mode 100644 index 000000000000..d224d2987079 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateWithInboundNatPool.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "frontendIPConfigurations": [ + { + "properties": { + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet" + } + }, + "name": "test", + "zones": [], + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test" + } + ], + "backendAddressPools": [], + "loadBalancingRules": [], + "probes": [], + "inboundNatRules": [], + "outboundRules": [], + "inboundNatPools": [ + { + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test" + }, + "protocol": "Tcp", + "frontendPortRangeStart": 8080, + "frontendPortRangeEnd": 8085, + "backendPort": 8888, + "idleTimeoutInMinutes": 10, + "enableFloatingIP": true, + "enableTcpReset": true + }, + "name": "test", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "test", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet" + }, + "inboundNatPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test" + } + ] + } + } + ], + "backendAddressPools": [], + "loadBalancingRules": [], + "probes": [], + "inboundNatRules": [], + "outboundRules": [], + "inboundNatPools": [ + { + "name": "test", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test", + "type": "Microsoft.Network/loadBalancers/inboundNatPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendPortRangeStart": 8080, + "frontendPortRangeEnd": 8085, + "backendPort": 8888, + "idleTimeoutInMinutes": 10, + "enableFloatingIP": true, + "protocol": "Tcp", + "enableTcpReset": true, + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test" + } + } + } + ] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "test", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet" + }, + "inboundNatPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test" + } + ] + } + } + ], + "backendAddressPools": [], + "loadBalancingRules": [], + "probes": [], + "inboundNatRules": [], + "outboundRules": [], + "inboundNatPools": [ + { + "name": "test", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test", + "type": "Microsoft.Network/loadBalancers/inboundNatPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendPortRangeStart": 8080, + "frontendPortRangeEnd": 8085, + "backendPort": 8888, + "idleTimeoutInMinutes": 10, + "enableFloatingIP": true, + "protocol": "Tcp", + "enableTcpReset": true, + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test" + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateWithOutboundRules.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateWithOutboundRules.json new file mode 100644 index 000000000000..f36ca68e29f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateWithOutboundRules.json @@ -0,0 +1,426 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "protocol": "Tcp", + "loadDistribution": "Default", + "frontendPort": 80, + "backendPort": 80, + "idleTimeoutInMinutes": 15, + "enableFloatingIP": true, + "disableOutboundSnat": true + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1 + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "inboundNatPools": [], + "outboundRules": [ + { + "name": "rule1", + "properties": { + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "protocol": "All" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ], + "outboundRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1" + } + ], + "privateIPAddressVersion": "IPv4" + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "outboundRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false, + "loadDistribution": "Default", + "disableOutboundSnat": true, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false + } + } + ], + "outboundRules": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1", + "type": "Microsoft.Network/loadBalancers/outboundRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "allocatedOutboundPorts": 1024, + "protocol": "All", + "enableTcpReset": false, + "idleTimeoutInMinutes": 4, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ] + } + } + ], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ], + "outboundRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1" + } + ], + "privateIPAddressVersion": "IPv4" + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "outboundRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false, + "loadDistribution": "Default", + "disableOutboundSnat": true, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": false + } + } + ], + "outboundRules": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1", + "type": "Microsoft.Network/loadBalancers/outboundRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "allocatedOutboundPorts": 1024, + "protocol": "All", + "enableTcpReset": false, + "idleTimeoutInMinutes": 4, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ] + } + } + ], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json new file mode 100644 index 000000000000..3a83f88e97f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json @@ -0,0 +1,355 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": { + "syncMode": "Automatic", + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + } + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1 + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "syncMode": "Automatic" + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "syncMode": "Automatic" + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateWithZones.json new file mode 100644 index 000000000000..982445120cd2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerCreateWithZones.json @@ -0,0 +1,351 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + }, + "zones": [ + "1" + ] + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1 + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerDelete.json new file mode 100644 index 000000000000..62e199aff707 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerDelete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb" + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerFrontendIPConfigurationGet.json new file mode 100644 index 000000000000..4788f132d034 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerFrontendIPConfigurationGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "frontendIPConfigurationName": "frontend", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "name": "frontend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/frontend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerFrontendIPConfigurationList.json new file mode 100644 index 000000000000..b1307f84de9c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerFrontendIPConfigurationList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "loadBalancerName": "lb" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "frontend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/frontend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerGet.json new file mode 100644 index 000000000000..1230243fe735 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerGet.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb" + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/probes", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true + } + } + ], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerGetInboundNatRulePortMapping.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerGetInboundNatRulePortMapping.json new file mode 100644 index 000000000000..13f1cc6ad826 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerGetInboundNatRulePortMapping.json @@ -0,0 +1,163 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb" + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "8bec96ef-0a6a-45b8-9860-4ffde7bf3572", + "properties": { + "ipAddress": "10.0.0.4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "inboundNatRulesPortMapping": [ + { + "inboundNatRuleName": "natRule", + "frontendPort": 3389, + "backendPort": 3389 + } + ] + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/probes", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 0, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "frontendPortRangeStart": 3389, + "frontendPortRangeEnd": 4000, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + } + } + } + ], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerList.json new file mode 100644 index 000000000000..fe27885b861f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerList.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "felb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "belb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb" + } + } + } + ], + "probes": [ + { + "name": "prlb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/probes", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "inrlb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true + } + } + ], + "inboundNatPools": [] + } + }, + { + "name": "lb2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb2", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [], + "backendAddressPools": [], + "loadBalancingRules": [], + "probes": [], + "inboundNatRules": [], + "inboundNatPools": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerListAll.json new file mode 100644 index 000000000000..1371249a4763 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerListAll.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "felb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "belb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/belb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb" + } + } + } + ], + "probes": [ + { + "name": "prlb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/prlb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/probes", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "inrlb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inrlb", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers/inboundNatRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/felb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true + } + } + ], + "inboundNatPools": [] + } + }, + { + "name": "lb3", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb3", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [], + "backendAddressPools": [], + "loadBalancingRules": [], + "probes": [], + "inboundNatRules": [], + "inboundNatPools": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerLoadBalancingRuleGet.json new file mode 100644 index 000000000000..67cc89ebf26f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerLoadBalancingRuleGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "loadBalancingRuleName": "rule1", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/loadBalancingRules/rule1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/probes/probe1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerLoadBalancingRuleList.json new file mode 100644 index 000000000000..67a98e1528c9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerLoadBalancingRuleList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/loadBalancingRules/rule1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/probes/probe1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerNetworkInterfaceListSimple.json new file mode 100644 index 000000000000..b94b70192c72 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerNetworkInterfaceListSimple.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mynic", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/ipConfigurations/ipconfig1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/frontendSubnet" + }, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/inbound1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": false, + "enableIPForwarding": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerNetworkInterfaceListVmss.json new file mode 100644 index 000000000000..eeabb20ef092 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerNetworkInterfaceListVmss.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "vmss1Nic", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1Nic", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "vmss1IpConfig", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1Nic/ipConfigurations/vmss1IpConfig", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vmss1Vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/natpool.0" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "aaaaaaaaaaaaaaaaaaaaaaaaaa.dx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0" + } + } + }, + { + "name": "vmss1Nic", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1Nic", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "vmss1IpConfig", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1Nic/ipConfigurations/vmss1IpConfig", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vmss1Vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/bepool" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/natpool.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "aaaaaaaaaaaaaaaaaaaaaaaaaa.dx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerOutboundRuleGet.json new file mode 100644 index 000000000000..02440a8c80ec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerOutboundRuleGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "outboundRuleName": "rule1", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1", + "type": "Microsoft.Network/loadBalancers/outboundRules", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend" + } + ], + "allocatedOutboundPorts": 64, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerOutboundRuleList.json new file mode 100644 index 000000000000..62ff9296f18e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerOutboundRuleList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1", + "type": "Microsoft.Network/loadBalancers/outboundRules", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend" + } + ], + "allocatedOutboundPorts": 64, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "enableTcpReset": true, + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerProbeGet.json new file mode 100644 index 000000000000..932e737ee835 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerProbeGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "probeName": "probe1", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "name": "probe1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/probes/probe1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/probes", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerProbeList.json new file mode 100644 index 000000000000..454c2d8e21d6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerProbeList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "prlb", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/probes/prlb", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/probes", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerUpdateTags.json new file mode 100644 index 000000000000..582b86f1d394 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancerUpdateTags.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "properties": { + "provisioningState": "Succeeded", + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "in-nat-rule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp" + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancersSwapPublicIpAddresses.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancersSwapPublicIpAddresses.json new file mode 100644 index 000000000000..09689483f77a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LoadBalancersSwapPublicIpAddresses.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "location": "westus", + "parameters": { + "frontendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfe1", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/pip2" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb2/frontendIPConfigurations/lbfe2", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip1" + } + } + } + ] + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayCreate.json new file mode 100644 index 000000000000..a19df18812f3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayCreate.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "localNetworkGatewayName": "localgw", + "parameters": { + "properties": { + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.1.0.0/16" + ] + }, + "gatewayIpAddress": "11.12.13.14", + "fqdn": "site1.contoso.com" + }, + "location": "Central US" + } + }, + "responses": { + "201": { + "body": { + "name": "localgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/localNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Updating", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.1.0.0/16" + ] + }, + "gatewayIpAddress": "11.12.13.14" + } + } + }, + "200": { + "body": { + "name": "localgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/localNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Updating", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.1.0.0/16" + ] + }, + "gatewayIpAddress": "11.12.13.14" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayDelete.json new file mode 100644 index 000000000000..a74ea32a5f3f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "localNetworkGatewayName": "localgw" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayGet.json new file mode 100644 index 000000000000..ffa1d379fbbc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "localNetworkGatewayName": "localgw" + }, + "responses": { + "200": { + "body": { + "name": "localgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/localNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.1.0.0/16" + ] + }, + "gatewayIpAddress": "x.x.x.x" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayList.json new file mode 100644 index 000000000000..be7c28bfa907 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "localgw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/localNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.1.0.0/16" + ] + }, + "gatewayIpAddress": "x.x.x.x" + } + }, + { + "name": "localgw2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/localNetworkGateways", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.2.0.0/16" + ] + }, + "gatewayIpAddress": "x.x.x.x" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayUpdateTags.json new file mode 100644 index 000000000000..34fc53b9aee8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/LocalNetworkGatewayUpdateTags.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "localNetworkGatewayName": "lgw", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "lgw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/lgw", + "type": "Microsoft.Network/localNetworkGateways", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "localNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "gatewayIpAddress": "12.0.0.1" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/MigrateLoadBalancerToIPBased.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/MigrateLoadBalancerToIPBased.json new file mode 100644 index 000000000000..41ec34902385 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/MigrateLoadBalancerToIPBased.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "groupName": "rg1", + "loadBalancerName": "lb1", + "parameters": { + "pools": [ + "pool1", + "pool2" + ] + } + }, + "responses": { + "200": { + "body": { + "migratedPools": [ + "pool1", + "pool2" + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayCreateOrUpdate.json new file mode 100644 index 000000000000..7fcc9b0f0ba5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayCreateOrUpdate.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "natGatewayName": "test-natgateway", + "parameters": { + "location": "westus", + "sku": { + "name": "Standard" + }, + "properties": { + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-natGateway", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + } + }, + "201": { + "body": { + "name": "test-natGateway", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayDelete.json new file mode 100644 index 000000000000..22e706fb7edd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "natGatewayName": "test-natGateway" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayGet.json new file mode 100644 index 000000000000..5b610192ea26 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "natGatewayName": "test-natGateway" + }, + "responses": { + "200": { + "body": { + "name": "test-natGateway", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayList.json new file mode 100644 index 000000000000..cec71cec5528 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayList.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-natGateway", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateway/test-natGateway", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + }, + { + "name": "test-natGateway2", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/natGateway/test-natGateway2", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayListAll.json new file mode 100644 index 000000000000..926603762a3b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayListAll.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-natGateway", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + }, + { + "name": "test-natGateway2", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/natGatewayes/test-natGateway2", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "type": "Microsoft.Network/natGateways" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayUpdateTags.json new file mode 100644 index 000000000000..61653b1f0cc8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatGatewayUpdateTags.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "natGatewayName": "test-natGateway", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-natGateway", + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway", + "location": "westus", + "properties": { + "idleTimeoutInMinutes": 5, + "provisioningState": "Succeeded", + "publicIpAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ], + "publicIpPrefixes": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1" + } + ], + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/natGateways" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatRuleDelete.json new file mode 100644 index 000000000000..91d2dd579446 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatRuleGet.json new file mode 100644 index 000000000000..5173d4a4910c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatRuleGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "natRuleName": "natRule1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [], + "egressVpnSiteLinkConnections": [], + "ingressVpnSiteLinkConnections": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatRuleList.json new file mode 100644 index 000000000000..de7a4e9ad242 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatRuleList.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection1" + } + ], + "ingressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection2" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection1" + } + ], + "ingressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection2" + } + ] + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatRulePut.json new file mode 100644 index 000000000000..4646b8f273ef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NatRulePut.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "NatRuleParameters": { + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection1" + } + ], + "ingressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection2" + } + ] + } + } + }, + "201": { + "body": { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection1" + } + ], + "ingressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection2" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceCreate.json new file mode 100644 index 000000000000..3394ecc8c245 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceCreate.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic", + "parameters": { + "properties": { + "enableAcceleratedNetworking": true, + "disableTcpStateTracking": true, + "ipConfigurations": [ + { + "name": "ipconfig1", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + } + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "disableTcpStateTracking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + }, + "201": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json new file mode 100644 index 000000000000..95234aa266bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic", + "parameters": { + "properties": { + "enableAcceleratedNetworking": true, + "ipConfigurations": [ + { + "name": "ipconfig1", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "gatewayLoadBalancer": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider" + } + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "gatewayLoadBalancer": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider" + } + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + }, + "201": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "gatewayLoadBalancer": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider" + } + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceDelete.json new file mode 100644 index 000000000000..29852cc1590c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceEffectiveNSGList.json new file mode 100644 index 000000000000..b13ce2d53d4f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceEffectiveNSGList.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "nic1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/test-nsg" + }, + "association": { + "networkManager": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/nm1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "networkInterface": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1" + } + }, + "effectiveSecurityRules": [ + { + "name": "securityRules/rule1", + "protocol": "Tcp", + "sourcePortRange": "456-456", + "destinationPortRange": "6579-6579", + "sourceAddressPrefix": "0.0.0.0/32", + "destinationAddressPrefix": "0.0.0.0/32", + "access": "Allow", + "priority": 234, + "direction": "Inbound" + }, + { + "name": "securityRules/default-allow-rdp", + "protocol": "Tcp", + "sourcePortRange": "0-65535", + "destinationPortRange": "3389-3389", + "sourceAddressPrefix": "1.1.1.1/32", + "destinationAddressPrefix": "0.0.0.0/0", + "access": "Allow", + "priority": 1000, + "direction": "Inbound" + }, + { + "name": "defaultSecurityRules/AllowInternetOutBound", + "protocol": "All", + "sourcePortRange": "0-65535", + "destinationPortRange": "0-65535", + "sourceAddressPrefix": "0.0.0.0/0", + "destinationAddressPrefix": "Internet", + "expandedDestinationAddressPrefix": [ + "32.0.0.0/3", + "4.0.0.0/6", + "2.0.0.0/7", + "1.0.0.0/8" + ], + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + ] + } + ] + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com//subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/test-nsg/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceEffectiveRouteTableList.json new file mode 100644 index 000000000000..204e150ef528 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceEffectiveRouteTableList.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "nic1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "source": "Default", + "state": "Active", + "addressPrefix": [ + "172.20.2.0/24" + ], + "nextHopType": "VnetLocal", + "nextHopIpAddress": [] + }, + { + "source": "Default", + "state": "Active", + "addressPrefix": [ + "0.0.0.0/0" + ], + "nextHopType": "Internet", + "nextHopIpAddress": [] + }, + { + "source": "Default", + "state": "Active", + "addressPrefix": [ + "10.0.0.0/8" + ], + "nextHopType": "None", + "nextHopIpAddress": [] + }, + { + "source": "Default", + "state": "Active", + "addressPrefix": [ + "100.64.0.0/10" + ], + "nextHopType": "None", + "nextHopIpAddress": [] + }, + { + "source": "Default", + "state": "Active", + "addressPrefix": [ + "172.16.0.0/12" + ], + "nextHopType": "None", + "nextHopIpAddress": [] + }, + { + "source": "Default", + "state": "Active", + "addressPrefix": [ + "192.168.0.0/16" + ], + "nextHopType": "None", + "nextHopIpAddress": [] + } + ] + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceGet.json new file mode 100644 index 000000000000..493f0e4a0dca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceGet.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic" + }, + "responses": { + "200": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "test.bx.internal.cloudapp.net" + }, + "macAddress": "00-0D-3A-1B-C7-21", + "enableAcceleratedNetworking": true, + "disableTcpStateTracking": true, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1" + }, + "dscpConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/dscpConfiguration/mydscpconfiguration" + }, + "vnetEncryptionSupported": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceIPConfigurationGet.json new file mode 100644 index 000000000000..246f27715540 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceIPConfigurationGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "ipConfigurationName": "ipconfig1", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/ipConfigurations/ipconfig1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/frontendSubnet" + }, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1" + } + ], + "virtualNetworkTaps": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/vTAP1" + }, + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/vTAP2" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceIPConfigurationList.json new file mode 100644 index 000000000000..e499076cc1f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceIPConfigurationList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "nic1", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet12/subnets/subnet12" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceList.json new file mode 100644 index 000000000000..fd85a5407a4d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceList.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "test.bx.internal.cloudapp.net" + }, + "macAddress": "00-0D-3A-1B-C7-21", + "enableAcceleratedNetworking": true, + "disableTcpStateTracking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + "type": "Microsoft.Network/networkInterfaces" + }, + { + "name": "test-nic2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip2" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet2/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceListAll.json new file mode 100644 index 000000000000..cec02916e40a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceListAll.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "test.bx.internal.cloudapp.net" + }, + "macAddress": "00-0D-3A-1B-C7-21", + "enableAcceleratedNetworking": true, + "disableTcpStateTracking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + "type": "Microsoft.Network/networkInterfaces" + }, + { + "name": "test-nic2", + "id": "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/networkInterfaces/test-nic2", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/publicIPAddresses/test-ip2" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rgnew/providers/Microsoft.Network/virtualNetworks/rgnew-vnet2/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "disableTcpStateTracking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceLoadBalancerList.json new file mode 100644 index 000000000000..5d2990fee0d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceLoadBalancerList.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "nic1", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "lbname1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "type": "Microsoft.Network/loadBalancers", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "frontendIPConfigurations": [ + { + "name": "lbfrontend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/publicIPAddresses/myDynamicPublicIP" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "bepool1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "backendIPConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPool": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/backendAddressPools/bepool1" + }, + "probe": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/probes/probe1" + } + } + } + ], + "probes": [ + { + "name": "probe1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/probes/probe1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/loadBalancingRules/rule1" + } + ] + } + } + ], + "inboundNatRules": [ + { + "name": "inbound1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/inboundNatRules/inbound1", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lbname1/frontendIPConfigurations/lbfrontend" + }, + "frontendPort": 3389, + "backendPort": 3389, + "enableFloatingIP": false, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "backendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1" + } + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceTapConfigurationCreate.json new file mode 100644 index 000000000000..c384e865518d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceTapConfigurationCreate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2023-09-01", + "tapConfigurationParameters": { + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "tapConfiguration1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1", + "etag": "etag", + "type": "Microsoft.Network/networkInterfaces/tapConfigurations", + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + }, + "provisioningState": "Succeded" + } + } + }, + "201": { + "body": { + "name": "tapConfiguration1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1", + "etag": "etag", + "type": "Microsoft.Network/networkInterfaces/tapConfigurations", + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + }, + "provisioningState": "Succeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceTapConfigurationDelete.json new file mode 100644 index 000000000000..fc6612fd60e4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceTapConfigurationDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-networkinterface", + "tapConfigurationName": "test-tapconfiguration" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-networkinterface/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceTapConfigurationGet.json new file mode 100644 index 000000000000..a6dacb065320 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceTapConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "name": "tapConfiguration1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1", + "etag": "etag", + "type": "Microsoft.Network/networkInterfaces/tapConfigurations", + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + }, + "provisioningState": "Succeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceTapConfigurationList.json new file mode 100644 index 000000000000..d2a394601878 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceTapConfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "mynic" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "tapConfiguration1", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1", + "etag": "etag", + "type": "Microsoft.Network/networkInterfaces/tapConfigurations", + "properties": { + "virtualNetworkTap": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap" + }, + "provisioningState": "Succeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceUpdateTags.json new file mode 100644 index 000000000000..4bd8b60a6733 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkInterfaceUpdateTags.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "disableTcpStateTracking": true, + "enableIPForwarding": false, + "vnetEncryptionSupported": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerActiveConnectivityConfigurationsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerActiveConnectivityConfigurationsList.json new file mode 100644 index 000000000000..299c93ceee55 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerActiveConnectivityConfigurationsList.json @@ -0,0 +1,59 @@ +{ + "title": "Get Azure Virtual Network Manager Active Connectivity Configuration", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager", + "parameters": { + "regions": [ + "westus" + ], + "skipToken": "fakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "region": "westus", + "commitTime": "2020-07-10T18:03:22.2578238+05:30", + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/connectivityConfigurations/myTestConnectivityConfig", + "properties": { + "description": "Sample Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myTestConnectivityConfig", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "isGlobal": "True", + "deleteExistingPeering": "True", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ], + "provisioningState": "Succeeded" + }, + "configurationGroups": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "properties": { + "description": "A group for all test Virtual Networks", + "provisioningState": "Succeeded" + } + } + ] + } + ], + "skipToken": "FakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerActiveSecurityAdminRulesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerActiveSecurityAdminRulesList.json new file mode 100644 index 000000000000..341df139f2bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerActiveSecurityAdminRulesList.json @@ -0,0 +1,73 @@ +{ + "title": "Get Azure Virtual Network Manager Active Security Admin Rules", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager", + "parameters": { + "regions": [ + "westus" + ], + "skipToken": "fakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "region": "westus", + "commitTime": "2020-07-10T18:03:22.2578238+05:30", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleAdminRule", + "configurationDescription": "SampleDescription", + "ruleCollectionDescription": "SampleRuleCollectionDescription", + "ruleCollectionAppliesToGroups": [ + { + "networkGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1" + } + ], + "kind": "Default", + "properties": { + "description": "Sample Admin Rule", + "flag": "AllowVnetInbound", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound", + "access": "Deny", + "priority": 1, + "provisioningState": "Succeeded" + }, + "ruleGroups": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "properties": { + "description": "A group for all test Virtual Networks", + "provisioningState": "Succeeded" + } + } + ] + } + ], + "skipToken": "FakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleCollectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleCollectionDelete.json new file mode 100644 index 000000000000..59bcfd6630f0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleCollectionDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig", + "ruleCollectionName": "testRuleCollection", + "force": false + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/networkManagers/TestNM/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleCollectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleCollectionGet.json new file mode 100644 index 000000000000..f62e0f4365ae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleCollectionGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection", + "name": "testRuleCollection", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample rule collection", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleCollectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleCollectionList.json new file mode 100644 index 000000000000..6db482639307 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleCollectionList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection", + "name": "testRuleCollection", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample rule collection", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + ], + "nextLink": "{baseurl}/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections?api-version=2023-09-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleCollectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleCollectionPut.json new file mode 100644 index 000000000000..66d3f884306f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleCollectionPut.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig", + "ruleCollectionName": "testRuleCollection", + "ruleCollection": { + "properties": { + "description": "A sample policy", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManager/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManager/testNetworkManager/securityConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleDelete.json new file mode 100644 index 000000000000..7336774ac7a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleDelete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleAdminRule", + "force": false + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleAdminRule/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleGet.json new file mode 100644 index 000000000000..41c2c87ec22a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleAdminRule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleAdminRule", + "kind": "Custom", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "This is Sample Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleList.json new file mode 100644 index 000000000000..0e50c597193e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRuleList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkmanagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleAdminRule", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "kind": "Custom", + "properties": { + "description": "This is Sample Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkManagers/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules?api-version=2023-09-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRulePut.json new file mode 100644 index 000000000000..7f83b949b7e5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerAdminRulePut.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleAdminRule", + "adminRule": { + "kind": "Custom", + "properties": { + "description": "This is Sample Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "ServiceTag", + "addressPrefix": "Internet" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleAdminRule", + "kind": "Custom", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "This is Sample Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "ServiceTag", + "addressPrefix": "Internet" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/rules/SampleAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleAdminRule", + "kind": "Custom", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "This is Sample Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "ServiceTag", + "addressPrefix": "Internet" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerCommitPost.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerCommitPost.json new file mode 100644 index 000000000000..285bd57815fc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerCommitPost.json @@ -0,0 +1,47 @@ +{ + "title": "Post Azure Virtual Network Manager Commit", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resoureGroupSample", + "networkManagerName": "testNetworkManager", + "parameters": { + "targetLocations": [ + "useast" + ], + "configurationIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resoureGroupSample/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/SampleSecurityAdminConfig" + ], + "commitType": "SecurityAdmin" + } + }, + "responses": { + "200": { + "body": { + "commitId": "testCommitId", + "targetLocations": [ + "useast" + ], + "configurationIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resoureGroupSample/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/SampleSecurityAdminConfig" + ], + "commitType": "SecurityAdmin" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/networkManagers/TestNM/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + }, + "body": { + "commitId": "testCommitId", + "targetLocations": [ + "useast" + ], + "configurationIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resoureGroupSample/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/SampleSecurityAdminConfig" + ], + "commitType": "SecurityAdmin" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionManagementGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionManagementGroupDelete.json new file mode 100644 index 000000000000..1414ae14f4dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionManagementGroupDelete.json @@ -0,0 +1,12 @@ +{ + "title": "Delete Management Group Connection to Azure Virtual Network Manager", + "parameters": { + "api-version": "2023-09-01", + "managementGroupId": "managementGroupA", + "networkManagerConnectionName": "TestNMConnection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionManagementGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionManagementGroupGet.json new file mode 100644 index 000000000000..18f6ade50063 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionManagementGroupGet.json @@ -0,0 +1,33 @@ +{ + "title": "Get Management Group Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2023-09-01", + "managementGroupId": "managementGroupA", + "networkManagerConnectionName": "TestNMConnection" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "providers/Microsoft.Management/managementGroups/managementGroupA/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestNMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionManagementGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionManagementGroupList.json new file mode 100644 index 000000000000..e660b58c22c5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionManagementGroupList.json @@ -0,0 +1,37 @@ +{ + "title": "List Management Group Azure Virtual Network Manager Connections", + "parameters": { + "api-version": "2023-09-01", + "managementGroupId": "managementGroupA" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/managementGroupA/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestNMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + ], + "nextLink": "{baseurl}/managementGroups/subscriptionA/providers/Microsoft.Network/networkManagerConnections?api-version=2023-09-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionManagementGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionManagementGroupPut.json new file mode 100644 index 000000000000..4b1adcc23c9c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionManagementGroupPut.json @@ -0,0 +1,61 @@ +{ + "title": "Create/Update Management Group Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2023-09-01", + "managementGroupId": "managementGroupA", + "networkManagerConnectionName": "TestNMConnection", + "parameters": { + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/providers/Microsoft.Management/managementGroups/managementGroupA/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestNMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + }, + "201": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/managementGroups/managementGroupA/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionSubscriptionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionSubscriptionDelete.json new file mode 100644 index 000000000000..9f417d599f56 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionSubscriptionDelete.json @@ -0,0 +1,12 @@ +{ + "title": "Delete Subscription Connection to Azure Virtual Network Manager", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "networkManagerConnectionName": "TestNMConnection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionSubscriptionGet.json new file mode 100644 index 000000000000..33db1dce491a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionSubscriptionGet.json @@ -0,0 +1,33 @@ +{ + "title": "Get Subscription Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "networkManagerConnectionName": "TestNMConnection" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestNMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionSubscriptionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionSubscriptionList.json new file mode 100644 index 000000000000..1420dc3ae0a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionSubscriptionList.json @@ -0,0 +1,37 @@ +{ + "title": "List Subscription Azure Virtual Network Manager Connections", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestNMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + ], + "nextLink": "{baseurl}/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections?api-version=2023-09-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionSubscriptionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionSubscriptionPut.json new file mode 100644 index 000000000000..9b8891175d13 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectionSubscriptionPut.json @@ -0,0 +1,61 @@ +{ + "title": "Create/Update Subscription Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "networkManagerConnectionName": "TestNMConnection", + "parameters": { + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestNMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + }, + "201": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectivityConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectivityConfigurationDelete.json new file mode 100644 index 000000000000..8673899011ec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectivityConfigurationDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Get Azure Virtual Network Manager Connectivity Configuration", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestConnectivityConfig", + "force": false + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/networkManagers/TestNM/connectivityConfigurations/myTestConnectivityConfig/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectivityConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectivityConfigurationGet.json new file mode 100644 index 000000000000..3e49a321e001 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectivityConfigurationGet.json @@ -0,0 +1,49 @@ +{ + "title": "Get Azure Virtual Network Manager Connectivity Configuration", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestConnectivityConfig" + }, + "responses": { + "200": { + "body": { + "name": "myTestConnectivityConfig", + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/connectivityConfigurations/myTestConnectivityConfig", + "type": "Microsoft.Network/networkManagers/connectivityConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "Sample Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myHubVnet", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "isGlobal": "True", + "deleteExistingPeering": "True", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectivityConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectivityConfigurationList.json new file mode 100644 index 000000000000..15862a27c680 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectivityConfigurationList.json @@ -0,0 +1,53 @@ +{ + "title": "Get Azure Virtual Network Manager Connecitivity Configuration List", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myTestConnectivityConfig", + "id": "subscription/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/connectivityConfigurations/myTestConnectivityConfig", + "type": "Microsoft.Network/networkManagers/connectivityConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "Sample Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myHubVnet", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "deleteExistingPeering": "True", + "isGlobal": "True", + "appliesToGroups": [ + { + "networkGroupId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/netwrokGroups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + ], + "nextLink": "{baseurl}/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/managedNetworks/testNetworkManager/connectivityConfigurations?api-version=2023-09-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectivityConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectivityConfigurationPut.json new file mode 100644 index 000000000000..c3b83c2fa003 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerConnectivityConfigurationPut.json @@ -0,0 +1,108 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Connectivity Configuration", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestConnectivityConfig", + "connectivityConfiguration": { + "properties": { + "description": "Sample Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myTestConnectivityConfig", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "deleteExistingPeering": "True", + "isGlobal": "True", + "appliesToGroups": [ + { + "networkGroupId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "myTestConnectivityConfig", + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/connectivityConfigurations/myTestConnectivityConfig", + "type": "Microsoft.Network/networkManagers/connectivityConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "Sample Connectivity Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myTestConnectivityConfig", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "deleteExistingPeering": "True", + "isGlobal": "True", + "appliesToGroups": [ + { + "networkGroupId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/groups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + }, + "201": { + "body": { + "name": "myTestConnectivityConfig", + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/connectivityConfigurations/myTestConnectivityConfig", + "type": "Microsoft.Network/networkManagers/connectivityConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "Sample Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myTestConnectivityConfig", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "deleteExistingPeering": "True", + "isGlobal": "True", + "appliesToGroups": [ + { + "networkGroupId": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerDefaultAdminRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerDefaultAdminRuleGet.json new file mode 100644 index 000000000000..0450b2bf4408 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerDefaultAdminRuleGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleDefaultAdminRule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleDefaultAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleDefaultAdminRule", + "kind": "Default", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "flag": "AllowVnetInbound", + "description": "This is Sample Default Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerDefaultAdminRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerDefaultAdminRulePut.json new file mode 100644 index 000000000000..e4fd3f0a1fa5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerDefaultAdminRulePut.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleDefaultAdminRule", + "adminRule": { + "kind": "Default", + "properties": { + "flag": "AllowVnetInbound" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleDefaultAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleDefaultAdminRule", + "kind": "Default", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "flag": "AllowVnetInbound", + "description": "This is Sample Default Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "ServiceTag", + "addressPrefix": "Internet" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/rules/SampleDefaultAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleDefaultAdminRule", + "kind": "Default", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "flag": "AllowVnetInbound", + "description": "This is Sample Default Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "ServiceTag", + "addressPrefix": "Internet" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerDelete.json new file mode 100644 index 000000000000..7dc5d50385d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerDelete.json @@ -0,0 +1,19 @@ +{ + "title": "Delete Azure Virtual Network Manager", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "force": false + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/networkManagers/TestNM/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerDeploymentStatusList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerDeploymentStatusList.json new file mode 100644 index 000000000000..382f9565b6f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerDeploymentStatusList.json @@ -0,0 +1,51 @@ +{ + "title": "Post Azure Virtual Network Manager Deployment Status", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resoureGroupSample", + "networkManagerName": "testNetworkManager", + "parameters": { + "regions": [ + "eastus", + "westus" + ], + "deploymentTypes": [ + "Connectivity", + "AdminPolicy" + ], + "skipToken": "FakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "deploymentType": "AdminPolicy", + "configurationIds": [ + "SecConfig1", + "SecConfig2" + ], + "commitTime": "2021-01-26T06:58:50.883Z", + "region": "eastus", + "deploymentStatus": "Deploying", + "errorMessage": "" + }, + { + "deploymentType": "Connectivity", + "configurationIds": [ + "ConnConfig1", + "ConnConfig2" + ], + "commitTime": "2021-01-26T06:58:50.883Z", + "region": "eastus", + "deploymentStatus": "Deployed", + "errorMessage": "" + } + ], + "skipToken": "NextFakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerEffectiveConnectivityConfigurationsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerEffectiveConnectivityConfigurationsList.json new file mode 100644 index 000000000000..c20fb4445441 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerEffectiveConnectivityConfigurationsList.json @@ -0,0 +1,54 @@ +{ + "title": "List Azure Virtual Network Manager Effective Configuration", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "virtualNetworkName": "testVirtualNetwork", + "parameters": { + "skipToken": "FakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/connectivityConfigurations/myTestConnectivityConfig", + "properties": { + "description": "Sample Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myHubVnet", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "isGlobal": "True", + "deleteExistingPeering": "True", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/groups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ], + "provisioningState": "Succeeded" + }, + "configurationGroups": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "properties": { + "description": "A group for all test Virtual Networks", + "provisioningState": "Succeeded" + } + } + ] + } + ], + "skipToken": "FakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerEffectiveSecurityAdminRulesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerEffectiveSecurityAdminRulesList.json new file mode 100644 index 000000000000..0df981b2eff6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerEffectiveSecurityAdminRulesList.json @@ -0,0 +1,68 @@ +{ + "title": "List Azure Virtual Network Manager Effective Configuration", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "virtualNetworkName": "testVirtualNetwork", + "parameters": { + "skipToken": "FakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleAdminRule", + "configurationDescription": "SampleDescription", + "ruleCollectionDescription": "SampleRuleCollectionDescription", + "ruleCollectionAppliesToGroups": [ + { + "networkGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1" + } + ], + "kind": "Default", + "properties": { + "description": "Sample Admin Rule", + "flag": "AllowVnetInbound", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound", + "access": "Deny", + "priority": 1, + "provisioningState": "Succeeded" + }, + "ruleGroups": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "properties": { + "description": "A group for all test Virtual Networks", + "provisioningState": "Succeeded" + } + } + ] + } + ], + "skipToken": "FakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGet.json new file mode 100644 index 000000000000..755199cf017a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGet.json @@ -0,0 +1,40 @@ +{ + "title": "Get Azure Virtual Network Manager", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager" + }, + "responses": { + "200": { + "body": { + "name": "testNetworkManager", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "type": "Microsoft.Network/networkManagers", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000000" + ] + }, + "networkManagerScopeAccesses": [ + "SecurityUser" + ], + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGroupDelete.json new file mode 100644 index 000000000000..292dff35af2a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGroupDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Delete Azure Virtual Network Manager Group", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup", + "force": false + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/networkManagers/TestNM/networkGroups/testNetworkGroup/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGroupGet.json new file mode 100644 index 000000000000..621a5c72176c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGroupGet.json @@ -0,0 +1,32 @@ +{ + "title": "Get Azure Virtual Network Manager Network Group", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup" + }, + "responses": { + "200": { + "body": { + "name": "testNetworkGroup", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup", + "type": "Microsoft.Network/networkManagers/networkGroups", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample group", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGroupList.json new file mode 100644 index 000000000000..15b2960d894a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGroupList.json @@ -0,0 +1,36 @@ +{ + "title": "List Azure Virtual Network Manager Network Groups", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testNetworkGroup", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup", + "type": "Microsoft.Network/networkManagers/networkGroups", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample group", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + ], + "nextLink": "{baseurl}/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups?api-version=2023-09-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGroupPut.json new file mode 100644 index 000000000000..ebee39cb7706 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerGroupPut.json @@ -0,0 +1,63 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Network Group", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup", + "parameters": { + "properties": { + "description": "A sample group" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "name": "testNetworkGroup", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup", + "type": "Microsoft.Network/networkManagers/networkGroups", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample group", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + }, + "201": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "name": "testNetworkGroup", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup", + "type": "Microsoft.Network/networkManagers/networkGroups", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample group", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerList.json new file mode 100644 index 000000000000..6176abcbb01f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerList.json @@ -0,0 +1,45 @@ +{ + "title": "List Azure Virtual Network Manager", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testNetworkManager", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "type": "Microsoft.Network/networkManagers", + "etag": "sadf-asdf-asdf-asdf", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000000" + ] + }, + "networkManagerScopeAccesses": [ + "Connectivity" + ], + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + ], + "nextLink": "{baseurl}/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers?api-version=2023-09-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerListAll.json new file mode 100644 index 000000000000..75b31d29ee87 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerListAll.json @@ -0,0 +1,44 @@ +{ + "title": "List Azure Virtual Network Manager in Subscription", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testNetworkManager", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "type": "Microsoft.Network/networkManagers", + "etag": "sadf-asdf-asdf-asdf", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000000" + ] + }, + "networkManagerScopeAccesses": [ + "SecurityUser" + ], + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + ], + "nextLink": "{baseurl}/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagers?api-version=2023-09-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerPatch.json new file mode 100644 index 000000000000..607a5be0c768 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerPatch.json @@ -0,0 +1,52 @@ +{ + "title": "Patch Managed Network Tags", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testNetworkManager", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "type": "Microsoft.Network/networkManager", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000001" + ] + }, + "networkManagerScopeAccesses": [ + "Connectivity" + ], + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerPut.json new file mode 100644 index 000000000000..feaefa0d749e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerPut.json @@ -0,0 +1,91 @@ +{ + "title": "Create/Update Azure Virtual Network Manager", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "TestNetworkManager", + "parameters": { + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [ + "/Microsoft.Management/testmg" + ], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000000" + ] + }, + "networkManagerScopeAccesses": [ + "Connectivity" + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestNetworkManager", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/TestNetworkManager", + "type": "Microsoft.Network/networkManagers", + "etag": "sadf-asdf-asdf-asdf", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [ + "Microsoft.Management/managementGroups/testMg" + ], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000000" + ] + }, + "networkManagerScopeAccesses": [ + "Connectivity" + ], + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + }, + "201": { + "body": { + "name": "TestNetworkManager", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/TestNetworkManager", + "type": "Microsoft.Network/networkManagers", + "etag": "sadf-asdf-asdf-asdf", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [ + "Microsoft.Management/managementGroups/testMg" + ], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000000" + ] + }, + "networkManagerScopeAccesses": [ + "Connectivity" + ], + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerScopeConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerScopeConnectionDelete.json new file mode 100644 index 000000000000..dab555df9de1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerScopeConnectionDelete.json @@ -0,0 +1,15 @@ +{ + "title": "Delete Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "scopeConnectionName": "TestScopeConnection", + "force": false + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerScopeConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerScopeConnectionGet.json new file mode 100644 index 000000000000..e0b6f4df1ab7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerScopeConnectionGet.json @@ -0,0 +1,36 @@ +{ + "title": "Get Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "scopeConnectionName": "TestScopeConnection" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/scopeConnections/TestScopeConnection", + "type": "Microsoft.Network/networkManagers/scopeConnections", + "name": "TestScopeConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "connectionState": "Pending", + "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000", + "description": "This is a scope connection to a cross tenant subscription." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerScopeConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerScopeConnectionList.json new file mode 100644 index 000000000000..7672b68cae57 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerScopeConnectionList.json @@ -0,0 +1,40 @@ +{ + "title": "List Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/scopeConnections/TestScopeConnection", + "type": "Microsoft.Network/networkManagers/scopeConnections", + "name": "TestScopeConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "connectionState": "Pending", + "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000", + "description": "This is a scope connection to a cross tenant subscription." + } + } + ], + "nextLink": "{baseurl}/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/scopeConnections?api-version=2021-02-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerScopeConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerScopeConnectionPut.json new file mode 100644 index 000000000000..650e23869453 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerScopeConnectionPut.json @@ -0,0 +1,66 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "scopeConnectionName": "TestScopeConnection", + "parameters": { + "properties": { + "tenantId": "6babcaad-604b-40ac-a9d7-9fd97c0b779f", + "resourceId": "subscriptions/f0dc2b34-dfad-40e4-83e0-2309fed8d00b", + "description": "This is a scope connection to a cross tenant subscription." + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/scopeConnections/TestScopeConnection", + "type": "Microsoft.Network/networkManagers/scopeConnections", + "name": "TestScopeConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "connectionState": "Pending", + "resourceId": "subscriptions/00000000-0000-0000-0000-000000000000", + "description": "This is a scope connection to a cross tenant subscription." + } + } + }, + "201": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/scopeConnections/TestScopeConnection", + "type": "Microsoft.Network/networkManagers/scopeConnections", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "tenantId": "6babcaad-604b-40ac-a9d7-9fd97c0b779f", + "connectionState": "Pending", + "resourceId": "subscriptions/f0dc2b34-dfad-40e4-83e0-2309fed8d00b", + "description": "This is a scope connection to a cross tenant subscription." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerSecurityAdminConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerSecurityAdminConfigurationDelete.json new file mode 100644 index 000000000000..cf81347995c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerSecurityAdminConfigurationDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig", + "force": false + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerSecurityAdminConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerSecurityAdminConfigurationGet.json new file mode 100644 index 000000000000..126002ab88d7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerSecurityAdminConfigurationGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "applyOnNetworkIntentPolicyBasedServices": [ + "None" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerSecurityAdminConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerSecurityAdminConfigurationList.json new file mode 100644 index 000000000000..23e486d77b32 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerSecurityAdminConfigurationList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "applyOnNetworkIntentPolicyBasedServices": [ + "None" + ] + } + } + ], + "nextLink": "{baseurl}/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations?api-version=2023-09-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerSecurityAdminConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerSecurityAdminConfigurationPut.json new file mode 100644 index 000000000000..8acac094fe00 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerSecurityAdminConfigurationPut.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "securityAdminConfiguration": { + "properties": { + "description": "A sample policy", + "applyOnNetworkIntentPolicyBasedServices": [ + "None" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManager/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "applyOnNetworkIntentPolicyBasedServices": [ + "None" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManager/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "applyOnNetworkIntentPolicyBasedServices": [ + "None" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerStaticMemberDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerStaticMemberDelete.json new file mode 100644 index 000000000000..d922128f1f97 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerStaticMemberDelete.json @@ -0,0 +1,15 @@ +{ + "title": "Delete Azure Virtual Network Manager Static Member", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SampleRG", + "networkManagerName": "TestNM", + "networkGroupName": "testNetworkGroup", + "staticMemberName": "testStaticMember" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerStaticMemberGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerStaticMemberGet.json new file mode 100644 index 000000000000..dd3d2ec43531 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerStaticMemberGet.json @@ -0,0 +1,31 @@ +{ + "title": "Get Azure Virtual Network Manager Static Member", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup", + "staticMemberName": "testStaticMember" + }, + "responses": { + "200": { + "body": { + "name": "testStaticMember", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup/staticMembers/testStaticMember", + "type": "Microsoft.Network/networkManagers/networkGroups/staticMembers", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/virtualnetworks/vnet1" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerStaticMemberList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerStaticMemberList.json new file mode 100644 index 000000000000..ebb08a4a82a6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerStaticMemberList.json @@ -0,0 +1,37 @@ +{ + "title": "List Azure Virtual Network Manager Static Members", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testStaticMember", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup/staticMembers/testStaticMember", + "type": "Microsoft.Network/networkManagers/networkGroups/staticMembers", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/virtualnetworks/vnet1", + "region": "useast2", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "{baseurl}/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup/staticMembers?api-version=2023-09-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerStaticMemberPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerStaticMemberPut.json new file mode 100644 index 000000000000..e2e078ac39eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkManagerStaticMemberPut.json @@ -0,0 +1,64 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Static Member", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup", + "staticMemberName": "testStaticMember", + "parameters": { + "properties": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/virtualnetworks/vnet1" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "name": "testStaticMember", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup/staticMembers/testStaticMember", + "type": "Microsoft.Network/networkManagers/networkGroups/staticMembers", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/virtualnetworks/vnet1", + "region": "useast2", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "name": "testStaticMember", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup/staticMembers/testStaticMember", + "type": "Microsoft.Network/networkManagers/networkGroups/staticMembers", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/rg1/providers/Microsoft.Network/virtualnetworks/vnet1", + "region": "useast2", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileCreateConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileCreateConfigOnly.json new file mode 100644 index 000000000000..1d637c284a21 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileCreateConfigOnly.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "networkProfile1", + "parameters": { + "location": "westus", + "properties": { + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth1", + "properties": { + "ipConfigurations": [ + { + "name": "ipconfig1", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "networkProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfig1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + } + } + }, + "201": { + "body": { + "name": "networkProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfig1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileDelete.json new file mode 100644 index 000000000000..56d12d8a8571 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "networkProfile1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileGetConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileGetConfigOnly.json new file mode 100644 index 000000000000..e3fc9cc83368 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileGetConfigOnly.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "networkProfile1" + }, + "responses": { + "200": { + "body": { + "name": "networkProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + }, + { + "name": "ipconfigprofile2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + }, + { + "name": "eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile3", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileGetWithContainerNic.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileGetWithContainerNic.json new file mode 100644 index 000000000000..551ee46805a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileGetWithContainerNic.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "networkProfile1" + }, + "responses": { + "200": { + "body": { + "name": "networkProfile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + }, + { + "name": "ipconfigprofile2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ], + "containerNetworkInterfaces": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth0" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth0" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth0" + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + }, + { + "name": "eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile3", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ], + "containerNetworkInterfaces": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth1" + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [ + { + "name": "containerGroup1_eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth0", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "containerNetworkInterfaceConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0" + }, + "container": { + "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup1" + }, + "ipConfigurations": [] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces" + }, + { + "name": "containerGroup1_eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth1", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "containerNetworkInterfaceConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1" + }, + "container": { + "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup1" + }, + "ipConfigurations": [] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces" + }, + { + "name": "containerGroup2_eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth0", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "containerNetworkInterfaceConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0" + }, + "container": { + "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup2" + }, + "ipConfigurations": [] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces" + }, + { + "name": "containerGroup2_eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth1", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "containerNetworkInterfaceConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1" + }, + "container": { + "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup2" + }, + "ipConfigurations": [] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces" + }, + { + "name": "containerGroup3_eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth0", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "containerNetworkInterfaceConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0" + }, + "container": { + "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup3" + }, + "ipConfigurations": [] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces" + }, + { + "name": "containerGroup3_eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth1", + "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"", + "properties": { + "provisioningState": "Succeeded", + "containerNetworkInterfaceConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1" + }, + "container": { + "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup3" + }, + "ipConfigurations": [] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileList.json new file mode 100644 index 000000000000..2c28d48e9e34 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileList.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1", + "name": "networkProfile1", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + }, + { + "name": "ipconfigprofile2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + }, + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile2", + "name": "networkProfile2", + "properties": { + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile3", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + }, + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileListAll.json new file mode 100644 index 000000000000..3ecb00631f85 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileListAll.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1", + "name": "networkProfile1", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + }, + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile2", + "name": "networkProfile2", + "properties": { + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth1", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile3", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + }, + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileUpdateTags.json new file mode 100644 index 000000000000..5b3b0565f990 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkProfileUpdateTags.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "test-np", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-np", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-np", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf", + "containerNetworkInterfaceConfigurations": [ + { + "name": "eth0", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfigprofile1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1", + "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"", + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1" + } + } + } + ] + }, + "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations" + } + ], + "containerNetworkInterfaces": [] + }, + "type": "Microsoft.Network/networkProfiles", + "location": "centraluseuap" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupCreate.json new file mode 100644 index 000000000000..3da6085eb238 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupCreate.json @@ -0,0 +1,235 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "parameters": { + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "flushConnection": false, + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "flushConnection": false, + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupCreateWithRule.json new file mode 100644 index 000000000000..ed42c6660ab5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupCreateWithRule.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "parameters": { + "properties": { + "securityRules": [ + { + "name": "rule1", + "properties": { + "protocol": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "destinationPortRange": "80", + "sourcePortRange": "*", + "priority": 130, + "direction": "Inbound" + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "80", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 130, + "direction": "Inbound" + } + } + ], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "80", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 130, + "direction": "Inbound" + } + } + ], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupDelete.json new file mode 100644 index 000000000000..ab42471f8832 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2022-09-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2022-09-01" + } + }, + "204": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2022-09-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2022-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupGet.json new file mode 100644 index 000000000000..8f023c18b1ec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupGet.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg" + }, + "responses": { + "200": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "80", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 130, + "direction": "Inbound" + } + } + ], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupList.json new file mode 100644 index 000000000000..d32d9125ff5f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupList.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nsg1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + }, + { + "name": "nsg3", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupListAll.json new file mode 100644 index 000000000000..9075c5b84cc4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupListAll.json @@ -0,0 +1,230 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nsg1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + }, + { + "name": "nsg3", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg3/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupRuleCreate.json new file mode 100644 index 000000000000..0b5331c60387 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupRuleCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "securityRuleName": "rule1", + "securityRuleParameters": { + "properties": { + "protocol": "*", + "sourceAddressPrefix": "10.0.0.0/8", + "destinationAddressPrefix": "11.0.0.0/8", + "access": "Deny", + "destinationPortRange": "8080", + "sourcePortRange": "*", + "priority": 100, + "direction": "Outbound" + } + } + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "8080", + "sourceAddressPrefix": "10.0.0.0/8", + "destinationAddressPrefix": "11.0.0.0/8", + "access": "Deny", + "priority": 100, + "direction": "Outbound" + } + } + }, + "201": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "8080", + "sourceAddressPrefix": "10.0.0.0/8", + "destinationAddressPrefix": "11.0.0.0/8", + "access": "Deny", + "priority": 100, + "direction": "Outbound" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupRuleDelete.json new file mode 100644 index 000000000000..07382dcac426 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupRuleDelete.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "securityRuleName": "rule1" + }, + "responses": { + "200": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2022-09-01" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2022-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupRuleGet.json new file mode 100644 index 000000000000..579d0796d835 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupRuleGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "securityRuleName": "rule1" + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "80", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 130, + "direction": "Inbound" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupRuleList.json new file mode 100644 index 000000000000..49dd55716ca4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupRuleList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "provisioningState": "Succeeded", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "80", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 130, + "direction": "Inbound" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupUpdateTags.json new file mode 100644 index 000000000000..67d8afadec74 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkSecurityGroupUpdateTags.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg", + "type": "Microsoft.Network/networkSecurityGroups", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "securityRules": [], + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + }, + { + "name": "AllowAzureLoadBalancerInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from azure load balancer", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "AzureLoadBalancer", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 65001, + "direction": "Inbound" + } + }, + { + "name": "DenyAllInBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all inbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Inbound" + } + }, + { + "name": "AllowVnetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Outbound" + } + }, + { + "name": "AllowInternetOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow outbound traffic from all VMs to Internet", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "Internet", + "access": "Allow", + "priority": 65001, + "direction": "Outbound" + } + }, + { + "name": "DenyAllOutBound", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound", + "properties": { + "provisioningState": "Succeeded", + "description": "Deny all outbound traffic", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceConnectionDelete.json new file mode 100644 index 000000000000..95d5475fde24 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceConnectionDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "connectionName": "connection1", + "networkVirtualApplianceName": "nva1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/nfvOperations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceConnectionGet.json new file mode 100644 index 000000000000..0cab25941734 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceConnectionGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "connectionName": "connection1", + "networkVirtualApplianceName": "nva1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkVirtualAppliances/nva1/NetworkVirtualApplianceConnections/connection1", + "properties": { + "name": "connection1", + "asn": 64512, + "bgpPeerAddress": [ + "169.254.16.13", + "169.254.16.14" + ], + "tunnelIdentifier": 0, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceConnectionList.json new file mode 100644 index 000000000000..120b5dd937be --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceConnectionList.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "networkVirtualApplianceName": "nva1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkVirtualAppliances/nva1/NetworkVirtualApplianceConnections/connection1", + "properties": { + "name": "connection1", + "asn": 64512, + "tunnelIdentifier": 0, + "bgpPeerAddress": [ + "169.254.16.13", + "169.254.16.14" + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceConnectionPut.json new file mode 100644 index 000000000000..0e54aaff3b64 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceConnectionPut.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "connectionName": "connection1", + "networkVirtualApplianceName": "nva1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "NetworkVirtualApplianceConnectionParameters": { + "properties": { + "name": "connection1", + "asn": 64512, + "tunnelIdentifier": 0, + "enableInternetSecurity": false, + "bgpPeerAddress": [ + "169.254.16.13", + "169.254.16.14" + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva1/networkVirtualApplianceConnections/connection1", + "properties": { + "name": "connection1", + "asn": 64512, + "tunnelIdentifier": 0, + "bgpPeerAddress": [ + "169.254.16.13", + "169.254.16.14" + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva1/networkVirtualApplianceConnections/connection1", + "properties": { + "name": "connection1", + "asn": 64512, + "tunnelIdentifier": 0, + "bgpPeerAddress": [ + "169.254.16.13", + "169.254.16.14" + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceDelete.json new file mode 100644 index 000000000000..78b4c20fb313 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceDelete.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/nfvOperations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceGet.json new file mode 100644 index 000000000000..bb77412dede3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceGet.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": { + "body": { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "virtualApplianceConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/networkVirtualApplianceConnections/connection1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "publicnicipconfig", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1", + "instanceName": "nva_0" + }, + { + "name": "privatenicipconfig", + "publicIpAddress": "", + "privateIpAddress": "192.168.12.2", + "instanceName": "nva_0" + }, + { + "name": "exrsdwan", + "publicIpAddress": "4.231.25.19", + "privateIpAddress": "10.1.113.4", + "instanceName": "nva_0" + } + ], + "additionalNics": [ + { + "name": "exrsdwan", + "hasPublicIp": true + } + ], + "internetIngressPublicIps": [ + { + "id": "/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceListByResourceGroup.json new file mode 100644 index 000000000000..5bedaa50f32d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceListByResourceGroup.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceListBySubscription.json new file mode 100644 index 000000000000..bd8f566afcfe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceListBySubscription.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualAppliancePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualAppliancePut.json new file mode 100644 index 000000000000..4858e4e0b3cf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualAppliancePut.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "West US", + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "additionalNics": [ + { + "name": "exrsdwan", + "hasPublicIp": true + } + ], + "internetIngressPublicIps": [ + { + "id": "/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "publicnicipconfig", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1", + "instanceName": "nva_0" + }, + { + "name": "privatenicipconfig", + "publicIpAddress": "", + "privateIpAddress": "192.168.12.2", + "instanceName": "nva_0" + }, + { + "name": "exrsdwan", + "publicIpAddress": "4.231.25.19", + "privateIpAddress": "10.1.113.4", + "instanceName": "nva_0" + } + ] + } + } + }, + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/nfvOperations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + }, + "body": { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Updating", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSaaSPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSaaSPut.json new file mode 100644 index 000000000000..f76134668ab7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSaaSPut.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "delegation": { + "serviceName": "PaloAltoNetworks.Cloudngfw/firewalls" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "delegation": { + "serviceName": "PaloAltoNetworks.Cloudngfw/firewalls", + "provisioningState": "Succeeded" + }, + "deploymentType": "PartnerManaged", + "partnerManagedResource": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Lifter/firewalls/paloAltoFirewall", + "internalLoadBalancerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/trustILB", + "standardLoadBalancerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/trustSLB" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "delegation": { + "serviceName": "PaloAltoNetworks.Cloudngfw/firewalls", + "provisioningState": "Succeeded" + }, + "deploymentType": "PartnerManaged", + "partnerManagedResource": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Lifter/firewalls/paloAltoFirewall", + "internalLoadBalancerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/trustILB", + "standardLoadBalancerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/trustSLB" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSiteDelete.json new file mode 100644 index 000000000000..e9da4559fbee --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSiteDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "siteName": "site1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/nfvOperations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSiteGet.json new file mode 100644 index 000000000000..138e07e1a720 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSiteGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "siteName": "site1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": { + "body": { + "name": "site1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/virtualApplianceSites/site1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "192.168.1.0/24", + "o365Policy": { + "breakOutCategories": { + "allow": true, + "optimize": true, + "default": true + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSiteList.json new file mode 100644 index 000000000000..b69d807496d5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSiteList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "siteName": "site1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "site1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/virtualApplianceSites/site1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "192.168.1.0/24", + "o365Policy": { + "breakOutCategories": { + "allow": true, + "optimize": true, + "default": true + } + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSitePut.json new file mode 100644 index 000000000000..c49310b5f780 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSitePut.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "siteName": "site1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "properties": { + "addressPrefix": "192.168.1.0/24", + "o365Policy": { + "breakOutCategories": { + "allow": true, + "optimize": true, + "default": true + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "site1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/virtualApplianceSites/site1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "192.168.1.0/24", + "o365Policy": { + "breakOutCategories": { + "allow": true, + "optimize": true, + "default": true + } + } + } + } + }, + "201": { + "body": { + "name": "site1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/virtualApplianceSites/site1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "192.168.1.0/24", + "o365Policy": { + "breakOutCategories": { + "allow": true, + "optimize": true, + "default": true + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSkuGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSkuGet.json new file mode 100644 index 000000000000..ce59d7661953 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSkuGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "skuName": "ciscoSdwan" + }, + "responses": { + "200": { + "body": { + "name": "ciscoSdwan", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualApplianceSkus/ciscoSdwan", + "type": "Microsoft.Network/networkVirtualApplianceSkus", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "vendor": "Cisco", + "availableVersions": [ + "11.12" + ], + "availableScaleUnits": [ + { + "scaleUnit": "1", + "instanceCount": 2 + }, + { + "scaleUnit": "2", + "instanceCount": 2 + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSkuList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSkuList.json new file mode 100644 index 000000000000..496b69448c34 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceSkuList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ciscoSdwan", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualApplianceSkus/ciscoSdwan", + "type": "Microsoft.Network/networkVirtualApplianceSkus", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "vendor": "Cisco", + "availableVersions": [ + "11.12" + ], + "availableScaleUnits": [ + { + "scaleUnit": "1", + "instanceCount": 2 + }, + { + "scaleUnit": "2", + "instanceCount": 2 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceUpdateTags.json new file mode 100644 index 000000000000..c1411d407ea8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkVirtualApplianceUpdateTags.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherAvailableProvidersListGet.json new file mode 100644 index 000000000000..8b16e0ab084d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherAvailableProvidersListGet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "azureLocations": [ + "West US" + ], + "country": "United States", + "state": "washington", + "city": "seattle" + } + }, + "responses": { + "200": { + "body": { + "countries": [ + { + "countryName": "United States", + "states": [ + { + "stateName": "washington", + "cities": [ + { + "cityName": "seattle", + "providers": [ + "Comcast Cable Communications, Inc. - ASN 7922", + "Comcast Cable Communications, LLC - ASN 7922", + "Level 3 Communications, Inc. (GBLX) - ASN 3549", + "Qwest Communications Company, LLC - ASN 209" + ] + } + ] + } + ] + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/availableProvidersList?api-version=2023-09-01" + }, + "body": { + "countries": [ + { + "countryName": "United States", + "states": [ + { + "stateName": "washington", + "cities": [ + { + "cityName": "seattle", + "providers": [ + "Comcast Cable Communications, Inc. - ASN 7922", + "Comcast Cable Communications, LLC - ASN 7922", + "Level 3 Communications, Inc. (GBLX) - ASN 3549", + "Qwest Communications Company, LLC - ASN 209" + ] + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherAzureReachabilityReportGet.json new file mode 100644 index 000000000000..cc0a9772e2db --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherAzureReachabilityReportGet.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "providerLocation": { + "country": "United States", + "state": "washington" + }, + "providers": [ + "Frontier Communications of America, Inc. - ASN 5650" + ], + "azureLocations": [ + "West US" + ], + "startTime": "2017-09-07T00:00:00Z", + "endTime": "2017-09-10T00:00:00Z" + } + }, + "responses": { + "200": { + "body": { + "aggregationLevel": "State", + "providerLocation": { + "country": "United States", + "state": "washington" + }, + "reachabilityReport": [ + { + "provider": "Frontier Communications of America, Inc. - ASN 5650", + "azureLocation": "West US", + "latencies": [ + { + "timeStamp": "2017-09-07T00:00:00Z", + "score": 94 + }, + { + "timeStamp": "2017-09-08T00:00:00Z", + "score": 94 + }, + { + "timeStamp": "2017-09-09T00:00:00Z", + "score": 94 + } + ] + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/azureReachabilityReport?api-version=2023-09-01" + }, + "body": { + "aggregationLevel": "State", + "providerLocation": { + "country": "United States", + "state": "washington" + }, + "reachabilityReport": [ + { + "provider": "Frontier Communications of America, Inc. - ASN 5650", + "azureLocation": "West US", + "latencies": [ + { + "timeStamp": "2017-09-07T00:00:00Z", + "score": 94 + }, + { + "timeStamp": "2017-09-08T00:00:00Z", + "score": 94 + }, + { + "timeStamp": "2017-09-09T00:00:00Z", + "score": 94 + } + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorCreate.json new file mode 100644 index 000000000000..ee71eb830511 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorCreate.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1", + "parameters": { + "location": "eastus", + "properties": { + "endpoints": [ + { + "name": "source", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/ct1" + }, + { + "name": "destination", + "address": "bing.com" + } + ], + "testConfigurations": [ + { + "name": "tcp", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80 + } + } + ], + "testGroups": [ + { + "name": "tg", + "testConfigurations": [ + "tcp" + ], + "sources": [ + "source" + ], + "destinations": [ + "destination" + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "cm1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"", + "properties": { + "provisioningState": "Updating", + "endpoints": [ + { + "name": "source", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/ct1" + }, + { + "name": "destination", + "address": "bing.com" + } + ], + "testConfigurations": [ + { + "name": "tcp", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80 + } + } + ], + "testGroups": [ + { + "name": "tg", + "testConfigurations": [ + "tcp" + ], + "sources": [ + "source" + ], + "destinations": [ + "destination" + ] + } + ] + }, + "location": "eastus", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + }, + "201": { + "body": { + "name": "cm1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"", + "properties": { + "provisioningState": "Succeeded", + "endpoints": [ + { + "name": "source", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/ct1" + }, + { + "name": "destination", + "address": "bing.com" + } + ], + "testConfigurations": [ + { + "name": "tcp", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80 + } + } + ], + "testGroups": [ + { + "name": "tg", + "testConfigurations": [ + "tcp" + ], + "sources": [ + "source" + ], + "destinations": [ + "destination" + ] + } + ] + }, + "location": "eastus", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorDelete.json new file mode 100644 index 000000000000..65c02de31fba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorGet.json new file mode 100644 index 000000000000..b0dcfd541872 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": { + "body": { + "name": "cm1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "endpoints": [ + { + "name": "source", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/ct1" + }, + { + "name": "destination", + "address": "bing.com" + } + ], + "testConfigurations": [ + { + "name": "tcp", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80 + } + } + ], + "testGroups": [ + { + "name": "tg", + "testConfigurations": [ + "tcp" + ], + "sources": [ + "source" + ], + "destinations": [ + "destination" + ] + } + ] + }, + "location": "eastus", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorList.json new file mode 100644 index 000000000000..f07510c19997 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorList.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "cm1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "endpoints": [ + { + "name": "source", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/ct1" + }, + { + "name": "destination", + "address": "bing.com" + } + ], + "testConfigurations": [ + { + "name": "tcp", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80 + } + } + ], + "testGroups": [ + { + "name": "tg", + "testConfigurations": [ + "tcp" + ], + "sources": [ + "source" + ], + "destinations": [ + "destination" + ] + } + ] + }, + "location": "eastus", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + }, + { + "name": "cm2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "endpoints": [ + { + "name": "source", + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/ct2" + }, + { + "name": "destination", + "address": "google.com" + } + ], + "testConfigurations": [ + { + "name": "tcp", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80 + } + } + ], + "testGroups": [ + { + "name": "tg", + "testConfigurations": [ + "tcp" + ], + "sources": [ + "source" + ], + "destinations": [ + "destination" + ] + } + ] + }, + "location": "eastus", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorQuery.json new file mode 100644 index 000000000000..ac46a10f3557 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorQuery.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": { + "body": { + "sourceStatus": "Active", + "states": [ + { + "connectionState": "Reachable", + "startTime": "2018-01-08T03:42:33.3387305Z", + "endTime": "2018-01-08T05:12:41.5265438Z", + "evaluationState": "Completed", + "hops": [ + { + "type": "Source", + "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e", + "address": "10.1.1.4", + "resourceId": "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1", + "nextHopIds": [ + "75c8d819-b208-4584-a311-1aa45ce753f9" + ], + "issues": [] + }, + { + "type": "VirtualNetwork", + "id": "75c8d819-b208-4584-a311-1aa45ce753f9", + "address": "192.168.100.4", + "resourceId": "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1", + "nextHopIds": [], + "issues": [] + } + ] + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1/query?api-version=2023-09-01" + }, + "body": { + "sourceStatus": "Active", + "states": [ + { + "connectionState": "Reachable", + "startTime": "2018-01-08T03:42:33.3387305Z", + "endTime": "2018-01-08T05:12:41.5265438Z", + "evaluationState": "Completed", + "hops": [ + { + "type": "Source", + "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e", + "address": "10.1.1.4", + "resourceId": "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1", + "nextHopIds": [ + "75c8d819-b208-4584-a311-1aa45ce753f9" + ], + "issues": [] + }, + { + "type": "VirtualNetwork", + "id": "75c8d819-b208-4584-a311-1aa45ce753f9", + "address": "192.168.100.4", + "resourceId": "subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1", + "nextHopIds": [], + "issues": [] + } + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorStart.json new file mode 100644 index 000000000000..36b3fa230767 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorStop.json new file mode 100644 index 000000000000..36b3fa230767 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorStop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json new file mode 100644 index 000000000000..3fe46c9e6c5c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "cm1", + "id": "/subscriptions/subid/`/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "source": { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1", + "port": 0 + }, + "destination": { + "address": "bing.com", + "port": 80 + }, + "monitoringIntervalInSeconds": 60, + "autoStart": true, + "startTime": "2019-09-04T02:48:10.6797393Z", + "monitoringStatus": "Running" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/networkWatchers/connectionMonitors", + "location": "westcentralus" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorV2Create.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorV2Create.json new file mode 100644 index 000000000000..73a62ecf1529 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectionMonitorV2Create.json @@ -0,0 +1,206 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1", + "location": "centraluseuap", + "parameters": { + "properties": { + "endpoints": [ + { + "name": "vm1", + "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NwRgIrinaCentralUSEUAP/providers/Microsoft.Compute/virtualMachines/vm1" + }, + { + "name": "CanaryWorkspaceVamshi", + "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/vasamudrRG/providers/Microsoft.OperationalInsights/workspaces/vasamudrWorkspace", + "filter": { + "type": "Include", + "items": [ + { + "type": "AgentAddress", + "address": "npmuser" + } + ] + } + }, + { + "name": "bing", + "address": "bing.com" + }, + { + "name": "google", + "address": "google.com" + } + ], + "testConfigurations": [ + { + "name": "testConfig1", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80, + "disableTraceRoute": false + } + } + ], + "testGroups": [ + { + "name": "test1", + "disable": false, + "testConfigurations": [ + "testConfig1" + ], + "sources": [ + "vm1", + "CanaryWorkspaceVamshi" + ], + "destinations": [ + "bing", + "google" + ] + } + ], + "outputs": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "cm1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"", + "properties": { + "endpoints": [ + { + "name": "vm1", + "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NwRgIrinaCentralUSEUAP/providers/Microsoft.Compute/virtualMachines/vm1" + }, + { + "name": "CanaryWorkspaceVamshi", + "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/vasamudrRG/providers/Microsoft.OperationalInsights/workspaces/vasamudrWorkspace", + "filter": { + "type": "Include", + "items": [ + { + "type": "AgentAddress", + "address": "npmuser" + } + ] + } + }, + { + "name": "bing", + "address": "bing.com" + }, + { + "name": "google", + "address": "google.com" + } + ], + "testConfigurations": [ + { + "name": "testConfig1", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80, + "disableTraceRoute": false + } + } + ], + "testGroups": [ + { + "name": "test1", + "disable": false, + "testConfigurations": [ + "testConfig1" + ], + "sources": [ + "vm1", + "CanaryWorkspaceVamshi" + ], + "destinations": [ + "bing", + "google" + ] + } + ], + "outputs": [] + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + }, + "201": { + "body": { + "name": "cm1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectionMonitors/cm1", + "etag": "W/\"e7497f26-5f09-4559-900b-fe98f3dedb6f\"", + "properties": { + "endpoints": [ + { + "name": "vm1", + "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NwRgIrinaCentralUSEUAP/providers/Microsoft.Compute/virtualMachines/vm1" + }, + { + "name": "CanaryWorkspaceVamshi", + "resourceId": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/vasamudrRG/providers/Microsoft.OperationalInsights/workspaces/vasamudrWorkspace", + "filter": { + "type": "Include", + "items": [ + { + "type": "AgentAddress", + "address": "npmuser" + } + ] + } + }, + { + "name": "bing", + "address": "bing.com" + }, + { + "name": "google", + "address": "google.com" + } + ], + "testConfigurations": [ + { + "name": "testConfig1", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80, + "disableTraceRoute": false + } + } + ], + "testGroups": [ + { + "name": "test1", + "disable": false, + "testConfigurations": [ + "testConfig1" + ], + "sources": [ + "vm1", + "CanaryWorkspaceVamshi" + ], + "destinations": [ + "bing", + "google" + ] + } + ], + "outputs": [] + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectivityCheck.json new file mode 100644 index 000000000000..cba9974c8f27 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherConnectivityCheck.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "source": { + "resourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1" + }, + "destination": { + "address": "192.168.100.4", + "port": 3389 + }, + "preferredIPVersion": "IPv4" + } + }, + "responses": { + "200": { + "body": { + "hops": [ + { + "type": "Source", + "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e", + "address": "10.1.1.4", + "resourceId": "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1", + "nextHopIds": [ + "75c8d819-b208-4584-a311-1aa45ce753f9" + ], + "issues": [] + }, + { + "type": "VirtualNetwork", + "id": "75c8d819-b208-4584-a311-1aa45ce753f9", + "address": "192.168.100.4", + "resourceId": "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1", + "nextHopIds": [], + "issues": [] + } + ], + "connectionStatus": "Connected", + "avgLatencyInMs": 1, + "minLatencyInMs": 1, + "maxLatencyInMs": 4, + "probesSent": 100, + "probesFailed": 0 + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/connectivityCheck?api-version=2023-09-01" + }, + "body": { + "hops": [ + { + "type": "Source", + "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e", + "address": "10.1.1.4", + "resourceId": "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic0/ipConfigurations/ipconfig1", + "nextHopIds": [ + "75c8d819-b208-4584-a311-1aa45ce753f9" + ], + "issues": [] + }, + { + "type": "VirtualNetwork", + "id": "75c8d819-b208-4584-a311-1aa45ce753f9", + "address": "192.168.100.4", + "resourceId": "subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1/ipConfigurations/ipconfig1", + "nextHopIds": [], + "issues": [] + } + ], + "connectionStatus": "Connected", + "avgLatencyInMs": 1, + "minLatencyInMs": 1, + "maxLatencyInMs": 4, + "probesSent": 100, + "probesFailed": 0 + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherCreate.json new file mode 100644 index 000000000000..b28e10936156 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "nw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "nw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherDelete.json new file mode 100644 index 000000000000..a9c3077e5d20 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogConfigure.json new file mode 100644 index 000000000000..c987828a135c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogConfigure.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/configureFlowLog?api-version=2023-09-01" + }, + "body": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogCreate.json new file mode 100644 index 000000000000..3d363b8c7ed5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogCreate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "flowLogName": "fl", + "parameters": { + "location": "centraluseuap", + "properties": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg", + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe", + "enabled": true, + "format": { + "type": "JSON", + "version": 1 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "Microsoft.Networkdesmond-rgdesmondcentral-nsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw/FlowLogs/fl", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Updating", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe", + "enabled": true, + "flowAnalyticsConfiguration": {}, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 1 + } + }, + "type": "Microsoft.Network/networkWatchers/FlowLogs", + "location": "centraluseuap" + } + }, + "201": { + "body": { + "name": "Microsoft.Networkdesmond-rgdesmondcentral-nsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw/FlowLogs/fl", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe", + "enabled": true, + "flowAnalyticsConfiguration": {}, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 1 + } + }, + "type": "Microsoft.Network/networkWatchers/FlowLogs", + "location": "centraluseuap" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogDelete.json new file mode 100644 index 000000000000..fead07f6b169 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "flowLogName": "fl" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogGet.json new file mode 100644 index 000000000000..90ac6b26d726 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "flowLogName": "flowLog1" + }, + "responses": { + "200": { + "body": { + "name": "flowLog1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/тц1/FlowLogs/flowLog1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/networkSecurityGroups/vm5-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/wzstorage002", + "enabled": true, + "flowAnalyticsConfiguration": { + "networkWatcherFlowAnalyticsConfiguration": { + "enabled": false, + "workspaceId": "-", + "workspaceRegion": "-", + "trafficAnalyticsInterval": 60 + } + }, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 2 + } + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/FlowLogs" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogList.json new file mode 100644 index 000000000000..574054c83af5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogList.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "flowLog1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/тц1/FlowLogs/flowLog1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/networkSecurityGroups/vm5-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/wzstorage002", + "enabled": true, + "flowAnalyticsConfiguration": { + "networkWatcherFlowAnalyticsConfiguration": { + "enabled": false, + "workspaceId": "-", + "workspaceRegion": "-", + "trafficAnalyticsInterval": 60 + } + }, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 2 + } + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/FlowLogs" + }, + { + "name": "flowLog2", + "id": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_centraluseuap/FlowLogs/flowLog2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/networkSecurityGroups/DSCP-test-vm1-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/iraflowlogtest2diag", + "enabled": true, + "flowAnalyticsConfiguration": {}, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 2 + } + }, + "type": "Microsoft.Network/networkWatchers/FlowLogs", + "location": "centraluseuap" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogStatusQuery.json new file mode 100644 index 000000000000..0f1bbc381878 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogStatusQuery.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + } + }, + "responses": { + "200": { + "body": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/queryFlowLogStatus?api-version=2023-09-01" + }, + "body": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogUpdateTags.json new file mode 100644 index 000000000000..1899598bf013 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherFlowLogUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw", + "flowLogName": "fl", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "Microsoft.Networkdesmond-rgdesmondcentral-nsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw/FlowLogs/fl", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe", + "enabled": true, + "flowAnalyticsConfiguration": {}, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 1 + } + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/networkWatchers/FlowLogs", + "location": "centralus" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherGet.json new file mode 100644 index 000000000000..62cd6154527a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "200": { + "body": { + "name": "nw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherIpFlowVerify.json new file mode 100644 index 000000000000..7564eb8a528d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherIpFlowVerify.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "direction": "Outbound", + "protocol": "TCP", + "localPort": "80", + "remotePort": "80", + "localIPAddress": "10.2.0.4", + "remoteIPAddress": "121.10.1.1" + } + }, + "responses": { + "200": { + "body": { + "access": "Allow", + "ruleName": "Rule1" + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/ipFlowVerify?api-version=2023-09-01" + }, + "body": { + "access": "Allow", + "ruleName": "Rule1" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherList.json new file mode 100644 index 000000000000..53992d3d047e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + }, + { + "name": "nw2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherListAll.json new file mode 100644 index 000000000000..1e3a017e4cb9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherListAll.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + }, + { + "name": "nw2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json new file mode 100644 index 000000000000..7c3d115fdc98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json @@ -0,0 +1,201 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "profiles": [ + { + "direction": "Inbound", + "protocol": "TCP", + "source": "10.1.0.4", + "destination": "12.11.12.14", + "destinationPort": "12100" + } + ] + } + }, + "responses": { + "200": { + "body": { + "results": [ + { + "profile": { + "direction": "Inbound", + "protocol": "TCP", + "source": "10.1.0.4", + "destination": "12.11.12.14", + "destinationPort": "12100" + }, + "networkSecurityGroupResult": { + "securityRuleAccessResult": "Allow", + "evaluatedNetworkSecurityGroups": [ + { + "networkSecurityGroupId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/subnets/AppSubnet", + "matchedRule": { + "ruleName": "UserRule_fe_rule", + "action": "Allow" + }, + "rulesEvaluationResult": [ + { + "name": "UserRule_Cleanuptool-Allow-100", + "protocolMatched": true, + "sourceMatched": false, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_Cleanuptool-Allow-101", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_Cleanuptool-Allow-102", + "protocolMatched": true, + "sourceMatched": false, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_Cleanuptool-Deny-103", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_fe_rule", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": true + } + ] + }, + { + "networkSecurityGroupId": "/subscriptions/61cc8a98-a8be-4bfe-a04e-0b461f93fe35/resourceGroups/NwRgCentralUSEUAP_copy/providers/Microsoft.Network/networkSecurityGroups/AppNSG", + "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/networkInterfaces/nic", + "matchedRule": { + "ruleName": "UserRule_fe_rule", + "action": "Allow" + }, + "rulesEvaluationResult": [ + { + "name": "UserRule_fe_rule", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": true + } + ] + } + ] + } + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/networkConfigurationDiagnostic?api-version=2023-09-01" + }, + "body": { + "results": [ + { + "profile": { + "direction": "Inbound", + "protocol": "TCP", + "source": "10.1.0.4", + "destination": "12.11.12.14", + "destinationPort": "12100" + }, + "networkSecurityGroupResult": { + "securityRuleAccessResult": "Allow", + "evaluatedNetworkSecurityGroups": [ + { + "networkSecurityGroupId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/subnets/AppSubnet", + "matchedRule": { + "ruleName": "UserRule_fe_rule", + "action": "Allow" + }, + "rulesEvaluationResult": [ + { + "name": "UserRule_Cleanuptool-Allow-100", + "protocolMatched": true, + "sourceMatched": false, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_Cleanuptool-Allow-101", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_Cleanuptool-Allow-102", + "protocolMatched": true, + "sourceMatched": false, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_Cleanuptool-Deny-103", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": false + }, + { + "name": "UserRule_fe_rule", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": true + } + ] + }, + { + "networkSecurityGroupId": "/subscriptions/61cc8a98-a8be-4bfe-a04e-0b461f93fe35/resourceGroups/NwRgCentralUSEUAP_copy/providers/Microsoft.Network/networkSecurityGroups/AppNSG", + "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/networkInterfaces/nic", + "matchedRule": { + "ruleName": "UserRule_fe_rule", + "action": "Allow" + }, + "rulesEvaluationResult": [ + { + "name": "UserRule_fe_rule", + "protocolMatched": true, + "sourceMatched": true, + "sourcePortMatched": true, + "destinationMatched": true, + "destinationPortMatched": true + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherNextHopGet.json new file mode 100644 index 000000000000..39eebda2dc1d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherNextHopGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "sourceIPAddress": "10.0.0.5", + "destinationIPAddress": "10.0.0.10", + "targetNicResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/nic1" + } + }, + "responses": { + "200": { + "body": { + "nextHopType": "VnetLocal", + "nextHopIpAddress": "10.0.0.1", + "routeTableId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/rt1" + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/nextHop?api-version=2023-09-01" + }, + "body": { + "nextHopType": "VnetLocal", + "nextHopIpAddress": "10.0.0.1", + "routeTableId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/rt1" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureCreate.json new file mode 100644 index 000000000000..bb0874eb5559 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureCreate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1", + "parameters": { + "properties": { + "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "bytesToCapturePerPacket": 10000, + "totalBytesPerSession": 100000, + "timeLimitInSeconds": 100, + "storageLocation": { + "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore", + "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap", + "filePath": "D:\\capture\\pc1.cap" + }, + "filters": [ + { + "protocol": "TCP", + "localIPAddress": "10.0.0.4", + "localPort": "80" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "pc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1", + "properties": { + "provisioningState": "Updating", + "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "bytesToCapturePerPacket": 10000, + "totalBytesPerSession": 100000, + "timeLimitInSeconds": 100, + "storageLocation": { + "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore", + "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap", + "filePath": "D:\\capture\\pc1.cap" + }, + "filters": [ + { + "protocol": "TCP", + "localIPAddress": "10.0.0.4", + "localPort": "80" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureDelete.json new file mode 100644 index 000000000000..0bb2e66c5745 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureGet.json new file mode 100644 index 000000000000..c5f80b105232 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "200": { + "body": { + "name": "pc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Updating", + "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "bytesToCapturePerPacket": 10000, + "totalBytesPerSession": 100000, + "timeLimitInSeconds": 100, + "storageLocation": { + "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore", + "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap", + "filePath": "D:\\capture\\pc1.cap" + }, + "filters": [ + { + "protocol": "TCP", + "localIPAddress": "10.0.0.4", + "localPort": "80" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureQueryStatus.json new file mode 100644 index 000000000000..cc1975d165b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureQueryStatus.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "200": { + "body": { + "name": "pc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1", + "captureStartTime": "2016-09-07T12:35:24Z", + "packetCaptureStatus": "Stopped", + "stopReason": "TimeExceeded", + "packetCaptureError": [] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/troubleshoot?api-version=2023-09-01" + }, + "body": { + "name": "pc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1", + "captureStartTime": "2016-09-07T12:35:24Z", + "packetCaptureStatus": "Stopped", + "stopReason": "TimeExceeded", + "packetCaptureError": [] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureStop.json new file mode 100644 index 000000000000..022f842b4d6e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCaptureStop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCapturesList.json new file mode 100644 index 000000000000..456fc295bdbb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherPacketCapturesList.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "pc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Updating", + "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "bytesToCapturePerPacket": 10000, + "totalBytesPerSession": 100000, + "timeLimitInSeconds": 100, + "storageLocation": { + "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore", + "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc1.cap", + "filePath": "D:\\capture\\pc1.cap" + }, + "filters": [ + { + "protocol": "TCP", + "localIPAddress": "10.0.0.4", + "localPort": "80" + } + ] + } + }, + { + "name": "pc2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "target": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "bytesToCapturePerPacket": 10000, + "totalBytesPerSession": 100000, + "timeLimitInSeconds": 100, + "storageLocation": { + "storageId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Storage/storageAccounts/pcstore", + "storagePath": "https://mytestaccountname.blob.core.windows.net/capture/pc2.cap", + "filePath": "D:\\capture\\pc2.cap" + }, + "filters": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherSecurityGroupViewGet.json new file mode 100644 index 000000000000..430593fd6ec6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherSecurityGroupViewGet.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + "responses": { + "200": { + "body": { + "networkInterfaces": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1", + "securityRuleAssociations": { + "subnetAssociation": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "securityRules": [ + { + "name": "fe_rule", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/AppNSG/securityRules/fe_rule", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow Frontend", + "protocol": "Tcp", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "10.1.0.0/24", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 100, + "direction": "Inbound" + } + } + ] + }, + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/networkSecurityGroups//defaultSecurityRules/", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + } + ], + "effectiveSecurityRules": [ + { + "name": "DefaultOutboundDenyAll", + "protocol": "All", + "sourcePortRange": "0-65535", + "destinationPortRange": "0-65535", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + ] + } + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/queryStatus?api-version=2023-09-01" + }, + "body": { + "networkInterfaces": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/nic1", + "securityRuleAssociations": { + "subnetAssociation": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "securityRules": [ + { + "name": "fe_rule", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/AppNSG/securityRules/fe_rule", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow Frontend", + "protocol": "Tcp", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "10.1.0.0/24", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 100, + "direction": "Inbound" + } + } + ] + }, + "defaultSecurityRules": [ + { + "name": "AllowVnetInBound", + "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/networkSecurityGroups//defaultSecurityRules/", + "properties": { + "provisioningState": "Succeeded", + "description": "Allow inbound traffic from all VMs in VNET", + "protocol": "*", + "sourcePortRange": "*", + "destinationPortRange": "*", + "sourceAddressPrefix": "VirtualNetwork", + "destinationAddressPrefix": "VirtualNetwork", + "access": "Allow", + "priority": 65000, + "direction": "Inbound" + } + } + ], + "effectiveSecurityRules": [ + { + "name": "DefaultOutboundDenyAll", + "protocol": "All", + "sourcePortRange": "0-65535", + "destinationPortRange": "0-65535", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 65500, + "direction": "Outbound" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherTopologyGet.json new file mode 100644 index 000000000000..cdd83b24baaf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherTopologyGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceGroupName": "rg2" + } + }, + "responses": { + "200": { + "body": { + "id": "ce592f46-8164-4bf2-ad36-b8e4acf6fb68", + "createdDateTime": "2017-08-02T19:31:55.9461781Z", + "lastModified": "2017-05-27T00:00:13.2005337Z", + "resources": [ + { + "name": "MultiTierApp0", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/MultiTierApp0", + "location": "westus", + "associations": [ + { + "name": "appNic0", + "resourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/appNic0", + "associationType": "Contains" + }, + { + "name": "appNic10", + "resourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkInterfaces/appNic10", + "associationType": "Contains" + } + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherTroubleshootGet.json new file mode 100644 index 000000000000..4acdbd126cea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherTroubleshootGet.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "storagePath": "https://st1.blob.core.windows.net/cn1" + } + } + }, + "responses": { + "200": { + "body": { + "startTime": "2017-01-12T00:19:47.0442834Z", + "endTime": "2017-01-12T00:20:09.914Z", + "code": "UnHealthy", + "results": [ + { + "id": "000000", + "reasonType": "VipUnResponsive", + "summary": "We are sorry, your VPN gateway is unreachable from the Internet", + "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected", + "recommendedActions": [ + { + "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet", + "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal", + "actionUriText": "Verify" + }, + { + "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support", + "actionUri": "http://azure.microsoft.com/support", + "actionUriText": "contact support" + } + ] + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/troubleshoot?api-version=2023-09-01" + }, + "body": { + "startTime": "2017-01-12T00:19:47.0442834Z", + "endTime": "2017-01-12T00:20:09.914Z", + "code": "UnHealthy", + "results": [ + { + "id": "000000", + "reasonType": "VipUnResponsive", + "summary": "We are sorry, your VPN gateway is unreachable from the Internet", + "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected", + "recommendedActions": [ + { + "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet", + "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal", + "actionUriText": "Verify" + }, + { + "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support", + "actionUri": "http://azure.microsoft.com/support", + "actionUriText": "contact support" + } + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherTroubleshootResultQuery.json new file mode 100644 index 000000000000..fb1506b72470 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherTroubleshootResultQuery.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + "responses": { + "200": { + "body": { + "startTime": "2017-01-12T00:19:47.0442834Z", + "endTime": "2017-01-12T00:20:09.914Z", + "code": "UnHealthy", + "results": [ + { + "id": "000000", + "reasonType": "VipUnResponsive", + "summary": "We are sorry, your VPN gateway is unreachable from the Internet", + "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected", + "recommendedActions": [ + { + "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet", + "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal", + "actionUriText": "Verify" + }, + { + "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support", + "actionUri": "http://azure.microsoft.com/support", + "actionUriText": "contact support" + } + ] + } + ] + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/queryTroubleshootResult?api-version=2023-09-01" + }, + "body": { + "startTime": "2017-01-12T00:19:47.0442834Z", + "endTime": "2017-01-12T00:20:09.914Z", + "code": "UnHealthy", + "results": [ + { + "id": "000000", + "reasonType": "VipUnResponsive", + "summary": "We are sorry, your VPN gateway is unreachable from the Internet", + "detail": "During this time S2S VPN tunnels to on premises sites or other Azure virtual networks will be disconnected", + "recommendedActions": [ + { + "actionText": "Verify if there is a network security group (NSG) applied to the GatewaySubnet", + "actionUri": "https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal", + "actionUriText": "Verify" + }, + { + "actionText": "If your VPN gateway isn't up and running by the expected resolution time, contact support", + "actionUri": "http://azure.microsoft.com/support", + "actionUriText": "contact support" + } + ] + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherUpdateTags.json new file mode 100644 index 000000000000..79c07abede33 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/NetworkWatcherUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "nw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/networkWatchers", + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/OperationList.json new file mode 100644 index 000000000000..47bd38b5febb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/OperationList.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Network/localnetworkgateways/read", + "display": { + "provider": "Microsoft Network", + "resource": "LocalNetworkGateway", + "operation": "Get LocalNetworkGateway", + "description": "Gets LocalNetworkGateway" + } + }, + { + "name": "Microsoft.Network/localnetworkgateways/write", + "display": { + "provider": "Microsoft Network", + "resource": "LocalNetworkGateway", + "operation": "Create or update LocalNetworkGateway", + "description": "Creates or updates an existing LocalNetworkGateway" + } + }, + { + "name": "Microsoft.Network/localnetworkgateways/delete", + "display": { + "provider": "Microsoft Network", + "resource": "LocalNetworkGateway", + "operation": "Delete LocalNetworkGateway", + "description": "Deletes LocalNetworkGateway" + } + }, + { + "name": "Microsoft.Network/networkInterfaces/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Network", + "resource": "Network Interface metric definition", + "operation": "Read Network Interface metric definitions", + "description": "Gets available metrics for the Network Interface" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "BytesSentRate", + "displayName": "Bytes Sent", + "displayDescription": "Number of bytes the Network Interface sent", + "unit": "Count", + "aggregationType": "Total", + "availabilities": [ + { + "timeGrain": "00:01:00", + "retention": "00:00:00", + "blobDuration": "01:00:00" + }, + { + "timeGrain": "01:00:00", + "retention": "00:00:00", + "blobDuration": "1.00:00:00" + } + ], + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^__Ready__$", + "fillGapWithZero": false, + "dimensions": [], + "isInternal": false + }, + { + "name": "BytesReceivedRate", + "displayName": "Bytes Received", + "displayDescription": "Number of bytes the Network Interface received", + "unit": "Count", + "aggregationType": "Total", + "availabilities": [ + { + "timeGrain": "00:01:00", + "retention": "00:00:00", + "blobDuration": "01:00:00" + }, + { + "timeGrain": "01:00:00", + "retention": "00:00:00", + "blobDuration": "1.00:00:00" + } + ], + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^__Ready__$", + "fillGapWithZero": false, + "dimensions": [], + "isInternal": false + } + ] + } + } + }, + { + "name": "Microsoft.Network/networksecuritygroups/providers/Microsoft.Insights/logDefinitions/read", + "display": { + "provider": "Microsoft Network", + "resource": "Network Security Groups Log Definitions", + "operation": "Get Network Security Group Event Log Definitions", + "description": "Gets the events for network security group" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "NetworkSecurityGroupEvent", + "displayName": "Network Security Group Event", + "blobDuration": "PT1H" + }, + { + "name": "NetworkSecurityGroupRuleCounter", + "displayName": "Network Security Group Rule Counter", + "blobDuration": "PT1H" + }, + { + "name": "NetworkSecurityGroupFlowEvent", + "displayName": "Network Security Group Rule Flow Event", + "blobDuration": "PT1H" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayDelete.json new file mode 100644 index 000000000000..ad631b77b5f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayGenerateVpnProfile.json new file mode 100644 index 000000000000..880700cf975a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayGenerateVpnProfile.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "p2sVpnGateway1", + "parameters": { + "authenticationMethod": "EAPTLS" + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "profileUrl": "aaaaaaaaaaaaaaaaaaaaaaaaaaa" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayGet.json new file mode 100644 index 000000000000..7f31e4a018ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "configurationPolicyGroupAssociations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/configurationPolicyGroups/policyGroup1" + } + ], + "previousConfigurationPolicyGroupAssociations": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "3.3.3.3" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayGetConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayGetConnectionHealth.json new file mode 100644 index 000000000000..471161e1a1bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayGetConnectionHealth.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "configurationPolicyGroupAssociations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/configurationPolicyGroups/policyGroup1" + } + ], + "previousConfigurationPolicyGroupAssociations": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ] + } + } + ], + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "3.3.3.3" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json new file mode 100644 index 000000000000..423b8a9618b6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "p2s-vpn-gateway-test", + "gatewayName": "p2svpngateway", + "api-version": "2023-09-01", + "request": { + "vpnUserNamesFilter": [ + "vpnUser1", + "vpnUser2" + ], + "outputBlobSasUrl": "https://blobcortextesturl.blob.core.windows.net/folderforconfig/p2sconnectionhealths?sp=rw&se=2018-01-10T03%3A42%3A04Z&sv=2017-04-17&sig=WvXrT5bDmDFfgHs%2Brz%2BjAu123eRCNE9BO0eQYcPDT7pY%3D&sr=b" + } + }, + "responses": { + "200": { + "body": { + "sasUrl": "aaaaaaaaaaaaaaaaaa" + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayList.json new file mode 100644 index 000000000000..5c028deb90d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayList.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "configurationPolicyGroupAssociations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/configurationPolicyGroups/policyGroup1" + } + ], + "previousConfigurationPolicyGroupAssociations": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": true + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "3.3.3.3" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + }, + { + "name": "p2sVpnGateway2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.4.0.0/16" + ] + }, + "configurationPolicyGroupAssociations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/configurationPolicyGroups/policyGroup1" + } + ], + "previousConfigurationPolicyGroupAssociations": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": true + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "4.4.4.4" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayListByResourceGroup.json new file mode 100644 index 000000000000..1ad55d891300 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayListByResourceGroup.json @@ -0,0 +1,199 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "properties": { + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "configurationPolicyGroupAssociations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/configurationPolicyGroups/policyGroup1" + } + ], + "previousConfigurationPolicyGroupAssociations": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "3.3.3.3" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + }, + { + "name": "p2sVpnGateway2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "properties": { + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "configurationPolicyGroupAssociations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/configurationPolicyGroups/policyGroup1" + } + ], + "previousConfigurationPolicyGroupAssociations": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "4.4.4.4" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayPut.json new file mode 100644 index 000000000000..3b5ab3e15c2e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayPut.json @@ -0,0 +1,256 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "p2SVpnGatewayParameters": { + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "properties": { + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "1.1.1.1", + "2.2.2.2" + ], + "isRoutingPreferenceInternet": false + } + } + }, + "responses": { + "200": { + "body": { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "configurationPolicyGroupAssociations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/configurationPolicyGroups/policyGroup1" + } + ], + "previousConfigurationPolicyGroupAssociations": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "1.1.1.1", + "2.2.2.2" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 0, + "allocatedIpAddresses": [], + "totalIngressBytesTransferred": 0, + "totalEgressBytesTransferred": 0 + }, + "isRoutingPreferenceInternet": false + } + } + }, + "201": { + "body": { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "configurationPolicyGroupAssociations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/configurationPolicyGroups/policyGroup1" + } + ], + "previousConfigurationPolicyGroupAssociations": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "1.1.1.1", + "2.2.2.2" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 0, + "allocatedIpAddresses": [], + "totalIngressBytesTransferred": 0, + "totalEgressBytesTransferred": 0 + }, + "isRoutingPreferenceInternet": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayReset.json new file mode 100644 index 000000000000..7697f30652a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayReset.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "configurationPolicyGroupAssociations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/configurationPolicyGroups/policyGroup1" + } + ], + "previousConfigurationPolicyGroupAssociations": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ] + } + } + ], + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "3.3.3.3" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayUpdateTags.json new file mode 100644 index 000000000000..00845d0330af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2SVpnGatewayUpdateTags.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "p2SVpnGatewayParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "p2sVpnGateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/p2sVpnGateways", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "vpnServerConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1" + }, + "p2SConnectionConfigurations": [ + { + "name": "P2SConnectionConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1", + "properties": { + "vpnClientAddressPool": { + "addressPrefixes": [ + "101.3.0.0/16" + ] + }, + "configurationPolicyGroupAssociations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/configurationPolicyGroups/policyGroup1" + } + ], + "previousConfigurationPolicyGroupAssociations": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "3.3.3.3" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 2, + "allocatedIpAddresses": [ + "1.1.1.1", + "2.2.2.2" + ], + "totalIngressBytesTransferred": 2000, + "totalEgressBytesTransferred": 3000 + }, + "isRoutingPreferenceInternet": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json new file mode 100644 index 000000000000..a2910bd06e25 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "p2s-vpn-gateway-test", + "p2sVpnGatewayName": "p2svpngateway", + "api-version": "2023-09-01", + "request": { + "vpnConnectionIds": [ + "vpnconnId1", + "vpnconnId2" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PeerExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PeerExpressRouteCircuitConnectionGet.json new file mode 100644 index 000000000000..7efcb501b51e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PeerExpressRouteCircuitConnectionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "connectionName": "60aee347-e889-4a42-8c1b-0aae8b1e4013", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid1", + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering" + }, + "responses": { + "200": { + "body": { + "name": "60aee347-e889-4a42-8c1b-0aae8b1e4013", + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/peerConnections/60aee347-e889-4a42-8c1b-0aae8b1e4013", + "etag": "W/\"6ffbbb06-da20-44ca-a34f-280c4653b1e9\"", + "properties": { + "provisioningState": "Succeeded", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitB/peerings/AzurePrivatePeering" + }, + "addressPrefix": "20.0.0.0/29", + "circuitConnectionStatus": "Connected", + "connectionName": "circuitConnectionWestusEastus", + "authResourceGuid": "" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PeerExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PeerExpressRouteCircuitConnectionList.json new file mode 100644 index 000000000000..04a8cea1c84b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PeerExpressRouteCircuitConnectionList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid1", + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "60aee347-e889-4a42-8c1b-0aae8b1e4013", + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/peerConnections/60aee347-e889-4a42-8c1b-0aae8b1e4013", + "etag": "W/\"6ffbbb06-da20-44ca-a34f-280c4653b1e9\"", + "properties": { + "provisioningState": "Succeeded", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitB/peerings/AzurePrivatePeering" + }, + "addressPrefix": "20.0.0.0/29", + "circuitConnectionStatus": "Connected", + "connectionName": "circuitConnectionWestusEastus", + "authResourceGuid": "" + } + }, + { + "name": "c8b17193-8dd3-4f61-866d-8cdd2e2e268e", + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/peerConnections/c8b17193-8dd3-4f61-866d-8cdd2e2e268e", + "etag": "W/\"6ffbbb06-da20-44ca-a34f-280c4653b1e9\"", + "properties": { + "provisioningState": "Succeeded", + "expressRouteCircuitPeering": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering" + }, + "peerExpressRouteCircuitPeering": { + "id": "/subscriptions/subid2/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitC/peerings/AzurePrivatePeering" + }, + "addressPrefix": "30.0.0.0/29", + "circuitConnectionStatus": "Connected", + "connectionName": "circuitConnectionCentralusEastus", + "authResourceGuid": "64283012-d377-421d-8398-f6aeb2ac7ea0" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointCreate.json new file mode 100644 index 000000000000..b3ee29dfaf6d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointCreate.json @@ -0,0 +1,165 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "extendedLocation": { + "type": "EdgeZone", + "name": "edgeZone0" + }, + "parameters": { + "location": "eastus2euap", + "properties": { + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection." + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.6" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location": "eastus2euap", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.6" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + }, + "201": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location": "eastus2euap", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.6" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointCreateForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointCreateForManualApproval.json new file mode 100644 index 000000000000..fd07c0d3ed1a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointCreateForManualApproval.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "parameters": { + "location": "eastus", + "properties": { + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection." + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.5" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.5" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + }, + "201": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.5" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointCreateWithASG.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointCreateWithASG.json new file mode 100644 index 000000000000..573945afbf54 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointCreateWithASG.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "extendedLocation": { + "type": "EdgeZone", + "name": "edgeZone0" + }, + "parameters": { + "location": "eastus2euap", + "properties": { + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection." + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "applicationSecurityGroups": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/applicationSecurityGroup/asg1" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location": "eastus2euap", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/applicationSecurityGroup/asg1" + } + ] + } + } + }, + "201": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "location": "eastus2euap", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/applicationSecurityGroup/asg1" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDelete.json new file mode 100644 index 000000000000..1782d4d337b4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDnsZoneGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDnsZoneGroupCreate.json new file mode 100644 index 000000000000..89cc7306e9b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDnsZoneGroupCreate.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "privateDnsZoneGroupName": "testPdnsgroup", + "parameters": { + "properties": { + "privateDnsZoneConfigs": [ + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone1.com" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPdnsgroup", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPe/privateDnsZoneGroups/testPdnsgroup", + "properties": { + "provisioningState": "Succeeded", + "privateDnsZoneConfigs": [ + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone1.com", + "recordSets": [ + { + "recordType": "A", + "recordSetName": "abc", + "fqdn": "abc.zone1.com", + "ipAddresses": [ + "10.0.0.4" + ] + }, + { + "recordType": "A", + "recordSetName": "abc2", + "fqdn": "abc2.zone1.com", + "ipAddresses": [ + "10.0.0.5" + ] + } + ] + } + } + ] + } + } + }, + "201": { + "body": { + "name": "testPdnsgroup", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPe/privateDnsZoneGroups/testPdnsgroup", + "properties": { + "provisioningState": "Succeeded", + "privateDnsZoneConfigs": [ + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone1.com", + "recordSets": [ + { + "recordType": "A", + "recordSetName": "abc", + "fqdn": "abc.zone1.com", + "ipAddresses": [ + "10.0.0.4" + ] + }, + { + "recordType": "A", + "recordSetName": "abc2", + "fqdn": "abc2.zone1.com", + "ipAddresses": [ + "10.0.0.5" + ] + } + ] + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDnsZoneGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDnsZoneGroupDelete.json new file mode 100644 index 000000000000..1ca9b118f051 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDnsZoneGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "privateDnsZoneGroupName": "testPdnsgroup" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDnsZoneGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDnsZoneGroupGet.json new file mode 100644 index 000000000000..dca7b7844800 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDnsZoneGroupGet.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "privateDnsZoneGroupName": "testPdnsgroup" + }, + "responses": { + "200": { + "body": { + "name": "testPdnsgroup", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPe/privateDnsZoneGroups/testPdnsgroup", + "properties": { + "provisioningState": "Succeeded", + "privateDnsZoneConfigs": [ + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone1.com", + "recordSets": [ + { + "recordType": "A", + "recordSetName": "abc", + "fqdn": "abc.zone1.com", + "ipAddresses": [ + "10.0.0.4" + ] + }, + { + "recordType": "A", + "recordSetName": "abc2", + "fqdn": "abc2.zone1.com", + "ipAddresses": [ + "10.0.0.5" + ] + } + ] + } + }, + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone2.com", + "recordSets": [ + { + "recordType": "A", + "recordSetName": "abc", + "fqdn": "abc.zone2.com", + "ipAddresses": [ + "10.0.0.6" + ] + }, + { + "recordType": "A", + "recordSetName": "abc2", + "fqdn": "abc2.zone2.com", + "ipAddresses": [ + "10.0.0.7" + ] + } + ] + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDnsZoneGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDnsZoneGroupList.json new file mode 100644 index 000000000000..5d3d0fb50c66 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointDnsZoneGroupList.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testPdnsgroup1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPe/privateDnsZoneGroups/testPdnsgroup1", + "properties": { + "provisioningState": "Succeeded", + "privateDnsZoneConfigs": [ + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone1.com", + "recordSets": [ + { + "recordType": "A", + "recordSetName": "abc", + "fqdn": "abc.zone1.com", + "ipAddresses": [ + "10.0.0.4" + ] + }, + { + "recordType": "A", + "recordSetName": "abc2", + "fqdn": "abc2.zone1.com", + "ipAddresses": [ + "10.0.0.5" + ] + } + ] + } + } + ] + } + }, + { + "name": "testPdnsgroup2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPe/privateDnsZoneGroups/testPdnsgroup2", + "properties": { + "provisioningState": "Succeeded", + "privateDnsZoneConfigs": [ + { + "properties": { + "privateDnsZoneId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateDnsZones/zone2.com", + "recordSets": [ + { + "recordType": "A", + "recordSetName": "abc3", + "fqdn": "abc3.zone2.com", + "ipAddresses": [ + "10.0.0.6" + ] + }, + { + "recordType": "A", + "recordSetName": "abc4", + "fqdn": "abc4.zone2.com", + "ipAddresses": [ + "10.0.0.7" + ] + } + ] + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointGet.json new file mode 100644 index 000000000000..915fcad14a01 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointGet.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.6" + } + }, + { + "name": "pestaticconfig2", + "properties": { + "groupId": "file", + "memberName": "file2", + "privateIPAddress": "192.168.0.7" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointGetForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointGetForManualApproval.json new file mode 100644 index 000000000000..5f980051e09f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointGetForManualApproval.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.5" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointGetWithASG.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointGetWithASG.json new file mode 100644 index 000000000000..2c0522f3bd58 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointGetWithASG.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": { + "body": { + "name": "testPe", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPe.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/applicationSecurityGroup/asg1" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointList.json new file mode 100644 index 000000000000..cec6d53d9b5f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointList.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1", + "name": "pe1", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection for pe1.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "manualPrivateLinkServiceConnections": [], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe1.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.10" + } + }, + { + "name": "pestaticconfig", + "properties": { + "groupId": "file", + "memberName": "file2", + "privateIPAddress": "192.168.0.11" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe2", + "name": "pe2", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection for pe2.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet2" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc3.cosmos1.com", + "ipAddresses": [ + "192.168.0.6" + ] + }, + { + "fqdn": "abc4.cosmos1.com", + "ipAddresses": [ + "192.168.0.7" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig3", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.8" + } + }, + { + "name": "pestaticconfig4", + "properties": { + "groupId": "file", + "memberName": "file2", + "privateIPAddress": "192.168.0.9" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointListAll.json new file mode 100644 index 000000000000..58324650a667 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateEndpointListAll.json @@ -0,0 +1,216 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/pe1", + "name": "pe1", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection for pe1.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/pe1.nic.abcd1234" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc.cosmos.com", + "ipAddresses": [ + "192.168.0.4" + ] + }, + { + "fqdn": "abc2.cosmos.com", + "ipAddresses": [ + "192.168.0.5" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig1", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.9" + } + }, + { + "name": "pestaticconfig2", + "properties": { + "groupId": "file", + "memberName": "file2", + "privateIPAddress": "192.168.0.10" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2", + "name": "pe2", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [], + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please manually approve my connection for pe2.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet2" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/pe2.nic.zyxw9876" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc3.cosmos1.com", + "ipAddresses": [ + "192.168.0.5" + ] + }, + { + "fqdn": "abc4.cosmos1.com", + "ipAddresses": [ + "192.168.0.6" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig3", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.11" + } + }, + { + "name": "pestaticconfig4", + "properties": { + "groupId": "file", + "memberName": "file2", + "privateIPAddress": "192.168.0.12" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/privateEndpoints/pe3", + "name": "pe3", + "type": "Microsoft.Network/privateEndpoints", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/privateLinkServices/testPls3", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection for pe3.", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ], + "subnet": { + "id": "/subscriptions/subId/resourceGroups/rg3/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet3" + }, + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg3/provders/Microsoft.Network/networkInterfaces/pe3.nic.efgh5463" + } + ], + "customDnsConfigs": [ + { + "fqdn": "abc5.cosmos2.com", + "ipAddresses": [ + "192.168.0.7" + ] + }, + { + "fqdn": "abc6.cosmos2.com", + "ipAddresses": [ + "192.168.0.8" + ] + } + ], + "applicationSecurityGroups": [], + "ipConfigurations": [ + { + "name": "pestaticconfig5", + "properties": { + "groupId": "file", + "memberName": "file", + "privateIPAddress": "192.168.0.13" + } + }, + { + "name": "pestaticconfig6", + "properties": { + "groupId": "file", + "memberName": "file2", + "privateIPAddress": "192.168.0.14" + } + } + ], + "customNetworkInterfaceName": "testPeNic" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceCreate.json new file mode 100644 index 000000000000..e4c6e34e65ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceCreate.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "extendedLocation": { + "type": "EdgeZone", + "name": "edgeZone0" + }, + "parameters": { + "location": "eastus", + "properties": { + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPls", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234" + } + ] + } + } + }, + "201": { + "body": { + "name": "testPls", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceDelete.json new file mode 100644 index 000000000000..58f5e702d03e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..b02499cd20cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName": "testPlePeConnection" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceGet.json new file mode 100644 index 000000000000..e8ef2b257215 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceGet.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls" + }, + "responses": { + "200": { + "body": { + "name": "testPls", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "type": "Microsoft.Network/privateLinkServices", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "privateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls.nic.abcd1234" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..3e23055ae654 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName": "testPlePeConnection" + }, + "responses": { + "200": { + "body": { + "name": "testPlePeConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceList.json new file mode 100644 index 000000000000..9134f16447a9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceList.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testPls1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", + "type": "Microsoft.Network/privateLinkServices", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb1" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb1", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb1" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "pec1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls1.nic.abcd1234" + } + ] + } + }, + { + "name": "testPls2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls2", + "type": "Microsoft.Network/privateLinkServices", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb2" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb2", + "properties": { + "privateIPAddress": "10.0.1.5", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb2" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "pec2", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls2.nic.efgh5678" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceListAll.json new file mode 100644 index 000000000000..1174160b8ea7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceListAll.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testPls1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls1", + "type": "Microsoft.Network/privateLinkServices", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2", + "subscription3" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2", + "fqdn3" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb1" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb1", + "properties": { + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb1" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "pec1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testPls1.nic.abcd1234" + } + ] + } + }, + { + "name": "testPls2", + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/testPls2", + "type": "Microsoft.Network/privateLinkServices", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "visibility": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "autoApproval": { + "subscriptions": [ + "subscription1", + "subscription2" + ] + }, + "fqdns": [ + "fqdn1", + "fqdn2" + ], + "alias": "ContosoService.{guid}.azure.privatelinkservice", + "loadBalancerFrontendIpConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb2" + } + ], + "ipConfigurations": [ + { + "name": "fe-lb2", + "properties": { + "privateIPAddress": "10.0.1.5", + "privateIPAllocationMethod": "Static", + "privateIPAddressVersion": "IPv4", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb2" + } + } + } + ], + "privateEndpointConnections": [ + { + "name": "pec1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/testPe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + ], + "networkInterfaces": [ + { + "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/testPls2.nic.efgh5678" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json new file mode 100644 index 000000000000..0852adde5818 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testPlePeConnection1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + }, + { + "name": "testPlePeConnection2", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe2" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "rejected by some reason." + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..2ff5db255d75 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName": "testPlePeConnection", + "parameters": { + "name": "testPlePeConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPlePeConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testPe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approved it for some reason." + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressCreateCustomizedValues.json new file mode 100644 index 000000000000..13d9c4116992 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressCreateCustomizedValues.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip", + "zones": [ + "1" + ], + "parameters": { + "properties": { + "publicIPAllocationMethod": "Static", + "idleTimeoutInMinutes": 10, + "publicIPAddressVersion": "IPv4" + }, + "sku": { + "name": "Standard", + "tier": "Global" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Static", + "idleTimeoutInMinutes": 10, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + }, + "ddosSettings": { + "protectionMode": "VirtualNetworkInherited" + } + }, + "sku": { + "name": "Standard", + "tier": "Global" + }, + "type": "Microsoft.Network/publicIPAddresses" + } + }, + "201": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Static", + "idleTimeoutInMinutes": 10, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + }, + "ddosSettings": { + "protectionMode": "VirtualNetworkInherited" + } + }, + "sku": { + "name": "Standard", + "tier": "Global" + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressCreateDefaults.json new file mode 100644 index 000000000000..7ca7c881bd8f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressCreateDefaults.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip", + "parameters": { + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Basic" + }, + "type": "Microsoft.Network/publicIPAddresses" + } + }, + "201": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Basic" + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressCreateDns.json new file mode 100644 index 000000000000..33f716ce6019 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressCreateDns.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip", + "parameters": { + "properties": { + "dnsSettings": { + "domainNameLabel": "dnslbl" + } + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "dnsSettings": { + "domainNameLabel": "dnslbl", + "fqdn": "dnslbl.westus.cloudapp.azure.com" + }, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + }, + "201": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "dnsSettings": { + "domainNameLabel": "dnslbl", + "fqdn": "dnslbl.westus.cloudapp.azure.com" + }, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + }, + "ddosSettings": { + "protectionMode": "VirtualNetworkInherited" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressCreateDnsWithDomainNameLabelScope.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressCreateDnsWithDomainNameLabelScope.json new file mode 100644 index 000000000000..5f5e8ce91089 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressCreateDnsWithDomainNameLabelScope.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip", + "parameters": { + "properties": { + "dnsSettings": { + "domainNameLabel": "dnslbl", + "domainNameLabelScope": "TenantReuse" + } + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "dnsSettings": { + "domainNameLabel": "dnslbl", + "domainNameLabelScope": "TenantReuse", + "fqdn": "dnslbl.hxdwgjcdfgbhgebs.eastus.sysgen.cloudapp.azure.com" + }, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + }, + "201": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "dnsSettings": { + "domainNameLabel": "dnslbl", + "domainNameLabelScope": "TenantReuse", + "fqdn": "dnslbl.hxdwgjcdfgbhgebs.eastus.sysgen.cloudapp.azure.com" + }, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + }, + "ddosSettings": { + "protectionMode": "VirtualNetworkInherited" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressDelete.json new file mode 100644 index 000000000000..fc08c052c256 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/locations/tempLocation/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressGet.json new file mode 100644 index 000000000000..c960bc060a46 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "testDNS-ip" + }, + "responses": { + "200": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + }, + "ddosSettings": { + "protectionMode": "Enabled", + "ddosProtectionPlan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan" + } + }, + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + }, + { + "ipTagType": "FirstPartyUsage", + "tag": "Storage" + } + ] + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressGetDdosProtectionStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressGetDdosProtectionStatus.json new file mode 100644 index 000000000000..2d4bbbce208f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressGetDdosProtectionStatus.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-pip" + }, + "responses": { + "200": { + "body": { + "publicIpAddressId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-pip", + "publicIpAddress": "10.0.1.5", + "isWorkloadProtected": "True", + "ddosProtectionPlanId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/locations/tempLocation/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressList.json new file mode 100644 index 000000000000..07afff8a0736 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressList.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + }, + "ddosSettings": { + "protectionMode": "VirtualNetworkInherited" + }, + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + }, + { + "ipTagType": "FirstPartyUsage", + "tag": "Storage" + } + ] + }, + "type": "Microsoft.Network/publicIPAddresses" + }, + { + "name": "ip03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/ip03", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "40.85.154.247", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "dnsSettings": { + "domainNameLabel": "testlbl", + "fqdn": "testlbl.westus.cloudapp.azure.com" + }, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/testLb/frontendIPConfigurations/LoadBalancerFrontEnd" + }, + "ddosSettings": { + "protectionMode": "VirtualNetworkInherited" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + }, + { + "name": "ip04", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/ip04", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "40.85.154.248", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "dnsSettings": { + "domainNameLabel": "testlbl", + "domainNameLabelScope": "TenantReuse", + "fqdn": "testlbl.hxdwgjcdfgbhgebs.eastus.sysgen.cloudapp.azure.com" + }, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/testLb/frontendIPConfigurations/LoadBalancerFrontEnd" + }, + "ddosSettings": { + "protectionMode": "VirtualNetworkInherited" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressListAll.json new file mode 100644 index 000000000000..08fb6a2cd430 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressListAll.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testDNS-ip", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + }, + "ddosSettings": { + "protectionMode": "VirtualNetworkInherited" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + }, + { + "name": "ip01", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/ip01", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "40.85.154.247", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "dnsSettings": { + "domainNameLabel": "testlbl", + "fqdn": "testlbl.westus.cloudapp.azure.com" + }, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/testLb/frontendIPConfigurations/LoadBalancerFrontEnd" + }, + "ddosSettings": { + "protectionMode": "VirtualNetworkInherited" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + }, + { + "name": "ip02", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPAddresses/ip02", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "40.85.154.248", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Dynamic", + "idleTimeoutInMinutes": 4, + "dnsSettings": { + "domainNameLabel": "testlbl", + "domainNameLabelScope": "TenantReuse", + "fqdn": "testlbl.hxdwgjcdfgbhgebs.eastus.sysgen.cloudapp.azure.com" + }, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/loadBalancers/testLb/frontendIPConfigurations/LoadBalancerFrontEnd" + }, + "ddosSettings": { + "protectionMode": "VirtualNetworkInherited" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressUpdateTags.json new file mode 100644 index 000000000000..1ece2b7b85ea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpAddressUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testDNS-ip", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "publicIPAddressVersion": "IPv4", + "publicIPAllocationMethod": "Static", + "idleTimeoutInMinutes": 10, + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testDNS649/ipConfigurations/ipconfig1" + }, + "ddosSettings": { + "protectionMode": "VirtualNetworkInherited" + } + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixCreateCustomizedValues.json new file mode 100644 index 000000000000..2c1cfeac23bb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix", + "zones": [ + "1" + ], + "parameters": { + "location": "westus", + "properties": { + "publicIPAddressVersion": "IPv4", + "prefixLength": 30 + }, + "sku": { + "name": "Standard", + "tier": "Regional" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] + }, + "sku": { + "name": "Standard", + "tier": "Regional" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + }, + "201": { + "body": { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "zones": [ + "1" + ], + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] + }, + "sku": { + "name": "Standard", + "tier": "Regional" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixCreateDefaults.json new file mode 100644 index 000000000000..e493bde182d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixCreateDefaults.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix", + "parameters": { + "location": "westus", + "properties": { + "prefixLength": 30 + }, + "sku": { + "name": "Standard" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + }, + "201": { + "body": { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixDelete.json new file mode 100644 index 000000000000..c265eede3eb6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixGet.json new file mode 100644 index 000000000000..508becbddc5e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix" + }, + "responses": { + "200": { + "body": { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "192.168.254.2/30", + "ipTags": [], + "publicIPAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixList.json new file mode 100644 index 000000000000..e2a919c962bb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "40.85.154.2/30", + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + } + ] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "ipprefix03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 31, + "ipPrefix": "40.85.153.2/31", + "ipTags": [] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixListAll.json new file mode 100644 index 000000000000..cf2b99eebacd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixListAll.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipPrefix": "41.85.154.247/30", + "ipTags": [], + "publicIPAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1" + } + ] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "ipprefix01", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "ipPrefix": "40.85.154.247/30", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipTags": [] + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + }, + { + "name": "pfx", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/publicIPPrefixes/pfx", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "type": "Microsoft.Network/publicIPPrefixes", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "ipPrefix": "25.101.84.16/30", + "publicIPAddressVersion": "IPv4", + "prefixLength": 30, + "ipTags": [], + "loadBalancerFrontendIpConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/loadBalancers/lb-pfx/frontendIPConfigurations/ipconfig1" + } + }, + "sku": { + "name": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixUpdateTags.json new file mode 100644 index 000000000000..d6bc9410fd6f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/PublicIpPrefixUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-ipprefix", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "publicIPAddressVersion": "IPv4", + "ipPrefix": "40.85.154.247/30", + "prefixLength": 30, + "ipTags": [] + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/QueryInboundNatRulePortMapping.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/QueryInboundNatRulePortMapping.json new file mode 100644 index 000000000000..840f42c133ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/QueryInboundNatRulePortMapping.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "groupName": "rg1", + "loadBalancerName": "lb1", + "backendPoolName": "bp1", + "parameters": { + "ipAddress": "10.0.0.4" + } + }, + "responses": { + "200": { + "body": { + "inboundNatRulePortMappings": [ + { + "inboundNatRuleName": "natRule", + "protocol": "Tcp", + "frontendPort": 3389, + "backendPort": 3389 + } + ] + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bp1/queryInboundNatRulePortMapping?api-version=2023-09-01" + }, + "body": { + "inboundNatRulePortMappings": [ + { + "inboundNatRuleName": "natRule", + "protocol": "Tcp", + "frontendPort": 3389, + "backendPort": 3389 + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterCreate.json new file mode 100644 index 000000000000..75ee118a2c2c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterCreate.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "routeFilterParameters": { + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "rules": [ + { + "name": "ruleName", + "properties": { + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "filterName", + "type": "Microsoft.Network/routeFilters", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ], + "peerings": [] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "filterName", + "type": "Microsoft.Network/routeFilters", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ], + "peerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterDelete.json new file mode 100644 index 000000000000..2ca0182cf932 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterGet.json new file mode 100644 index 000000000000..d30ed0d2847e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "filterName", + "type": "Microsoft.Network/routeFilters", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ], + "peerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterList.json new file mode 100644 index 000000000000..516e533c6b05 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "filterName", + "type": "Microsoft.Network/routeFilters", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ], + "peerings": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterListByResourceGroup.json new file mode 100644 index 000000000000..bc95491618cc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterListByResourceGroup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "filterName", + "type": "Microsoft.Network/routeFilters", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ], + "peerings": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterRuleCreate.json new file mode 100644 index 000000000000..6df316f31f05 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterRuleCreate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "ruleName": "ruleName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "routeFilterRuleParameters": { + "properties": { + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterRuleDelete.json new file mode 100644 index 000000000000..26cbb7caa839 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "ruleName": "ruleName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterRuleGet.json new file mode 100644 index 000000000000..e00849dfdc3e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterRuleGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "ruleName": "filterName", + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterRuleListByRouteFilter.json new file mode 100644 index 000000000000..1f75de0a7210 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterRuleListByRouteFilter.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "routeFilterName": "filterName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030", + "12076:5040" + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterUpdateTags.json new file mode 100644 index 000000000000..46fa19d93821 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteFilterUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "parameters": { + "tags": { + "key1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "filterName", + "type": "Microsoft.Network/routeFilters", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "ruleName", + "properties": { + "provisioningState": "Succeeded", + "access": "Allow", + "routeFilterRuleType": "Community", + "communities": [ + "12076:5030" + ] + } + } + ], + "peerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteMapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteMapDelete.json new file mode 100644 index 000000000000..dd74538cfc82 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteMapDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "routeMapName": "routeMap1", + "api-version": "2023-09-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteMapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteMapGet.json new file mode 100644 index 000000000000..8940326fcba7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteMapGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "routeMapName": "routeMap1", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "name": "routeMap1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1", + "etag": "W/\"e203e953-7ba7-4302-a246-aa2ec03f6edf\"", + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "name": "rule1", + "matchCriteria": [ + { + "matchCondition": "Contains", + "routePrefix": [ + "10.0.0.0/8" + ], + "community": [], + "asPath": [] + } + ], + "actions": [ + { + "type": "Add", + "parameters": [ + { + "routePrefix": [], + "community": [], + "asPath": [ + "22334" + ] + } + ] + } + ], + "nextStepIfMatched": "Continue" + } + ], + "associatedInboundConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/exrGateway1/expressRouteConnections/exrConn1" + ], + "associatedOutboundConnections": [] + }, + "type": "Microsoft.Network/virtualHubs/routeMaps" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteMapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteMapList.json new file mode 100644 index 000000000000..957cfaf0d5b3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteMapList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "routeMap1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1", + "etag": "W/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "name": "rule1", + "matchCriteria": [ + { + "matchCondition": "Contains", + "routePrefix": [ + "10.0.0.0/8" + ], + "community": [], + "asPath": [] + } + ], + "actions": [ + { + "type": "Add", + "parameters": [ + { + "routePrefix": [], + "community": [], + "asPath": [ + "22334" + ] + } + ] + } + ], + "nextStepIfMatched": "Continue" + } + ], + "associatedInboundConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/exrGateway1/expressRouteConnections/exrConn1" + ], + "associatedOutboundConnections": [] + }, + "type": "Microsoft.Network/virtualHubs/routeMaps" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteMapPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteMapPut.json new file mode 100644 index 000000000000..865b9c1b9fd3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteMapPut.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "routeMapName": "routeMap1", + "api-version": "2023-09-01", + "routeMapParameters": { + "properties": { + "rules": [ + { + "name": "rule1", + "matchCriteria": [ + { + "matchCondition": "Contains", + "routePrefix": [ + "10.0.0.0/8" + ], + "community": [], + "asPath": [] + } + ], + "actions": [ + { + "type": "Add", + "parameters": [ + { + "routePrefix": [], + "community": [], + "asPath": [ + "22334" + ] + } + ] + } + ], + "nextStepIfMatched": "Continue" + } + ], + "associatedInboundConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/exrGateway1/expressRouteConnections/exrConn1" + ], + "associatedOutboundConnections": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "routeMap1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1", + "etag": "W/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "name": "rule1", + "matchCriteria": [ + { + "matchCondition": "Contains", + "routePrefix": [ + "10.0.0.0/8" + ], + "community": [], + "asPath": [] + } + ], + "actions": [ + { + "type": "Add", + "parameters": [ + { + "routePrefix": [], + "community": [], + "asPath": [ + "22334" + ] + } + ] + } + ], + "nextStepIfMatched": "Continue" + } + ], + "associatedInboundConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/exrGateway1/expressRouteConnections/exrConn1" + ], + "associatedOutboundConnections": [] + }, + "type": "Microsoft.Network/virtualHubs/routeMaps" + } + }, + "201": { + "body": { + "name": "routeMap1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1", + "etag": "W/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "name": "rule1", + "matchCriteria": [ + { + "matchCondition": "Contains", + "routePrefix": [ + "10.0.0.0/8" + ], + "community": [], + "asPath": [] + } + ], + "actions": [ + { + "type": "Add", + "parameters": [ + { + "routePrefix": [], + "community": [], + "asPath": [ + "22334" + ] + } + ] + } + ], + "nextStepIfMatched": "Continue" + } + ], + "associatedInboundConnections": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/exrGateway1/expressRouteConnections/exrConn1" + ], + "associatedOutboundConnections": [] + }, + "type": "Microsoft.Network/virtualHubs/routeMaps" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableCreate.json new file mode 100644 index 000000000000..8645bf5efc2a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "parameters": { + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "routes": [], + "disableBgpRoutePropagation": true + } + } + }, + "201": { + "body": { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "disableBgpRoutePropagation": true, + "routes": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableCreateWithRoute.json new file mode 100644 index 000000000000..beb9e170f239 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableCreateWithRoute.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "parameters": { + "properties": { + "disableBgpRoutePropagation": true, + "routes": [ + { + "name": "route1", + "properties": { + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + }, + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "disableBgpRoutePropagation": true, + "routes": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableDelete.json new file mode 100644 index 000000000000..20b701f363b2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableGet.json new file mode 100644 index 000000000000..ccac6019d13a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt" + }, + "responses": { + "200": { + "body": { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "disableBgpRoutePropagation": false, + "routes": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableList.json new file mode 100644 index 000000000000..547481e960f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "disableBgpRoutePropagation": true, + "routes": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + } + }, + { + "name": "testrt2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt2", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "disableBgpRoutePropagation": true, + "provisioningState": "Succeeded", + "routes": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableListAll.json new file mode 100644 index 000000000000..406b859d6be1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableListAll.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + } + }, + { + "name": "testrt3", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/routeTables/testrt3", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "routes": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableRouteCreate.json new file mode 100644 index 000000000000..433fecdc5673 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableRouteCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "routeName": "route1", + "routeParameters": { + "properties": { + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + }, + "responses": { + "200": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + }, + "201": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableRouteDelete.json new file mode 100644 index 000000000000..c8096ecb0556 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableRouteDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "routeName": "route1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableRouteGet.json new file mode 100644 index 000000000000..718d6c9f83a6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableRouteGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "routeName": "route1" + }, + "responses": { + "200": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "Internet" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableRouteList.json new file mode 100644 index 000000000000..3cf78723e522 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableRouteList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.3.0/24", + "nextHopType": "Internet" + } + }, + { + "name": "route2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt/routes/route2", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.2.0/24", + "nextHopType": "VirtualNetworkGateway" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableUpdateTags.json new file mode 100644 index 000000000000..86ddd846de44 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RouteTableUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testrt", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeTables/testrt", + "type": "Microsoft.Network/routeTables", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "routes": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RoutingIntentDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RoutingIntentDelete.json new file mode 100644 index 000000000000..2393f31d6f0c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RoutingIntentDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routingIntentName": "Intent1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RoutingIntentGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RoutingIntentGet.json new file mode 100644 index 000000000000..66655bea38e6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RoutingIntentGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "routingIntentName": "Intent1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": { + "body": { + "name": "Intent1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routingIntent/Intent1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routingPolicies": [ + { + "name": "InternetTraffic", + "destinations": [ + "Internet" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + }, + { + "name": "PrivateTrafficPolicy", + "destinations": [ + "PrivateTraffic" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + } + ] + }, + "type": "Microsoft.Network/virtualHubs/routingIntent" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RoutingIntentList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RoutingIntentList.json new file mode 100644 index 000000000000..821775c8f303 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RoutingIntentList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Intent1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routingIntent/Intent1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routingPolicies": [ + { + "name": "InternetTraffic", + "destinations": [ + "Internet" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + }, + { + "name": "PrivateTrafficPolicy", + "destinations": [ + "PrivateTraffic" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + } + ] + }, + "type": "Microsoft.Network/virtualHubs/routingIntent" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RoutingIntentPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RoutingIntentPut.json new file mode 100644 index 000000000000..ed5f1b1fdf32 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/RoutingIntentPut.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "routingIntentName": "Intent1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1", + "routingIntentParameters": { + "properties": { + "routingPolicies": [ + { + "name": "InternetTraffic", + "destinations": [ + "Internet" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + }, + { + "name": "PrivateTrafficPolicy", + "destinations": [ + "PrivateTraffic" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "Intent1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routingIntent/Intent1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routingPolicies": [ + { + "name": "InternetTraffic", + "destinations": [ + "Internet" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + }, + { + "name": "PrivateTrafficPolicy", + "destinations": [ + "PrivateTraffic" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + } + ] + }, + "type": "Microsoft.Network/virtualHubs/routingIntent" + } + }, + "201": { + "body": { + "name": "Intent1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routingIntent/Intent1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routingPolicies": [ + { + "name": "InternetTraffic", + "destinations": [ + "Internet" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + }, + { + "name": "PrivateTrafficPolicy", + "destinations": [ + "PrivateTraffic" + ], + "nextHop": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfw1" + } + ] + }, + "type": "Microsoft.Network/virtualHubs/routingIntent" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderDelete.json new file mode 100644 index 000000000000..357db1784521 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "securityPartnerProviderName": "securityPartnerProvider" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderGet.json new file mode 100644 index 000000000000..1a1186f42960 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "securityPartnerProviderName": "securityPartnerProvider" + }, + "responses": { + "200": { + "body": { + "name": "securityPartnerProvider", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider", + "type": "Microsoft.Network/securityPartnerProviders", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "securityProviderName": "ZScaler", + "connectionStatus": "Unknown", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderListByResourceGroup.json new file mode 100644 index 000000000000..019e027e3dad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderListByResourceGroup.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "securityPartnerProvider", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider", + "type": "Microsoft.Network/securityPartnerProviders", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "securityProviderName": "ZScaler", + "connectionStatus": "Unknown", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderListBySubscription.json new file mode 100644 index 000000000000..452ae0a0b83d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderListBySubscription.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "securityPartnerProvider", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider", + "type": "Microsoft.Network/securityPartnerProviders", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "securityProviderName": "ZScaler", + "connectionStatus": "Unknown", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderPut.json new file mode 100644 index 000000000000..5e908d00c690 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderPut.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "securityPartnerProviderName": "securityPartnerProvider", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "securityProviderName": "ZScaler", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "securityPartnerProvider", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider", + "type": "Microsoft.Network/securityPartnerProviders", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "securityProviderName": "ZScaler", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + } + } + } + }, + "201": { + "body": { + "name": "securityPartnerProvider", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider", + "type": "Microsoft.Network/securityPartnerProviders", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "securityProviderName": "ZScaler", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderUpdateTags.json new file mode 100644 index 000000000000..2fb8673a50fa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SecurityPartnerProviderUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "securityPartnerProviderName": "securityPartnerProvider", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "fw1", + "id": "/subscriptions/subid/resourceGroups/azfwtest/providers/Microsoft.Network/securityPartnerProviders/securityPartnerProvider", + "type": "Microsoft.Network/securityPartnerProviders", + "location": "brazilsouth", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "securityProviderName": "ZScaler" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceCommunityList.json new file mode 100644 index 000000000000..6e599a005197 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceCommunityList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.Network/bgpServiceCommunities/skype", + "name": "skype", + "type": "Microsoft.Network/bgpServiceCommunities", + "properties": { + "serviceName": "skype", + "bgpCommunities": [ + { + "serviceSupportedRegion": "Global", + "communityName": "Skype For Business Online", + "communityValue": "12076:5030", + "communityPrefixes": [ + "13.67.56.225/32", + "13.67.186.105/32" + ], + "isAuthorizedToUse": true, + "serviceGroup": "O365" + } + ] + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.Network/bgpServiceCommunities/exchange", + "name": "exchange", + "type": "Microsoft.Network/bgpServiceCommunities", + "properties": { + "serviceName": "exchange", + "bgpCommunities": [ + { + "serviceSupportedRegion": "Global", + "communityName": "Exchange Online", + "communityValue": "12076:5040", + "communityPrefixes": [ + "13.67.56.225/32", + "13.67.186.105/32" + ], + "isAuthorizedToUse": true, + "serviceGroup": "O365" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyCreate.json new file mode 100644 index 000000000000..f11b5a7cd893 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyCreate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "parameters": { + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ServiceEndpointPolicies/testpolicy", + "type": "Microsoft.Network/ServiceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + }, + "201": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testpolicy", + "type": "Microsoft.Network/ServiceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyCreateWithDefinition.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyCreateWithDefinition.json new file mode 100644 index 000000000000..486329fb250c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyCreateWithDefinition.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "parameters": { + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ServiceEndpointPolicies/testpolicy", + "type": "Microsoft.Network/ServiceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + }, + "201": { + "body": { + "name": "testnsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ServiceEndpointPolicies/testpolicy", + "type": "Microsoft.Network/ServiceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDefinitionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDefinitionCreate.json new file mode 100644 index 000000000000..9fadb5528f3c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDefinitionCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "serviceEndpointPolicyDefinitionName": "testDefinition", + "ServiceEndpointPolicyDefinitions": { + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testDefinition", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + }, + "201": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDefinitionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDefinitionDelete.json new file mode 100644 index 000000000000..2fad110eba58 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDefinitionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "serviceEndpointPolicyDefinitionName": "testDefinition" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDefinitionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDefinitionGet.json new file mode 100644 index 000000000000..dd2a6aebbd1b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDefinitionGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "serviceEndpointPolicyDefinitionName": "testDefinition" + }, + "responses": { + "200": { + "body": { + "name": "testDefinition", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDefinitionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDefinitionList.json new file mode 100644 index 000000000000..0c54048ad879 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDefinitionList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testDef", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDef", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDelete.json new file mode 100644 index 000000000000..9cff5115eb9a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "serviceEndpointPolicy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyGet.json new file mode 100644 index 000000000000..f3ad0a0efefe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testServiceEndpointPolicy" + }, + "responses": { + "200": { + "body": { + "name": "testServiceEndpointPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy", + "type": "Microsoft.Network/serviceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyList.json new file mode 100644 index 000000000000..b06138f48fc9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyList.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testServiceEndpointPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + }, + { + "name": "testServiceEndpointPolicy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy1", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition1", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyListAll.json new file mode 100644 index 000000000000..b117fa4e406b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyListAll.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy", + "type": "Microsoft.Network/serviceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition1", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + }, + { + "name": "testPolicy1", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy2", + "type": "Microsoft.Network/serviceEndpointPolicies", + "location": "westus", + "properties": { + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition2", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [], + "provisioningState": "Succeeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyUpdateTags.json new file mode 100644 index 000000000000..a2470aa37e9e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceEndpointPolicyUpdateTags.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testServiceEndpointPolicy", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testServiceEndpointPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy", + "type": "Microsoft.Network/serviceEndpointPolicies", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "serviceEndpointPolicyDefinitions": [ + { + "name": "StorageServiceEndpointPolicyDefinition", + "properties": { + "description": "Storage Service EndpointPolicy Definition", + "service": "Microsoft.Storage", + "serviceResources": [ + "/subscriptions/subid1", + "/subscriptions/subid1/resourceGroups/storageRg", + "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount" + ] + } + } + ], + "subnets": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceTagInformationListResult.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceTagInformationListResult.json new file mode 100644 index 000000000000..d1dcb8e6cf56 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceTagInformationListResult.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "location": "westeurope", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ApiManagement", + "id": "ApiManagement", + "properties": { + "changeNumber": "7", + "region": "", + "systemService": "AzureApiManagement", + "addressPrefixes": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ] + } + }, + { + "name": "ApiManagement.AustraliaCentral", + "id": "ApiManagement.AustraliaCentral", + "properties": { + "changeNumber": "2", + "region": "australiacentral", + "systemService": "AzureApiManagement", + "addressPrefixes": [ + "20.36.106.68/31", + "20.36.107.176/28" + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceTagInformationListResultWithNoAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceTagInformationListResultWithNoAddressPrefixes.json new file mode 100644 index 000000000000..09c845538ccd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceTagInformationListResultWithNoAddressPrefixes.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "location": "westeurope", + "subscriptionId": "subid", + "noAddressPrefixes": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ApiManagement", + "id": "ApiManagement", + "properties": { + "changeNumber": "7", + "region": "", + "systemService": "AzureApiManagement", + "addressPrefixes": [] + } + }, + { + "name": "ApiManagement.AustraliaCentral", + "id": "ApiManagement.AustraliaCentral", + "properties": { + "changeNumber": "2", + "region": "australiacentral", + "systemService": "AzureApiManagement", + "addressPrefixes": [] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceTagInformationListResultWithTagname.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceTagInformationListResultWithTagname.json new file mode 100644 index 000000000000..0a6450b8135f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceTagInformationListResultWithTagname.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "location": "westeurope", + "subscriptionId": "subid", + "tagName": "ApiManagement" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ApiManagement", + "id": "ApiManagement", + "properties": { + "changeNumber": "7", + "region": "", + "systemService": "AzureApiManagement", + "addressPrefixes": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceTagsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceTagsList.json new file mode 100644 index 000000000000..47836cd9262d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/ServiceTagsList.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "location": "westcentralus", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "name": "public", + "id": "/subscriptions/subId/providers/Microsoft.Network/serviceTags/public", + "type": "Microsoft.Network/serviceTags", + "changeNumber": "63", + "cloud": "Public", + "values": [ + { + "name": "ApiManagement", + "id": "ApiManagement", + "properties": { + "changeNumber": "7", + "region": "", + "systemService": "AzureApiManagement", + "addressPrefixes": [ + "13.64.39.16/32", + "40.74.146.80/31", + "40.74.147.32/28" + ] + } + }, + { + "name": "ApiManagement.AustraliaCentral", + "id": "ApiManagement.AustraliaCentral", + "properties": { + "changeNumber": "2", + "region": "australiacentral", + "systemService": "AzureApiManagement", + "addressPrefixes": [ + "20.36.106.68/31", + "20.36.107.176/28" + ] + } + }, + { + "name": "AppService", + "id": "AppService", + "properties": { + "changeNumber": "13", + "region": "", + "systemService": "AzureAppService", + "addressPrefixes": [ + "13.64.73.110/32", + "191.235.208.12/32", + "191.235.215.184/32" + ] + } + }, + { + "name": "ServiceBus", + "id": "ServiceBus", + "properties": { + "changeNumber": "10", + "region": "", + "systemService": "AzureServiceBus", + "addressPrefixes": [ + "23.98.82.96/29", + "40.68.127.68/32", + "40.70.146.64/29" + ] + } + }, + { + "name": "ServiceBus.EastUS2", + "id": "ServiceBus.EastUS2", + "properties": { + "changeNumber": "1", + "region": "eastus2", + "systemService": "AzureServiceBus", + "addressPrefixes": [ + "13.68.110.36/32", + "40.70.146.64/29" + ] + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/centraluseuap/serviceTags?api-version=2020-06-01&changenumber=changenumber&$skipToken={skipToken}" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetCreate.json new file mode 100644 index 000000000000..6e87ec55c97c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "subnetParameters": { + "properties": { + "addressPrefix": "10.0.0.0/16" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetCreateServiceEndpoint.json new file mode 100644 index 000000000000..4765c9742ee4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetCreateServiceEndpoint.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "subnetParameters": { + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [ + { + "service": "Microsoft.Storage" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [ + { + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ], + "provisioningState": "Succeeded" + } + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [ + { + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ], + "provisioningState": "Succeeded" + } + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetCreateWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetCreateWithDelegation.json new file mode 100644 index 000000000000..a8339cf46fcc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetCreateWithDelegation.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-09-01", + "subscriptionId": "subId", + "subnetParameters": { + "properties": { + "addressPrefix": "10.0.0.0/16" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded", + "delegations": [ + { + "name": "myDelegation", + "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1/delegations/myDelegation", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [] + } + } + ], + "purpose": "" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded", + "delegations": [ + { + "name": "myDelegation", + "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1/delegations/myDelegation", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [] + } + } + ], + "purpose": "" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetDelete.json new file mode 100644 index 000000000000..5f96d0f8db9d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetGet.json new file mode 100644 index 000000000000..95e289755349 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetGetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetGetWithDelegation.json new file mode 100644 index 000000000000..248759e44eb1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetGetWithDelegation.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-09-01", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded", + "delegations": [ + { + "name": "myDelegation", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/myDelegation", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [] + } + } + ], + "purpose": "" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetList.json new file mode 100644 index 000000000000..c3f038a8866f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1", + "name": "subnet1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet2", + "name": "subnet2", + "properties": { + "addressPrefix": "10.0.0.0/16", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetPrepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetPrepareNetworkPolicies.json new file mode 100644 index 000000000000..4b807de8fc48 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetPrepareNetworkPolicies.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "subnetName": "subnet1", + "prepareNetworkPoliciesRequestParameters": { + "serviceName": "Microsoft.Sql/managedInstances" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/PrepareNetworkPolicies?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetUnprepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetUnprepareNetworkPolicies.json new file mode 100644 index 000000000000..dffe46b6fd06 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/SubnetUnprepareNetworkPolicies.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "subnetName": "subnet1", + "unprepareNetworkPoliciesRequestParameters": { + "serviceName": "Microsoft.Sql/managedInstances" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/UnprepareNetworkPolicies?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/UsageList.json new file mode 100644 index 000000000000..75cf944e34e0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/UsageList.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "currentValue": 8.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/VirtualNetworks", + "limit": 50.0, + "name": { + "localizedValue": "Virtual Networks", + "value": "VirtualNetworks" + }, + "unit": "Count" + }, + { + "currentValue": 3.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/StaticPublicIPAddresses", + "limit": 20.0, + "name": { + "localizedValue": "Static Public IP Addresses", + "value": "StaticPublicIPAddresses" + }, + "unit": "Count" + }, + { + "currentValue": 1.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkSecurityGroups", + "limit": 100.0, + "name": { + "localizedValue": "Network Security Groups", + "value": "NetworkSecurityGroups" + }, + "unit": "Count" + }, + { + "currentValue": 8.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PublicIPAddresses", + "limit": 60.0, + "name": { + "localizedValue": "Public IP Addresses", + "value": "PublicIPAddresses" + }, + "unit": "Count" + }, + { + "currentValue": 2.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkInterfaces", + "limit": 350.0, + "name": { + "localizedValue": "Network Interfaces", + "value": "NetworkInterfaces" + }, + "unit": "Count" + }, + { + "currentValue": 2.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/LoadBalancers", + "limit": 100.0, + "name": { + "localizedValue": "Load Balancers", + "value": "LoadBalancers" + }, + "unit": "Count" + }, + { + "currentValue": 1.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/ApplicationGateways", + "limit": 50.0, + "name": { + "localizedValue": "Application Gateways", + "value": "ApplicationGateways" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteTables", + "limit": 100.0, + "name": { + "localizedValue": "Route Tables", + "value": "RouteTables" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFilters", + "limit": 1000.0, + "name": { + "localizedValue": "Route Filters", + "value": "RouteFilters" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/NetworkWatchers", + "limit": 1.0, + "name": { + "localizedValue": "Network Watchers", + "value": "NetworkWatchers" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PacketCaptures", + "limit": 10.0, + "name": { + "localizedValue": "Packet Captures", + "value": "PacketCaptures" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/DnsServersPerVirtualNetwork", + "limit": 9.0, + "name": { + "localizedValue": "DNS servers per Virtual Network", + "value": "DnsServersPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SubnetsPerVirtualNetwork", + "limit": 1000.0, + "name": { + "localizedValue": "Subnets per Virtual Network", + "value": "SubnetsPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/IPConfigurationsPerVirtualNetwork", + "limit": 4096.0, + "name": { + "localizedValue": "IP Configurations per Virtual Network", + "value": "IPConfigurationsPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/PeeringsPerVirtualNetwork", + "limit": 10.0, + "name": { + "localizedValue": "Peerings per Virtual Network", + "value": "PeeringsPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecurityRulesPerNetworkSecurityGroup", + "limit": 200.0, + "name": { + "localizedValue": "Security rules per Network Security Group", + "value": "SecurityRulesPerNetworkSecurityGroup" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecurityRuleAddressesOrPortsPerNetworkSecurityGroup", + "limit": 2000.0, + "name": { + "localizedValue": "Security rules addresses or ports per Network Security Group", + "value": "SecurityRuleAddressesOrPortsPerNetworkSecurityGroup" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/InboundRulesPerLoadBalancer", + "limit": 150.0, + "name": { + "localizedValue": "Inbound Rules per Load Balancer", + "value": "InboundRulesPerLoadBalancer" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/FrontendIPConfigurationPerLoadBalancer", + "limit": 10.0, + "name": { + "localizedValue": "Frontend IP Configurations per Load Balancer", + "value": "FrontendIPConfigurationPerLoadBalancer" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/outboundRulesPerLoadBalancer", + "limit": 5.0, + "name": { + "localizedValue": "Outbound Rules per Load Balancer", + "value": "outboundRulesPerLoadBalancer" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RoutesPerRouteTable", + "limit": 100.0, + "name": { + "localizedValue": "Routes per Route Table", + "value": "RoutesPerRouteTable" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/SecondaryIPConfigurationsPerNetworkInterface", + "limit": 256.0, + "name": { + "localizedValue": "Secondary IP Configurations per Network Interface", + "value": "SecondaryIPConfigurationsPerNetworkInterface" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/InboundRulesPerNetworkInterface", + "limit": 500.0, + "name": { + "localizedValue": "Inbound rules per Network Interface", + "value": "InboundRulesPerNetworkInterface" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFilterRulesPerRouteFilter", + "limit": 1.0, + "name": { + "localizedValue": "Route filter rules per Route Filter", + "value": "RouteFilterRulesPerRouteFilter" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/westus/usages/RouteFiltersPerExpressRouteBgpPeering", + "limit": 1.0, + "name": { + "localizedValue": "Route filters per Express route BGP Peering", + "value": "RouteFiltersPerExpressRouteBgpPeering" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/UsageListSpacedLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/UsageListSpacedLocation.json new file mode 100644 index 000000000000..b24b8cc200ce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/UsageListSpacedLocation.json @@ -0,0 +1,335 @@ +{ + "parameters": { + "location": "West US", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "currentValue": 12.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/VirtualNetworks", + "limit": 50.0, + "name": { + "localizedValue": "Virtual Networks", + "value": "VirtualNetworks" + }, + "unit": "Count" + }, + { + "currentValue": 1.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/StaticPublicIPAddresses", + "limit": 20.0, + "name": { + "localizedValue": "Static Public IP Addresses", + "value": "StaticPublicIPAddresses" + }, + "unit": "Count" + }, + { + "currentValue": 3.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkSecurityGroups", + "limit": 100.0, + "name": { + "localizedValue": "Network Security Groups", + "value": "NetworkSecurityGroups" + }, + "unit": "Count" + }, + { + "currentValue": 12.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PublicIPAddresses", + "limit": 60.0, + "name": { + "localizedValue": "Public IP Addresses", + "value": "PublicIPAddresses" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PublicIpPrefixes", + "limit": 2147483647.0, + "name": { + "localizedValue": "Public Ip Prefixes", + "value": "PublicIpPrefixes" + }, + "unit": "Count" + }, + { + "currentValue": 2.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkInterfaces", + "limit": 24000.0, + "name": { + "localizedValue": "Network Interfaces", + "value": "NetworkInterfaces" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/LoadBalancers", + "limit": 100.0, + "name": { + "localizedValue": "Load Balancers", + "value": "LoadBalancers" + }, + "unit": "Count" + }, + { + "currentValue": 3.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ApplicationGateways", + "limit": 50.0, + "name": { + "localizedValue": "Application Gateways", + "value": "ApplicationGateways" + }, + "unit": "Count" + }, + { + "currentValue": 5.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteTables", + "limit": 100.0, + "name": { + "localizedValue": "Route Tables", + "value": "RouteTables" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteFilters", + "limit": 1000.0, + "name": { + "localizedValue": "Route Filters", + "value": "RouteFilters" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkWatchers", + "limit": 1.0, + "name": { + "localizedValue": "Network Watchers", + "value": "NetworkWatchers" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PacketCaptures", + "limit": 100.0, + "name": { + "localizedValue": "Packet Captures", + "value": "PacketCaptures" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ApplicationSecurityGroups", + "limit": 500.0, + "name": { + "localizedValue": "Application Security Groups.", + "value": "ApplicationSecurityGroups" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/DdosProtectionPlans", + "limit": 1.0, + "name": { + "localizedValue": "DDoS Protection Plans.", + "value": "DdosProtectionPlans" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ServiceEndpointPolicies", + "limit": 200.0, + "name": { + "localizedValue": "Service Endpoint Policies", + "value": "ServiceEndpointPolicies" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkIntentPolicies", + "limit": 200.0, + "name": { + "localizedValue": "Network Intent Policies", + "value": "NetworkIntentPolicies" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/DnsServersPerVirtualNetwork", + "limit": 9.0, + "name": { + "localizedValue": "DNS servers per Virtual Network", + "value": "DnsServersPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SubnetsPerVirtualNetwork", + "limit": 1000.0, + "name": { + "localizedValue": "Subnets per Virtual Network", + "value": "SubnetsPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/IPConfigurationsPerVirtualNetwork", + "limit": 16384.0, + "name": { + "localizedValue": "IP Configurations per Virtual Network", + "value": "IPConfigurationsPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PeeringsPerVirtualNetwork", + "limit": 50.0, + "name": { + "localizedValue": "Peerings per Virtual Network", + "value": "PeeringsPerVirtualNetwork" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRulesPerNetworkSecurityGroup", + "limit": 1000.0, + "name": { + "localizedValue": "Security rules per Network Security Group", + "value": "SecurityRulesPerNetworkSecurityGroup" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRulesPerNetworkIntentPolicy", + "limit": 100.0, + "name": { + "localizedValue": "Security rules per Network Intent Policy", + "value": "SecurityRulesPerNetworkIntentPolicy" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RoutesPerNetworkIntentPolicy", + "limit": 100.0, + "name": { + "localizedValue": "Routes per Network Intent Policy", + "value": "RoutesPerNetworkIntentPolicy" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRuleAddressesOrPortsPerNetworkSecurityGroup", + "limit": 2000.0, + "name": { + "localizedValue": "Security rules addresses or ports per Network Security Group", + "value": "SecurityRuleAddressesOrPortsPerNetworkSecurityGroup" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/InboundRulesPerLoadBalancer", + "limit": 150.0, + "name": { + "localizedValue": "Inbound Rules per Load Balancer", + "value": "InboundRulesPerLoadBalancer" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/FrontendIPConfigurationPerLoadBalancer", + "limit": 10.0, + "name": { + "localizedValue": "Frontend IP Configurations per Load Balancer", + "value": "FrontendIPConfigurationPerLoadBalancer" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/OutboundRulesPerLoadBalancer", + "limit": 5.0, + "name": { + "localizedValue": "Outbound Rules per Load Balancer", + "value": "OutboundRulesPerLoadBalancer" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RoutesPerRouteTable", + "limit": 400.0, + "name": { + "localizedValue": "Routes per Route Table", + "value": "RoutesPerRouteTable" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecondaryIPConfigurationsPerNetworkInterface", + "limit": 256.0, + "name": { + "localizedValue": "Secondary IP Configurations per Network Interface", + "value": "SecondaryIPConfigurationsPerNetworkInterface" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/InboundRulesPerNetworkInterface", + "limit": 500.0, + "name": { + "localizedValue": "Inbound rules per Network Interface", + "value": "InboundRulesPerNetworkInterface" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteFilterRulesPerRouteFilter", + "limit": 1.0, + "name": { + "localizedValue": "Route filter rules per Route Filter", + "value": "RouteFilterRulesPerRouteFilter" + }, + "unit": "Count" + }, + { + "currentValue": 0.0, + "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteFiltersPerExpressRouteBgpPeering", + "limit": 1.0, + "name": { + "localizedValue": "Route filters per Express route BGP Peering", + "value": "RouteFiltersPerExpressRouteBgpPeering" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubBgpConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubBgpConnectionDelete.json new file mode 100644 index 000000000000..2fa6d20e10a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubBgpConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "connectionName": "conn1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubBgpConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubBgpConnectionGet.json new file mode 100644 index 000000000000..8d15a58e603d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubBgpConnectionGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "connectionName": "conn1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": { + "body": { + "name": "conn1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/bgpConnections/conn1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000, + "connectionState": "Connected", + "hubVirtualNetworkConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/hubVnetConn1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubBgpConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubBgpConnectionList.json new file mode 100644 index 000000000000..819720bbc6a3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubBgpConnectionList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "conn1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/bgpConnections/conn1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000, + "connectionState": "Connected", + "hubVirtualNetworkConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/hubVnetConn1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubBgpConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubBgpConnectionPut.json new file mode 100644 index 000000000000..8dd9f928ab26 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubBgpConnectionPut.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "connectionName": "conn1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1", + "parameters": { + "properties": { + "peerIp": "192.168.1.5", + "peerAsn": 20000, + "hubVirtualNetworkConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/hubVnetConn1" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "conn1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/bgpConnections/conn1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000, + "connectionState": "Connected", + "hubVirtualNetworkConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/hubVnetConn1" + } + } + } + }, + "201": { + "body": { + "name": "conn1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/bgpConnections/conn1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000, + "connectionState": "Connected", + "hubVirtualNetworkConnection": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubVirtualNetworkConnections/hubVnetConn1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubDelete.json new file mode 100644 index 000000000000..9ef588339c0d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubGet.json new file mode 100644 index 000000000000..f345f13fc792 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "virtualHub1", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [], + "addressPrefix": "10.10.1.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute", + "hubRoutingPreference": "ExpressRoute", + "virtualRouterAutoScaleConfiguration": { + "minCapacity": 2 + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubIpConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubIpConfigurationDelete.json new file mode 100644 index 000000000000..dcf1b46a134b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubIpConfigurationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "ipConfigName": "ipconfig1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubIpConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubIpConfigurationGet.json new file mode 100644 index 000000000000..2715fbd3f622 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubIpConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1", + "ipConfigName": "ipconfig1" + }, + "responses": { + "200": { + "body": { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/ipConfigurations/ipconfig1", + "type": "Microsoft.Network/virtualHubs/ipConfigurations", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubIpConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubIpConfigurationList.json new file mode 100644 index 000000000000..c51729cb01c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubIpConfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/ipConfigurations/ipconfig1", + "type": "Microsoft.Network/virtualHubs/ipConfigurations", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubIpConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubIpConfigurationPut.json new file mode 100644 index 000000000000..8cd50a5d6a98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubIpConfigurationPut.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "ipConfigName": "ipconfig1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1", + "parameters": { + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/ipConfigurations/ipconfig1", + "type": "Microsoft.Network/virtualHubs/ipConfigurations", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + } + } + }, + "201": { + "body": { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/ipConfigurations/ipconfig1", + "type": "Microsoft.Network/virtualHubs/ipConfigurations", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubList.json new file mode 100644 index 000000000000..884716bb20f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubList.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "virtualHub1", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "rt2a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + ], + "addressPrefix": "10.10.1.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute", + "hubRoutingPreference": "ExpressRoute", + "virtualRouterAutoScaleConfiguration": { + "minCapacity": 2 + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "East US", + "name": "virtualHub2", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "rt2a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + ], + "addressPrefix": "210.10.1.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute", + "hubRoutingPreference": "ExpressRoute", + "virtualRouterAutoScaleConfiguration": { + "minCapacity": 2 + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubListByResourceGroup.json new file mode 100644 index 000000000000..2025e46961c6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubListByResourceGroup.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "virtualHub1", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "rt2a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + ], + "addressPrefix": "10.10.1.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute", + "hubRoutingPreference": "ExpressRoute", + "virtualRouterAutoScaleConfiguration": { + "minCapacity": 2 + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "East US", + "name": "virtualHub2", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/routeTables/virtualHubRouteTable2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "rt2a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + ], + "addressPrefix": "210.10.1.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute", + "hubRoutingPreference": "ExpressRoute", + "virtualRouterAutoScaleConfiguration": { + "minCapacity": 2 + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubPut.json new file mode 100644 index 000000000000..82bff30eb5eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubPut.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "virtualHubName": "virtualHub2", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "virtualHubParameters": { + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "addressPrefix": "10.168.0.0/24", + "sku": "Basic" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "virtualHub2", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [], + "addressPrefix": "10.168.0.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute", + "hubRoutingPreference": "ExpressRoute", + "virtualRouterAutoScaleConfiguration": { + "minCapacity": 2 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "virtualHub2", + "type": "Microsoft.Network/virtualHubs", + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [], + "addressPrefix": "10.168.0.0/24", + "sku": "Basic", + "routingState": "Provisioned", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "preferredRoutingGateway": "ExpressRoute", + "hubRoutingPreference": "ExpressRoute", + "virtualRouterAutoScaleConfiguration": { + "minCapacity": 2 + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubRouteTableV2Delete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubRouteTableV2Delete.json new file mode 100644 index 000000000000..970e1b9b98d2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubRouteTableV2Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubRouteTableV2Get.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubRouteTableV2Get.json new file mode 100644 index 000000000000..f978444ae331 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubRouteTableV2Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "virtualHubRouteTable1a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubRouteTableV2List.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubRouteTableV2List.json new file mode 100644 index 000000000000..536056ea19af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubRouteTableV2List.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "name": "virtualHubRouteTable1a", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + }, + { + "name": "virtualHubRouteTable1b", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1b", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.30.0.0/16", + "20.40.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Branches" + ] + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubRouteTableV2Put.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubRouteTableV2Put.json new file mode 100644 index 000000000000..6d2f799ee75b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubRouteTableV2Put.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1", + "virtualHubRouteTableV2Parameters": { + "properties": { + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "virtualHubRouteTable1a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeTables/virtualHubRouteTable1a", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "name": "virtualHubRouteTable1a", + "properties": { + "provisioningState": "Succeeded", + "routes": [ + { + "destinationType": "CIDR", + "destinations": [ + "20.10.0.0/16", + "20.20.0.0/16" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + }, + { + "destinationType": "CIDR", + "destinations": [ + "0.0.0.0/0" + ], + "nextHopType": "IPAddress", + "nextHops": [ + "10.0.0.68" + ] + } + ], + "attachedConnections": [ + "All_Vnets" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubUpdateTags.json new file mode 100644 index 000000000000..66bdde17f1b1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualHubUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "virtualHubName": "virtualHub2", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "virtualHubParameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "virtualHub2", + "type": "Microsoft.Network/virtualHubs", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1" + }, + "virtualHubRouteTableV2s": [], + "addressPrefix": "10.168.0.0/24", + "sku": "Basic", + "virtualRouterAsn": 65515, + "virtualRouterIps": [ + "10.10.1.12", + "10.10.1.13" + ], + "allowBranchToBranchTraffic": false, + "hubRoutingPreference": "ExpressRoute", + "virtualRouterAutoScaleConfiguration": { + "minCapacity": 2 + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCheckIPAddressAvailability.json new file mode 100644 index 000000000000..166ae83adb07 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCheckIPAddressAvailability.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "ipAddress": "10.0.1.4" + }, + "responses": { + "200": { + "body": { + "available": false, + "availableIPAddresses": [ + "10.0.1.5", + "10.0.1.6", + "10.0.1.7", + "10.0.1.8", + "10.0.1.9" + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreate.json new file mode 100644 index 000000000000..4327d91bc357 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "flowTimeoutInMinutes": 10 + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "flowTimeoutInMinutes": 10, + "subnets": [], + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "flowTimeoutInMinutes": 10, + "subnets": [], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json new file mode 100644 index 000000000000..bcb77089c335 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "vnetTest", + "virtualNetworkName": "vnet1", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [ + { + "service": "Microsoft.Storage" + } + ], + "serviceEndpointPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1" + } + ] + } + } + ] + }, + "location": "eastus2euap" + } + }, + "responses": { + "200": { + "body": { + "name": "vnet1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus2euap", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "ipConfigurations": [], + "resourceNavigationLinks": [], + "serviceEndpoints": [ + { + "provisioningState": "Succeeded", + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ] + } + ], + "serviceEndpointPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1" + } + ], + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "vnet1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus2euap", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "ipConfigurations": [], + "resourceNavigationLinks": [], + "serviceEndpoints": [ + { + "provisioningState": "Succeeded", + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ] + } + ], + "serviceEndpointPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1" + } + ], + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateServiceEndpoints.json new file mode 100644 index 000000000000..b9e3a52ed80c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateServiceEndpoints.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "vnetTest", + "virtualNetworkName": "vnet1", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [ + { + "service": "Microsoft.Storage" + } + ] + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "vnet1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "ipConfigurations": [], + "resourceNavigationLinks": [], + "serviceEndpoints": [ + { + "provisioningState": "Succeeded", + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ] + } + ], + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "vnet1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "id": "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1", + "properties": { + "addressPrefix": "10.0.0.0/16", + "ipConfigurations": [], + "resourceNavigationLinks": [], + "serviceEndpoints": [ + { + "provisioningState": "Succeeded", + "service": "Microsoft.Storage", + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ] + } + ], + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateSubnet.json new file mode 100644 index 000000000000..08d77e49f412 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateSubnet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24" + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json new file mode 100644 index 000000000000..2cbe7716558c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-2", + "properties": { + "addressPrefixes": [ + "10.0.0.0/28", + "10.0.1.0/28" + ] + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-2", + "name": "test-2", + "properties": { + "addressPrefixes": [ + "10.0.0.0/28", + "10.1.0.0/28" + ], + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-2", + "name": "test-2", + "properties": { + "addressPrefixes": [ + "10.0.0.0/28", + "10.0.1.0/28" + ], + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateSubnetWithDelegation.json new file mode 100644 index 000000000000..e6d68e6d6ec2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateSubnetWithDelegation.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "delegations": [ + { + "name": "myDelegation", + "properties": { + "serviceName": "Microsoft.Sql/managedInstances" + } + } + ] + } + } + ] + }, + "location": "westcentralus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded", + "delegations": [ + { + "name": "myDelegation", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1/delegations/myDelegation", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Sql/managedInstances", + "actions": [] + } + } + ], + "purpose": "" + } + } + ], + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "westcentralus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded", + "delegations": [ + { + "name": "myDelegation", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1/delegations/myDelegation", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Sql/managedInstances", + "actions": [] + } + } + ], + "purpose": "" + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateWithBgpCommunities.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateWithBgpCommunities.json new file mode 100644 index 000000000000..fa0afbc348b6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateWithBgpCommunities.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24" + } + } + ], + "bgpCommunities": { + "virtualNetworkCommunity": "12076:20000" + } + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "bgpCommunities": { + "virtualNetworkCommunity": "12076:20000", + "regionalCommunity": "12076:50004" + }, + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "bgpCommunities": { + "virtualNetworkCommunity": "12076:20000", + "regionalCommunity": "12076:50004" + }, + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateWithEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateWithEncryption.json new file mode 100644 index 000000000000..24f5a861bb5e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkCreateWithEncryption.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24" + } + } + ], + "encryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + } + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "encryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "virtualNetworkPeerings": [] + } + } + }, + "201": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "encryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkDelete.json new file mode 100644 index 000000000000..284ab1e71f53 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionCreate.json new file mode 100644 index 000000000000..7ea6defc1f55 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionCreate.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S", + "parameters": { + "properties": { + "virtualNetworkGateway1": { + "properties": { + "ipConfigurations": [ + { + "properties": { + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + } + }, + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1" + } + ], + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "enableBgp": false, + "activeActive": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1" + }, + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0 + } + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "location": "centralus", + "tags": {} + }, + "localNetworkGateway2": { + "properties": { + "localNetworkAddressSpace": { + "addressPrefixes": [ + "10.1.0.0/16" + ] + }, + "gatewayIpAddress": "x.x.x.x" + }, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "location": "centralus", + "tags": {} + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2" + } + ], + "gatewayCustomBgpIpAddresses": [ + { + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default", + "customBgpIpAddress": "169.254.21.1" + }, + { + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/ActiveActive", + "customBgpIpAddress": "169.254.21.3" + } + ], + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "sharedKey": "Abc123", + "enableBgp": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "connectionMode": "Default" + }, + "location": "centralus" + } + }, + "responses": { + "201": { + "body": { + "name": "connS2S", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/connections", + "location": "centralus", + "properties": { + "provisioningState": "Updating", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "properties": {} + }, + "localNetworkGateway2": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "properties": {} + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "sharedKey": "Abc123", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "connectionMode": "Default" + } + } + }, + "200": { + "body": { + "name": "connS2S", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/connections", + "location": "centralus", + "properties": { + "provisioningState": "Updating", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "properties": {} + }, + "localNetworkGateway2": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "properties": {} + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "sharedKey": "Abc123", + "enableBgp": false, + "gatewayCustomBgpIpAddresses": [ + { + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default", + "customBgpIpAddress": "169.254.21.1" + }, + { + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/ActiveActive", + "customBgpIpAddress": "169.254.21.3" + } + ], + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "connectionMode": "Default" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionDelete.json new file mode 100644 index 000000000000..90333966f5c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "conn1" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionGet.json new file mode 100644 index 000000000000..7b8b47f8e638 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionGet.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S" + }, + "responses": { + "200": { + "body": { + "name": "connS2S", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/connections", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "properties": {} + }, + "localNetworkGateway2": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw", + "properties": {} + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "sharedKey": "Abc123", + "enableBgp": false, + "gatewayCustomBgpIpAddresses": [ + { + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default", + "customBgpIpAddress": "169.254.21.1" + }, + { + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/ActiveActive", + "customBgpIpAddress": "169.254.21.3" + } + ], + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "connectionStatus": "Connecting", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "connectionMode": "Default" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionGetIkeSas.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionGetIkeSas.json new file mode 100644 index 000000000000..4796e75062a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionGetIkeSas.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "vpngwcn1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/westus/operationResults/{operationId}?api-version=2023-09-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json new file mode 100644 index 000000000000..3af219e35f86 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S" + }, + "responses": { + "200": { + "body": { + "id": "", + "value": "AzureAbc123" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionReset.json new file mode 100644 index 000000000000..5e733fd8f540 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionReset.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "conn1" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json new file mode 100644 index 000000000000..779313b18a11 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "conn1", + "parameters": { + "keyLength": 128 + } + }, + "responses": { + "200": { + "body": { + "keyLength": 128 + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json new file mode 100644 index 000000000000..3b932db383b2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S", + "parameters": { + "value": "AzureAbc123" + } + }, + "responses": { + "200": { + "body": { + "id": "", + "value": "AzureAbc123" + } + }, + "201": { + "body": { + "id": "", + "value": "AzureAbc123" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json new file mode 100644 index 000000000000..b77d9d1d4222 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "vpngwcn1" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..d585d5c2e92e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "vpngwcn1", + "parameters": { + "filterData": "{'TracingFlags': 11,'MaxPacketBufferSize': 120,'MaxFileSize': 200,'Filters': [{'SourceSubnets': ['20.1.1.0/24'],'DestinationSubnets': ['10.1.1.0/24'],'SourcePort': [500],'DestinationPort': [4500],'Protocol': 6,'TcpFlags': 16,'CaptureSingleDirectionTrafficOnly': true}]}" + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json new file mode 100644 index 000000000000..7271a6bdfe12 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "vpngwcn1", + "parameters": { + "sasUrl": "https://teststorage.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-09-13T07:44:05Z&st=2019-09-06T23:44:05Z&spr=https&sig=V1h9D1riltvZMI69d6ihENnFo%2FrCvTqGgjO2lf%2FVBhE%3D" + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json new file mode 100644 index 000000000000..43ee7e85fde5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "test", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": { + "name": "test", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/test", + "type": "Microsoft.Network/connections", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "properties": {} + }, + "localNetworkGateway2": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/lgw", + "properties": {} + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "routingWeight": 0, + "sharedKey": "temp1234", + "enableBgp": false, + "gatewayCustomBgpIpAddresses": [ + { + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default", + "customBgpIpAddress": "169.254.21.1" + }, + { + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/ActiveActive", + "customBgpIpAddress": "169.254.21.3" + } + ], + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "connectionStatus": "Unknown", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionsList.json new file mode 100644 index 000000000000..712c7b5dbdb2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayConnectionsList.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "conn1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/conn1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/connections", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1", + "properties": {} + }, + "localNetworkGateway2": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw1", + "properties": {} + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "connectionProtocol": "IKEv1", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "enableBgp": false, + "gatewayCustomBgpIpAddresses": [ + { + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default", + "customBgpIpAddress": "169.254.21.1" + }, + { + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/ActiveActive", + "customBgpIpAddress": "169.254.21.3" + } + ], + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "connectionMode": "Default" + } + }, + { + "name": "conn2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/conn2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/connections", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2", + "properties": {} + }, + "localNetworkGateway2": { + "properties": {}, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw2" + }, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/natRules/natRule1" + } + ], + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/natRules/natRule2" + } + ], + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 20, + "enableBgp": false, + "gatewayCustomBgpIpAddresses": [ + { + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/ipConfigurations/default", + "customBgpIpAddress": "169.254.21.4" + }, + { + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/ipConfigurations/ActiveActive", + "customBgpIpAddress": "169.254.21.6" + } + ], + "useLocalAzureIpAddress": true, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "connectionMode": "Default" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayDelete.json new file mode 100644 index 000000000000..ac9f30381e85 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json new file mode 100644 index 000000000000..07d96cb0805a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": {} + }, + "responses": { + "200": { + "body": "" + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json new file mode 100644 index 000000000000..54db08c6f566 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": {} + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGet.json new file mode 100644 index 000000000000..3b8b91ba3498 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGet.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "200": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "IngressSnat", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 0 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "enablePrivateIpAddress": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "vpnClientConfiguration": { + "vpnClientProtocols": [ + "OpenVPN" + ], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [], + "radiusServers": [ + { + "radiusServerAddress": "10.1.0.0", + "radiusServerScore": 20 + } + ] + }, + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "defaultBgpIpAddresses": [ + "10.3.1.254" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "52.161.10.135" + ] + } + ] + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + }, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json new file mode 100644 index 000000000000..12be56283fb9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "peer": "test" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json new file mode 100644 index 000000000000..a65448fdd9aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json new file mode 100644 index 000000000000..bb63f70117ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "200": { + "body": { + "saLifeTimeSeconds": 86473, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup2", + "pfsGroup": "PFS2" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json new file mode 100644 index 000000000000..02dce8a19a33 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json new file mode 100644 index 000000000000..c75ac0d53f99 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "resourceGroupName": "p2s-vnet-test", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "virtualNetworkGatewayName": "vpnp2sgw" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "vpnConnectionId": "IKEv2_1e1cfe59-5c7c-4315-a876-b11fbfdfeed4", + "vpnConnectionDuration": 900, + "vpnConnectionTime": "2019-05-02T22:26:22", + "publicIpAddress": "167.220.2.232:45522", + "privateIpAddress": "192.168.210.2", + "vpnUserName": "gwp2schildcert", + "maxBandwidth": 240000000, + "egressPacketsTransferred": 557, + "egressBytesTransferred": 33420, + "ingressPacketsTransferred": 557, + "ingressBytesTransferred": 33420, + "maxPacketsPerSecond": 4 + }, + { + "vpnConnectionId": "IKEv2_571cfe59-2c7d-1415-e813-c51fbfdfea16", + "vpnConnectionDuration": 800, + "vpnConnectionTime": "2019-05-01T21:06:12", + "publicIpAddress": "167.220.2.232:45213", + "privateIpAddress": "192.168.210.1", + "vpnUserName": "gwp2schildcert", + "maxBandwidth": 220000000, + "egressPacketsTransferred": 357, + "egressBytesTransferred": 23420, + "ingressPacketsTransferred": 357, + "ingressBytesTransferred": 23420, + "maxPacketsPerSecond": 4 + } + ] + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayLearnedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayLearnedRoutes.json new file mode 100644 index 000000000000..a65448fdd9aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayLearnedRoutes.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayList.json new file mode 100644 index 000000000000..8d597a6d362d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayList.json @@ -0,0 +1,224 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "vpngw1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "loc1", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "default", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/ipConfigurations/default", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/vpngw1-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/natRules/natRule1", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/natRules/natRule2", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "IngressSnat", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 2 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "enablePrivateIpAddress": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "vpnClientConfiguration": { + "vpnClientProtocols": [], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [] + }, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.0.14", + "peerWeight": 0 + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + }, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + } + }, + { + "name": "vpngw2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "loc2", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "default", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/ipConfigurations/default", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "privateIPAddress": "10.1.0.7", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/vpngw2-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/natRules/natRule1", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/natRules/natRule2", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "IngressSnat", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 2 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "enablePrivateIpAddress": true, + "activeActive": false, + "disableIPSecReplayProtection": false, + "vpnClientConfiguration": { + "vpnClientProtocols": [ + "OpenVPN" + ], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [], + "radiusServers": [ + { + "radiusServerAddress": "10.2.0.0", + "radiusServerScore": 20 + } + ] + }, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.1.0.46", + "peerWeight": 0 + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + }, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayNatRuleDelete.json new file mode 100644 index 000000000000..191b333e59b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayNatRuleDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "virtualNetworkGatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayNatRuleGet.json new file mode 100644 index 000000000000..29ccc88dbe19 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayNatRuleGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "virtualNetworkGatewayName": "gateway1", + "natRuleName": "natRule1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24", + "portRange": "100-100" + } + ], + "externalMappings": [ + { + "addressSpace": "50.4.0.0/24", + "portRange": "200-200" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayNatRuleList.json new file mode 100644 index 000000000000..1c8f990a4873 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayNatRuleList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "virtualNetworkGatewayName": "gateway1", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/natRules/natRule2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24" + } + ] + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayNatRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayNatRulePut.json new file mode 100644 index 000000000000..46dfc596d0dd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayNatRulePut.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "virtualNetworkGatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "NatRuleParameters": { + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24", + "portRange": "200-300" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24", + "portRange": "300-400" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24", + "portRange": "200-300" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24", + "portRange": "300-400" + } + ] + } + } + }, + "201": { + "body": { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/natRules/natRule1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/gateway1/ipConfigurations/default", + "internalMappings": [ + { + "addressSpace": "10.4.0.0/24", + "portRange": "200-300" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.21.0/24", + "portRange": "300-400" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayReset.json new file mode 100644 index 000000000000..f0123f7ae82e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayReset.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 0 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "defaultBgpIpAddresses": [ + "10.3.1.254" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "52.161.10.135" + ] + } + ] + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json new file mode 100644 index 000000000000..89ea80209365 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json new file mode 100644 index 000000000000..0e19164f77dd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "vpnclientIpsecParams": { + "saLifeTimeSeconds": 86473, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup2", + "pfsGroup": "PFS2" + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": { + "saLifeTimeSeconds": 86473, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup2", + "pfsGroup": "PFS2" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayStartPacketCapture.json new file mode 100644 index 000000000000..2a9ee4c4e154 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayStartPacketCapture.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..089521aaae83 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": { + "filterData": "{'TracingFlags': 11,'MaxPacketBufferSize': 120,'MaxFileSize': 200,'Filters': [{'SourceSubnets': ['20.1.1.0/24'],'DestinationSubnets': ['10.1.1.0/24'],'SourcePort': [500],'DestinationPort': [4500],'Protocol': 6,'TcpFlags': 16,'CaptureSingleDirectionTrafficOnly': true}]}" + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayStopPacketCapture.json new file mode 100644 index 000000000000..2be9c6b273a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayStopPacketCapture.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": { + "sasUrl": "https://teststorage.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-09-13T07:44:05Z&st=2019-09-06T23:44:05Z&spr=https&sig=V1h9D1riltvZMI69d6ihENnFo%2FrCvTqGgjO2lf%2FVBhE%3D" + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json new file mode 100644 index 000000000000..c32a15797adf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayUpdate.json new file mode 100644 index 000000000000..fe18d659bfb3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayUpdate.json @@ -0,0 +1,352 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": { + "properties": { + "ipConfigurations": [ + { + "properties": { + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + } + }, + "name": "gwipconfig1" + } + ], + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "enableDnsForwarding": true, + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2", + "properties": { + "type": "Static", + "mode": "IngressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1" + }, + "vpnClientConfiguration": { + "vpnClientProtocols": [ + "OpenVPN" + ], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [], + "radiusServers": [ + { + "radiusServerAddress": "10.2.0.0", + "radiusServerScore": 20, + "radiusServerSecret": "radiusServerSecret" + } + ] + }, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0 + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + }, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2", + "properties": { + "type": "Static", + "mode": "IngressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 0 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "enableDnsForwarding": true, + "inboundDnsForwardingEndpoint": "10.0.1.14", + "vpnClientConfiguration": { + "vpnClientProtocols": [ + "OpenVPN" + ], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [], + "radiusServers": [ + { + "radiusServerAddress": "10.2.0.0", + "radiusServerScore": 20 + } + ] + }, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "defaultBgpIpAddresses": [ + "10.3.1.254" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "52.161.10.135" + ] + } + ] + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + }, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + } + } + }, + "201": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule1", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/natRules/natRule2", + "properties": { + "type": "Static", + "mode": "IngressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 0 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "enableDnsForwarding": true, + "enablePrivateIpAddress": false, + "inboundDnsForwardingEndpoint": "10.0.1.14", + "vpnClientConfiguration": { + "vpnClientProtocols": [ + "OpenVPN" + ], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [], + "radiusServers": [ + { + "radiusServerAddress": "10.2.0.0", + "radiusServerScore": 20 + } + ] + }, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "defaultBgpIpAddresses": [ + "10.3.1.254" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "52.161.10.135" + ] + } + ] + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + }, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayUpdateTags.json new file mode 100644 index 000000000000..05a60fff9098 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayUpdateTags.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + }, + "200": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "default", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testpub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 2 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.0.254", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1", + "defaultBgpIpAddresses": [ + "10.3.1.254" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "52.161.10.135" + ] + } + ] + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + }, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json new file mode 100644 index 000000000000..e39691b6c490 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "vpngw", + "parameters": { + "vendor": "Cisco", + "deviceFamily": "ISR", + "firmwareVersion": "IOS 15.1 (Preview)" + } + }, + "responses": { + "200": { + "body": "! Microsoft Corporation\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Sample VPN tunnel configuration template for IOS-based devices\r\n!\r\n! This configuration template applies to Cisco VPN devices running IOS 15.1 or beyond (ISR or ASR)\r\n!\r\n\r\n\r\n\t\t\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! ACL rules\r\n!\r\n! Some VPN devices require explicit ACL rules to allow cross-premises traffic:\r\n!\r\n! 1. Allow traffic between on premises address ranges and VNet address ranges\r\n! 2. Allow IKE traffic (UDP:500) between on premises VPN devices and Azure VPN gateway\r\n! 3. Allow IPsec traffic (Proto:ESP) between on premises VPN devices and Azure VPN gateway\r\n!\r\n\t\t\r\naccess-list 101 permit ip 10.1.0.0 0.0.255.255 10.0.0.0 0.0.255.255\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Internet Key Exchange (IKE) configuration\r\n!\r\n! This section specifies the authentication, encryption, hashing, and Diffie-Hellman group parameters for IKE\r\n! main mode or phase 1\r\n!\r\n\r\ncrypto ikev2 proposal SwaggerS2S-proposal\r\n encryption DES3\r\n integrity SHA384\r\n group DHGroup24\r\n lifetime 3600\r\n exit\r\n\r\ncrypto ikev2 policy SwaggerS2S-policy\r\n proposal SwaggerS2S-proposal\r\n exit\r\n\r\ncrypto ikev2 keyring SwaggerBranch-keyring\r\n\t\t\r\n\t\tpeer 52.173.199.254\r\n\t\taddress 52.173.199.254\r\n\t\tpre-shared-key lALEHuppeopJmA94exRNiRr2QzuZ6lOsvzu5IlJUEA6LthbTc8g5MTT86MCsGNMzGkTAaLuLnEJoD1Cn4cIlr94qKZm9drsgllzWvsPNezS71stAkaW1Bb7h6GBnDlDP\r\n exit\r\n\r\ncrypto ikev2 profile SwaggerS2S-profile\r\n match address local 10.3.0.0\r\n\tmatch identity remote address 52.173.199.254 255.255.255.255\r\n\t\t\r\n authentication remote pre-share\r\n authentication local pre-share\r\n keyring SwaggerBranch-keyring\r\n exit\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! IPsec configuration\r\n!\r\n! This section specifies encryption, authentication, tunnel mode properties for the Phase 2 negotiation\r\n!\r\ncrypto ipsec transform-set SwaggerS2S-TransformSet DES3 DES3\r\n mode tunnel\r\n exit\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Crypto map configuration\r\n!\r\n! This section defines a crypto profile that binds the cross-premises network traffic to the IPsec and IKE\r\n! policy profiles for this connection. Then defines the VTI (virtual tunnel interface) with the crypto\r\n! profile. A random interface number (tunnel 1) was used with a random link local address (169.254.0.1/28)\r\n! for the tunnel interface. If either selection is already used in the VPN device, please select another\r\n! interface number or address. The only requirement is that they must not overlap with another interface\r\n! on the same VPN device.\r\n!\r\ncrypto ipsec profile SwaggerS2S-IPsecProfile\r\n set transform-set SwaggerS2S-TransformSet\r\n set ikev2-profile SwaggerS2S-profile\r\n set pfs None\r\n set security-association lifetime 3600\r\n exit\r\n\r\n\r\nint tunnel 52.173.199.254\r\n ip address 169.254.0.1 255.255.255.252\r\n ip tcp adjust-mss 1350\r\n tunnel source 10.3.0.0\r\n tunnel mode ipsec ipv4\r\n tunnel destination 52.173.199.254\r\n tunnel protection ipsec profile SwaggerS2S-IPsecProfile\r\n exit\r\n\r\n\tip route 10.0.0.0 255.255.0.0 tunnel 52.173.199.254 " + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json new file mode 100644 index 000000000000..63f50c718275 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "vpn-gateway-test", + "virtualNetworkGatewayName": "vpngateway", + "api-version": "2023-09-01", + "request": { + "vpnConnectionIds": [ + "vpnconnId1", + "vpnconnId2" + ] + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewaysListConnections.json new file mode 100644 index 000000000000..d844fed29e86 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGatewaysListConnections.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "virtualNetworkGatewayName": "test-vpn-gateway-1", + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "test-vpn-connection", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/connections/test-vpn-connection", + "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"", + "type": "Microsoft.Network/connections", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "virtualNetworkGateway1": { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkGateways/test-vpn-gateway-1" + }, + "virtualNetworkGateway2": { + "id": "/subscriptions/subid/resourceGroups/testrg-2/providers/Microsoft.Network/virtualNetworkGateways/test-vpn-gateway-2" + }, + "connectionType": "Vnet2Vnet", + "routingWeight": 22, + "enableBgp": true, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0 + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGet.json new file mode 100644 index 000000000000..a531e705311e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet" + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "subnet1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.1.0/24", + "ipConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe" + } + ] + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetDdosProtectionStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetDdosProtectionStatus.json new file mode 100644 index 000000000000..d15bc7ee7431 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetDdosProtectionStatus.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "top": 75 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "publicIpAddressId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-pip", + "publicIpAddress": "10.0.1.5", + "isWorkloadProtected": "True", + "ddosProtectionPlanId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan" + }, + { + "publicIpAddressId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-pip2", + "publicIpAddress": "10.0.1.6", + "isWorkloadProtected": "False" + } + ] + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/ddosProtectionStatus?api-version=2023-09-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetResourceNavigationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetResourceNavigationLinks.json new file mode 100644 index 000000000000..288ff0e43c34 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetResourceNavigationLinks.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "vnet", + "subnetName": "subnet" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "redisCache_redis-tester", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet/resourceNavigationLinks/redisCache_redis-tester", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworks/subnets/resourceNavigationLinks", + "properties": { + "provisioningState": "Succeeded", + "linkedResourceType": "Microsoft.Cache/redis", + "link": "/subscriptions/subid/resourceGroups/another-rg/providers/Microsoft.Cache/Redis/redis-tester" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetServiceAssociationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetServiceAssociationLinks.json new file mode 100644 index 000000000000..95bb5bc43858 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetServiceAssociationLinks.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "vnet", + "subnetName": "subnet" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "acisal", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet/serviceAssociationLinks/acisal", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks", + "properties": { + "provisioningState": "Succeeded", + "linkedResourceType": "Microsoft.ContainerInstance/containerGroups", + "allowDelete": true, + "locations": [ + "westus" + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetWithServiceAssociationLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetWithServiceAssociationLink.json new file mode 100644 index 000000000000..2e642eb55943 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetWithServiceAssociationLink.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet" + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "subnet1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1", + "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.214.0/24", + "ipConfigurationProfiles": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1" + } + ], + "serviceAssociationLinks": [ + { + "name": "serviceAssociationLink1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/serviceAssociationLinks/serviceAssociationLink1", + "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"", + "properties": { + "provisioningState": "Succeeded", + "linkedResourceType": "Microsoft.Provider/resourceType" + } + } + ], + "serviceEndpoints": [], + "delegations": [ + { + "name": "aciDelegation", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/aciDelegation", + "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [ + "Microsoft.Network/virtualNetworks/subnets/action" + ] + } + } + ] + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetWithSubnetDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetWithSubnetDelegation.json new file mode 100644 index 000000000000..1bbd1e856807 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkGetWithSubnetDelegation.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet" + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [ + { + "name": "subnet1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1", + "properties": { + "provisioningState": "Succeeded", + "addressPrefix": "10.0.1.0/24", + "ipConfigurations": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe" + } + ], + "delegations": [ + { + "name": "myDelegation", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/myDelegation", + "properties": { + "provisioningState": "Succeeded", + "serviceName": "Microsoft.Provider/resourceType", + "actions": [] + } + } + ], + "purpose": "" + } + } + ], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkList.json new file mode 100644 index 000000000000..041e9387556a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1", + "name": "vnet1", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/8" + ] + }, + "dhcpOptions": { + "dnsServers": [] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [], + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2", + "name": "vnet2", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "dhcpOptions": { + "dnsServers": [ + "8.8.8.8" + ] + }, + "subnets": [], + "virtualNetworkPeerings": [], + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkListAll.json new file mode 100644 index 000000000000..4e67c2ba7295 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkListAll.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1", + "name": "vnet1", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/8" + ] + }, + "dhcpOptions": { + "dnsServers": [] + }, + "subnets": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1", + "name": "test-1", + "properties": { + "addressPrefix": "10.0.0.0/24", + "provisioningState": "Succeeded" + } + } + ], + "virtualNetworkPeerings": [], + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2", + "name": "vnet2", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "dhcpOptions": { + "dnsServers": [ + "8.8.8.8" + ] + }, + "subnets": [], + "virtualNetworkPeerings": [], + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkListUsage.json new file mode 100644 index 000000000000..5460eb691c6a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkListUsage.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "virtualNetworkName": "vnetName", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "currentValue": -1.0, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/GatewaySubnet", + "limit": -1.0, + "name": { + "localizedValue": "Subnet size and usage", + "value": "SubnetSpace" + }, + "unit": "Count" + }, + { + "currentValue": 2.0, + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/newSubnet", + "limit": 3.0, + "name": { + "localizedValue": "Subnet size and usage", + "value": "SubnetSpace" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringCreate.json new file mode 100644 index 000000000000..585ecf02f60d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringCreate.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "VirtualNetworkPeeringParameters": { + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json new file mode 100644 index 000000000000..24b9d61f67ce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "VirtualNetworkPeeringParameters": { + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "remoteVirtualNetworkEncryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "remoteVirtualNetworkEncryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringDelete.json new file mode 100644 index 000000000000..481422cb99f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringGet.json new file mode 100644 index 000000000000..679801f6da12 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json new file mode 100644 index 000000000000..fb584964bba6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "remoteVirtualNetworkEncryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringList.json new file mode 100644 index 000000000000..4ae7fbf398d4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringList.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer2", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet3" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "13.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "13.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20003", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json new file mode 100644 index 000000000000..d2e403a45dac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "remoteVirtualNetworkEncryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer2", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": false, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet3" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "13.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20003", + "regionalCommunity": "12076:50004" + }, + "remoteVirtualNetworkEncryption": { + "enabled": true, + "enforcement": "AllowUnencrypted" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringSync.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringSync.json new file mode 100644 index 000000000000..a5410886825a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkPeeringSync.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "syncRemoteAddressSpace": "true", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "VirtualNetworkPeeringParameters": { + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer", + "name": "peer", + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkScalableGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkScalableGatewayGet.json new file mode 100644 index 000000000000..f6c12571202d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkScalableGatewayGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "ergw" + }, + "responses": { + "200": { + "body": { + "name": "ergw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/ipConfigurations/default", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Static", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule1", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule2", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "IngressSnat", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "ErGwScale", + "tier": "ErGwScale", + "capacity": 2 + }, + "autoScaleConfiguration": { + "bounds": { + "min": 2, + "max": 3 + } + }, + "gatewayType": "ExpressRoute", + "vpnType": "PolicyBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "enablePrivateIpAddress": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "vpnClientConfiguration": null, + "bgpSettings": null, + "customRoutes": null, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkScalableGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkScalableGatewayUpdate.json new file mode 100644 index 000000000000..ae64b02a9322 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkScalableGatewayUpdate.json @@ -0,0 +1,269 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "ergw", + "parameters": { + "properties": { + "ipConfigurations": [ + { + "properties": { + "privateIPAllocationMethod": "Static", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + } + }, + "name": "gwipconfig1" + } + ], + "gatewayType": "ExpressRoute", + "vpnType": "PolicyBased", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule1", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule2", + "properties": { + "type": "Static", + "mode": "IngressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "ErGwScale", + "tier": "ErGwScale" + }, + "vpnClientConfiguration": null, + "bgpSettings": null, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "name": "ergw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/ipConfigurations/default", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule1", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule2", + "properties": { + "type": "Static", + "mode": "IngressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "ErGwScale", + "tier": "ErGwScale", + "capacity": 0 + }, + "autoScaleConfiguration": { + "bounds": { + "min": 2, + "max": 3 + } + }, + "gatewayType": "ExpressRoute", + "vpnType": "PolicyBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "vpnClientConfiguration": null, + "bgpSettings": null, + "customRoutes": null, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + } + } + }, + "201": { + "body": { + "name": "ergw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/ipConfigurations/default", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Static", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule1", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule2", + "properties": { + "type": "Static", + "mode": "IngressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "ErGwScale", + "tier": "ErGwScale", + "capacity": 2 + }, + "autoScaleConfiguration": { + "bounds": { + "min": 2, + "max": 3 + } + }, + "gatewayType": "ExpressRoute", + "vpnType": "PolicyBased", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "enablePrivateIpAddress": false, + "vpnClientConfiguration": null, + "bgpSettings": null, + "customRoutes": null, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapCreate.json new file mode 100644 index 000000000000..e31c3ca3fde8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapCreate.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap", + "parameters": { + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/ipconfig1" + } + }, + "location": "centraluseuap" + } + }, + "responses": { + "200": { + "body": { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + } + }, + "201": { + "body": { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapDelete.json new file mode 100644 index 000000000000..15b453fbca63 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapGet.json new file mode 100644 index 000000000000..0f2d41c111df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "tapName": "testvtap" + }, + "responses": { + "200": { + "body": { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapList.json new file mode 100644 index 000000000000..e017b72a6478 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + }, + { + "name": "testvtap2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapListAll.json new file mode 100644 index 000000000000..3018f19e7853 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapListAll.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testvtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + } + }, + { + "name": "testvtap2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2", + "etag": "etag", + "type": "Microsoft.Network/virtualNetworkTaps", + "location": "centraluseuap", + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapUpdateTags.json new file mode 100644 index 000000000000..945e316b9f24 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkTapUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap", + "tapParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-vtap", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/test-vtap", + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "destinationNetworkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1" + }, + "destinationPort": 4789, + "provisioningState": "Succeded", + "networkInterfaceTapConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration" + } + ] + }, + "type": "Microsoft.Network/virtualNetworkTaps" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkUpdateTags.json new file mode 100644 index 000000000000..fe8d49a363f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualNetworkUpdateTags.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "location": "westus", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "test-vnet", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "subnets": [], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterDelete.json new file mode 100644 index 000000000000..53020bf4b5f6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterGet.json new file mode 100644 index 000000000000..c2daa5bcbd64 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": { + "body": { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterListByResourceGroup.json new file mode 100644 index 000000000000..1ceb19d61cc8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterListByResourceGroup.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterListBySubscription.json new file mode 100644 index 000000000000..316ac99abad6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterListBySubscription.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeerListAdvertisedRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeerListAdvertisedRoute.json new file mode 100644 index 000000000000..3ea3aa322b34 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeerListAdvertisedRoute.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "hubName": "virtualRouter1", + "connectionName": "peer1" + }, + "responses": { + "202": {}, + "200": { + "body": { + "RouteServiceRole_IN_0": [ + { + "localAddress": "10.85.3.4", + "network": "10.45.0.0/16", + "nextHop": "10.85.3.4", + "sourcePeer": "10.85.3.4", + "origin": "Igp", + "asPath": "65515", + "weight": 0 + }, + { + "localAddress": "10.85.3.4", + "network": "10.85.0.0/16", + "nextHop": "10.85.3.4", + "sourcePeer": "10.85.3.4", + "origin": "Igp", + "asPath": "65515", + "weight": 0 + }, + { + "localAddress": "10.85.3.4", + "network": "10.100.0.0/16", + "nextHop": "10.85.3.4", + "sourcePeer": "10.85.3.4", + "origin": "Igp", + "asPath": "65515", + "weight": 0 + } + ], + "RouteServiceRole_IN_1": [ + { + "localAddress": "10.85.3.4", + "network": "10.45.0.0/16", + "nextHop": "10.85.3.4", + "sourcePeer": "10.85.3.4", + "origin": "Igp", + "asPath": "65515", + "weight": 0 + }, + { + "localAddress": "10.85.3.4", + "network": "10.85.0.0/16", + "nextHop": "10.85.3.4", + "sourcePeer": "10.85.3.4", + "origin": "Igp", + "asPath": "65515", + "weight": 0 + }, + { + "localAddress": "10.85.3.4", + "network": "10.100.0.0/16", + "nextHop": "10.85.3.4", + "sourcePeer": "10.85.3.4", + "origin": "Igp", + "asPath": "65515", + "weight": 0 + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeerListLearnedRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeerListLearnedRoute.json new file mode 100644 index 000000000000..20932edf364d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeerListLearnedRoute.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "hubName": "virtualRouter1", + "connectionName": "peer1" + }, + "responses": { + "202": {}, + "200": { + "body": { + "RouteServiceRole_IN_0": [ + { + "localAddress": "10.85.3.4", + "network": "10.101.0.0/16", + "nextHop": "10.85.4.4", + "sourcePeer": "10.85.4.4", + "origin": "EBgp", + "asPath": "65002-65001", + "weight": 32768 + }, + { + "localAddress": "10.85.3.5", + "network": "10.101.0.0/16", + "nextHop": "10.85.4.4", + "sourcePeer": "10.85.4.4", + "origin": "EBgp", + "asPath": "65002-65001", + "weight": 32768 + } + ], + "RouteServiceRole_IN_1": [ + { + "localAddress": "10.85.3.4", + "network": "10.101.0.0/16", + "nextHop": "10.85.4.4", + "sourcePeer": "10.85.4.4", + "origin": "EBgp", + "asPath": "65002-65001", + "weight": 32768 + }, + { + "localAddress": "10.85.3.5", + "network": "10.101.0.0/16", + "nextHop": "10.85.4.4", + "sourcePeer": "10.85.4.4", + "origin": "EBgp", + "asPath": "65002-65001", + "weight": 32768 + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeeringDelete.json new file mode 100644 index 000000000000..6aee749fe923 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeeringGet.json new file mode 100644 index 000000000000..dd3226874ac6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeeringGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": { + "body": { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeeringList.json new file mode 100644 index 000000000000..3f8e4bf50598 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeeringList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeeringPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeeringPut.json new file mode 100644 index 000000000000..20280e1bf6e6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPeeringPut.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter", + "parameters": { + "properties": { + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + }, + "responses": { + "200": { + "body": { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + }, + "201": { + "body": { + "name": "peering1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPut.json new file mode 100644 index 000000000000..5600bf84328d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualRouterPut.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + }, + "201": { + "body": { + "name": "virtualRouter", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter", + "type": "Microsoft.Network/virtualRouters", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualRouterAsn": 10000, + "virtualRouterIps": [ + "192.168.1.1", + "192.168.1.2" + ], + "hostedGateway": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vnetGateway" + }, + "peerings": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualRouters/virtualRouter/peerings/peering1" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANDelete.json new file mode 100644 index 000000000000..5545ba6aede9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "VirtualWANName": "virtualWan1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANGet.json new file mode 100644 index 000000000000..eeae4e03ba55 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "wan1", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANList.json new file mode 100644 index 000000000000..d39f33f4b0c2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "wan1", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualWANs/wan2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "East US", + "name": "wan2", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANListByResourceGroup.json new file mode 100644 index 000000000000..ef9a134ef5a9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANListByResourceGroup.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "wan1", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "East US", + "name": "wan2", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub3", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub4" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite3", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite4" + ], + "type": "Basic" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANPut.json new file mode 100644 index 000000000000..1eb3b8105353 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANPut.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "WANParameters": { + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "disableVpnEncryption": false, + "type": "Basic" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "wan1", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "wan1", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANUpdateTags.json new file mode 100644 index 000000000000..91181273f746 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWANUpdateTags.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "WANParameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "wan1", + "type": "Microsoft.Network/virtualWANs", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "disableVpnEncryption": false, + "virtualHubs": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2" + ], + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2" + ], + "type": "Basic" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWanSupportedSecurityProviders.json new file mode 100644 index 000000000000..973fa15269ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VirtualWanSupportedSecurityProviders.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "virtualWANName": "wan1" + }, + "responses": { + "200": { + "description": "Request successful.", + "body": { + "supportedProviders": [ + { + "name": "AzureFirewall", + "url": "", + "type": "Native" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssNetworkInterfaceGet.json new file mode 100644 index 000000000000..146f80e3d7f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssNetworkInterfaceGet.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2018-10-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "nic1", + "virtualMachineScaleSetName": "vmss1", + "virtualmachineIndex": "1" + }, + "responses": { + "200": { + "body": { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "dns.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssNetworkInterfaceIpConfigGet.json new file mode 100644 index 000000000000..5b7c23b7b56b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssNetworkInterfaceIpConfigGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2018-10-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualMachineScaleSetName": "vmss1", + "virtualmachineIndex": "2", + "networkInterfaceName": "nic1", + "ipConfigurationName": "ip1" + }, + "responses": { + "200": { + "body": { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/2/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.6", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.2" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssNetworkInterfaceIpConfigList.json new file mode 100644 index 000000000000..e14de4e82a72 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssNetworkInterfaceIpConfigList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2018-10-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualMachineScaleSetName": "vmss1", + "virtualmachineIndex": "2", + "networkInterfaceName": "nic1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/2/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.6", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssNetworkInterfaceList.json new file mode 100644 index 000000000000..0ec937148391 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssNetworkInterfaceList.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2018-10-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualMachineScaleSetName": "vmss1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.0" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0" + } + } + }, + { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssPublicIpGet.json new file mode 100644 index 000000000000..229c15712a0d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssPublicIpGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "virtualMachineScaleSetName": "vmss1", + "resourceGroupName": "vmss-tester", + "api-version": "2018-10-01", + "subscriptionId": "subid", + "virtualmachineIndex": 1, + "networkInterfaceName": "nic1", + "ipConfigurationName": "ip1", + "publicIpAddressName": "pub1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm1.testvmssacc", + "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.119.72", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssPublicIpListAll.json new file mode 100644 index 000000000000..605e0b831869 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssPublicIpListAll.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "virtualMachineScaleSetName": "vmss1", + "resourceGroupName": "vmss-tester", + "api-version": "2018-10-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm1.testvmssacc", + "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.119.72", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm3.testvmssacc", + "fqdn": "vm3.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.118.216", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssVmNetworkInterfaceList.json new file mode 100644 index 000000000000..e4f1cbf14ebf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssVmNetworkInterfaceList.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2018-10-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualMachineScaleSetName": "vmss1", + "virtualmachineIndex": "1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nic1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ip1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.0.5", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + }, + "primary": true, + "privateIPAddressVersion": "IPv4", + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/addressPool1" + } + ], + "loadBalancerInboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb1/inboundNatRules/natPool1.1" + } + ] + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "ruw4wz3grewudjsyzrxj44pxod.cdmx.internal.cloudapp.net" + }, + "macAddress": "00-00-00-00-00-00", + "enableAcceleratedNetworking": false, + "enableIPForwarding": false, + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "primary": true, + "virtualMachine": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1" + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssVmPublicIpList.json new file mode 100644 index 000000000000..d21f5d40ed03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VmssVmPublicIpList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "virtualMachineScaleSetName": "vmss1", + "resourceGroupName": "vmss-tester", + "api-version": "2018-10-01", + "subscriptionId": "subid", + "virtualmachineIndex": 1, + "networkInterfaceName": "nic1", + "ipConfigurationName": "ip1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1/publicIPAddresses/pub1", + "name": "pub1", + "properties": { + "publicIPAllocationMethod": "Dynamic", + "publicIPAddressVersion": "IPv4", + "ipConfiguration": { + "id": "/subscriptions/subid/resourceGroups/vmss-tester/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/nic1/ipConfigurations/ip1" + }, + "dnsSettings": { + "domainNameLabel": "vm1.testvmssacc", + "fqdn": "vm1.testvmssacc.southeastasia.cloudapp.azure.com" + }, + "ipAddress": "13.67.119.72", + "idleTimeoutInMinutes": 10, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionDelete.json new file mode 100644 index 000000000000..07cc0314c535 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "connectionName": "vpnConnection1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionGet.json new file mode 100644 index 000000000000..c2bf7c0deee9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "trafficSelectorPolicies": [], + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "vpnLinkConnectionMode": "ResponderOnly" + } + }, + { + "name": "Connection-Link2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "vpnLinkConnectionMode": "InitiatorOnly" + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionList.json new file mode 100644 index 000000000000..3c0507ec5fdf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionList.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "trafficSelectorPolicies": [], + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "vpnLinkConnectionMode": "Default" + } + }, + { + "name": "Connection-Link2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "vpnLinkConnectionMode": "Default" + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionPut.json new file mode 100644 index 000000000000..ca31fd198634 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionPut.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "connectionName": "vpnConnection1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "VpnConnectionParameters": { + "properties": { + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "properties": { + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "vpnLinkConnectionMode": "Default", + "usePolicyBasedTrafficSelectors": false + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "trafficSelectorPolicies": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "vpnLinkConnectionMode": "Default" + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "trafficSelectorPolicies": [] + } + } + }, + "201": { + "body": { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "vpnLinkConnectionMode": "Default" + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "trafficSelectorPolicies": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionStartPacketCapture.json new file mode 100644 index 000000000000..63d8bb8bd1bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionStartPacketCapture.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "gateway1", + "vpnConnectionName": "vpnConnection1", + "parameters": { + "linkConnectionNames": [ + "siteLink1", + "siteLink2" + ] + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..eb50ae840f47 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionStartPacketCaptureFilterData.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "gateway1", + "vpnConnectionName": "vpnConnection1", + "parameters": { + "filterData": "{'TracingFlags': 11,'MaxPacketBufferSize': 120,'MaxFileSize': 200,'Filters': [{'SourceSubnets': ['20.1.1.0/24'],'DestinationSubnets': ['10.1.1.0/24'],'SourcePort': [500],'DestinationPort': [4500],'Protocol': 6,'TcpFlags': 16,'CaptureSingleDirectionTrafficOnly': true}]}", + "linkConnectionNames": [ + "siteLink1", + "siteLink2" + ] + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionStopPacketCapture.json new file mode 100644 index 000000000000..6f35e04f98a8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnConnectionStopPacketCapture.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "gateway1", + "vpnConnectionName": "vpnConnection1", + "parameters": { + "sasUrl": "https://teststorage.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-09-13T07:44:05Z&st=2019-09-06T23:44:05Z&spr=https&sig=V1h9D1riltvZMI69d6ihENnFo%2FrCvTqGgjO2lf%2FVBhE%3D", + "linkConnectionNames": [ + "vpnSiteLink1", + "vpnSiteLink2" + ] + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayDelete.json new file mode 100644 index 000000000000..ca76f4fa1c84 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayGet.json new file mode 100644 index 000000000000..ca38b444278c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayGet.json @@ -0,0 +1,207 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "gateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + }, + { + "name": "Connection-Link2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat04" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [ + { + "name": "nat03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03", + "properties": { + "type": "Dynamic", + "mode": "IgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "ingressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link1" + } + ] + }, + "type": "Microsoft.Network/vpnGateways/natRules" + }, + { + "name": "nat04", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat04", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link2" + } + ] + }, + "type": "Microsoft.Network/vpnGateways/natRules" + } + ], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayList.json new file mode 100644 index 000000000000..4b4014bea6f1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayList.json @@ -0,0 +1,304 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "gateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "ingressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + }, + { + "name": "Connection-Link2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat04" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [ + { + "name": "nat03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03", + "properties": { + "type": "Dynamic", + "mode": "IgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "ingressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link1" + } + ] + }, + "type": "Microsoft.Network/vpnGateways/natRules" + }, + { + "name": "nat04", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat04", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link2" + } + ] + }, + "type": "Microsoft.Network/vpnGateways/natRules" + } + ], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + }, + { + "name": "gateway2", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2/vpnConnections/vpnConnection2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2" + }, + "connectionStatus": "Connected", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "routingWeight": 0, + "connectionBandwidth": 100, + "sharedKey": "key", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "ipsecPolicies": [], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayListByResourceGroup.json new file mode 100644 index 000000000000..186e0ed36057 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayListByResourceGroup.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "gateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + }, + { + "name": "Connection-Link2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link2", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink2" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [ + { + "name": "nat03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link1" + } + ] + }, + "type": "Microsoft.Network/vpnGateways/natRules" + } + ], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + }, + { + "name": "gateway2", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2/vpnConnections/vpnConnection2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2" + }, + "connectionStatus": "Connected", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "routingWeight": 0, + "connectionBandwidth": 100, + "sharedKey": "key", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "ipsecPolicies": [], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayPut.json new file mode 100644 index 000000000000..a995380a1450 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayPut.json @@ -0,0 +1,377 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "vpnGatewayParameters": { + "location": "westcentralus", + "tags": { + "key1": "value1" + }, + "properties": { + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "properties": { + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "properties": { + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + } + ] + } + } + ], + "bgpSettings": { + "asn": 65515, + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "customBgpIpAddresses": [ + "169.254.21.5" + ] + }, + { + "ipconfigurationId": "Instance1", + "customBgpIpAddresses": [ + "169.254.21.10" + ] + } + ] + }, + "natRules": [ + { + "name": "nat03", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "ipConfigurationId": "" + } + } + ], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + } + }, + "responses": { + "200": { + "body": { + "name": "gateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [ + { + "name": "nat03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link1" + } + ] + } + } + ], + "isRoutingPreferenceInternet": false + } + } + }, + "201": { + "body": { + "name": "gateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "enableInternetSecurity": false, + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "vpnLinkConnections": [ + { + "name": "Connection-Link1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0, + "egressNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03" + } + ] + } + } + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [ + { + "name": "nat03", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/nat03", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "0.0.0.0/26" + } + ], + "externalMappings": [ + { + "addressSpace": "192.168.0.0/26" + } + ], + "egressVpnSiteLinkConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/Connection-Link1" + } + ] + } + } + ], + "isRoutingPreferenceInternet": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayReset.json new file mode 100644 index 000000000000..b923e465401f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayReset.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "gatewayName": "vpngw", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/vpngw/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "connectionStatus": "Connected", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "routingWeight": 0, + "connectionBandwidth": 100, + "sharedKey": "key", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "ipsecPolicies": [], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65514, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayStartPacketCapture.json new file mode 100644 index 000000000000..d25cd715b889 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayStartPacketCapture.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..c4e0ddfc7ec2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayStartPacketCaptureFilterData.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "vpngw", + "parameters": { + "filterData": "{'TracingFlags': 11,'MaxPacketBufferSize': 120,'MaxFileSize': 200,'Filters': [{'SourceSubnets': ['20.1.1.0/24'],'DestinationSubnets': ['10.1.1.0/24'],'SourcePort': [500],'DestinationPort': [4500],'Protocol': 6,'TcpFlags': 16,'CaptureSingleDirectionTrafficOnly': true}]}" + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayStopPacketCapture.json new file mode 100644 index 000000000000..f24b94a7873b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayStopPacketCapture.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "vpngw", + "parameters": { + "sasUrl": "https://teststorage.blob.core.windows.net/?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-09-13T07:44:05Z&st=2019-09-06T23:44:05Z&spr=https&sig=V1h9D1riltvZMI69d6ihENnFo%2FrCvTqGgjO2lf%2FVBhE%3D" + } + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayUpdateTags.json new file mode 100644 index 000000000000..99580803cdb3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnGatewayUpdateTags.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "vpnGatewayParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "gateway1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "type": "Microsoft.Network/vpnGateways", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1" + }, + "connections": [ + { + "name": "vpnConnection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "remoteVpnSite": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1" + }, + "connectionStatus": "Connected", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "routingWeight": 0, + "sharedKey": "key", + "enableBgp": false, + "ipsecPolicies": [], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1", + "label2" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable2" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable3" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ], + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.1.30", + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "defaultBgpIpAddresses": [ + "10.30.0.4" + ], + "customBgpIpAddresses": [ + "169.254.21.5" + ], + "tunnelIpAddresses": [ + "104.208.48.178" + ] + }, + { + "ipconfigurationId": "Instance1", + "defaultBgpIpAddresses": [ + "10.30.0.5" + ], + "customBgpIpAddresses": [ + "169.254.21.10" + ], + "tunnelIpAddresses": [ + "104.208.48.179" + ] + } + ] + }, + "natRules": [], + "isRoutingPreferenceInternet": false, + "enableBgpRouteTranslationForNat": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationDelete.json new file mode 100644 index 000000000000..4a1d816e928c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationGet.json new file mode 100644 index 000000000000..f08ce1358a1d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationGet.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration1", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "configurationPolicyGroups": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ], + "p2SConnectionConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1" + } + ] + } + }, + { + "name": "policyGroup2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ] + } + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServers": [ + { + "radiusServerAddress": "10.0.0.0", + "radiusServerScore": 25 + } + ], + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationList.json new file mode 100644 index 000000000000..9acc1b2caef1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationList.json @@ -0,0 +1,214 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration1", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "configurationPolicyGroups": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ], + "p2SConnectionConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1" + } + ] + } + }, + { + "name": "policyGroup2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ] + } + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServerAddress": "8.9.9.9", + "radiusServerSecret": "", + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "East US", + "name": "vpnServerConfiguration2", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "configurationPolicyGroups": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ], + "p2SConnectionConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1" + } + ] + } + }, + { + "name": "policyGroup2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ] + } + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServers": [ + { + "radiusServerAddress": "10.0.0.0", + "radiusServerScore": 25 + } + ], + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationListByResourceGroup.json new file mode 100644 index 000000000000..06198a5a4d30 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationListByResourceGroup.json @@ -0,0 +1,211 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration1", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "configurationPolicyGroups": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ], + "p2SConnectionConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1" + } + ] + } + }, + { + "name": "policyGroup2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ] + } + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServerAddress": "8.9.9.9", + "radiusServerSecret": "", + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration2", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "configurationPolicyGroups": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ], + "p2SConnectionConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1" + } + ] + } + }, + { + "name": "policyGroup2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ] + } + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServerAddress": "8.9.9.9", + "radiusServerSecret": "", + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationPut.json new file mode 100644 index 000000000000..674e4110a718 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationPut.json @@ -0,0 +1,304 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "VpnServerConfigurationParameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "vpnProtocols": [ + "IkeV2" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "configurationPolicyGroups": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "properties": { + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ] + } + }, + { + "name": "policyGroup2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2", + "properties": { + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ] + } + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServers": [ + { + "radiusServerAddress": "10.0.0.0", + "radiusServerScore": 25, + "radiusServerSecret": "radiusServerSecret" + } + ], + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration1", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "configurationPolicyGroups": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ], + "p2SConnectionConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1" + } + ] + } + }, + { + "name": "policyGroup2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ] + } + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServers": [ + { + "radiusServerAddress": "10.0.0.0", + "radiusServerScore": 25 + } + ], + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration1", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnAuthenticationTypes": [ + "Certificate" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "configurationPolicyGroups": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ], + "p2SConnectionConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1" + } + ] + } + }, + { + "name": "policyGroup2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ] + } + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServers": [ + { + "radiusServerAddress": "10.0.0.0", + "radiusServerScore": 25 + } + ], + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationUpdateTags.json new file mode 100644 index 000000000000..563f3974d448 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnServerConfigurationUpdateTags.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "VpnServerConfigurationParameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnServerConfiguration1", + "type": "Microsoft.Network/vpnServerConfigurations", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "vpnProtocols": [ + "IkeV2" + ], + "vpnClientIpsecPolicies": [ + { + "saLifeTimeSeconds": 86472, + "saDataSizeKilobytes": 429497, + "ipsecEncryption": "AES256", + "ipsecIntegrity": "SHA256", + "ikeEncryption": "AES256", + "ikeIntegrity": "SHA384", + "dhGroup": "DHGroup14", + "pfsGroup": "PFS14" + } + ], + "configurationPolicyGroups": [ + { + "name": "policyGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy1", + "attributeType": "RadiusAzureGroupId", + "attributeValue": "6ad1bd08" + } + ], + "p2SConnectionConfigurations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/p2sVpnGateways/p2sVpnGateway1/p2sConnectionConfigurations/P2SConnectionConfig1" + } + ] + } + }, + { + "name": "policyGroup2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "isDefault": true, + "priority": 0, + "policyMembers": [ + { + "name": "policy2", + "attributeType": "CertificateGroupId", + "attributeValue": "red.com" + } + ] + } + } + ], + "vpnClientRootCertificates": [ + { + "name": "vpnServerConfigVpnClientRootCert1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN" + } + ], + "vpnClientRevokedCertificates": [ + { + "name": "vpnServerConfigVpnClientRevokedCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ], + "radiusServerAddress": "8.9.9.9", + "radiusServerSecret": "", + "radiusServerRootCertificates": [ + { + "name": "vpnServerConfigRadiusServerRootCer1", + "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM" + } + ], + "radiusClientRootCertificates": [ + { + "name": "vpnServerConfigRadiusClientRootCert1", + "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteDelete.json new file mode 100644 index 000000000000..8f46680c376f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteGet.json new file mode 100644 index 000000000000..25cd3b412550 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite1", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1" + }, + "deviceProperties": { + "linkSpeedInMbps": 0 + }, + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "isSecuritySite": false, + "vpnSiteLinks": [ + { + "name": "vpnSiteLink1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkProviderName": "vendor1", + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkConnectionGet.json new file mode 100644 index 000000000000..a63f23799920 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkConnectionGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "linkConnectionName": "Connection-Link1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "vpnGatewayCustomBgpAddresses": [ + { + "ipConfigurationId": "Instance0", + "customBgpIpAddress": "169.254.21.1" + }, + { + "ipConfigurationId": "Instance1", + "customBgpIpAddress": "169.254.21.3" + } + ], + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkConnectionGetIkeSas.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkConnectionGetIkeSas.json new file mode 100644 index 000000000000..606c5eb5d95f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkConnectionGetIkeSas.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "linkConnectionName": "Connection-Link1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/westus/operationResults/{operationId}?api-version=2023-09-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkConnectionList.json new file mode 100644 index 000000000000..f0ab25be3d94 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkConnectionList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "connectionName": "vpnConnection1" + }, + "responses": { + "200": { + "body": [ + { + "name": "Connection-Link1", + "type": "Microsoft.Network/vpnGateways/vpnConnections/VpnSiteLinkConnections", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/VpnSiteLinkConnections/Connection-Link1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "vpnSiteLink": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/siteLink1" + }, + "connectionBandwidth": 200, + "ipsecPolicies": [], + "vpnConnectionProtocolType": "IKEv2", + "sharedKey": "key", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0, + "enableBgp": false, + "vpnGatewayCustomBgpAddresses": [ + { + "ipConfigurationId": "Instance0", + "customBgpIpAddress": "169.254.21.1" + }, + { + "ipConfigurationId": "Instance1", + "customBgpIpAddress": "169.254.21.3" + } + ], + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0 + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkConnectionReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkConnectionReset.json new file mode 100644 index 000000000000..1a1571a85599 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkConnectionReset.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "linkConnectionName": "Connection-Link1" + }, + "responses": { + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkGet.json new file mode 100644 index 000000000000..6437d8ce6759 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "vpnSiteLinkName": "vpnSiteLink1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "vpnSiteLink1", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkListByVpnSite.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkListByVpnSite.json new file mode 100644 index 000000000000..da0e6f703d5a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteLinkListByVpnSite.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "vpnSiteName": "vpnSite1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "vpnSiteLink1", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkSpeedInMbps": 200 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + }, + { + "name": "vpnSiteLink2", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "40.40.40.46", + "linkProperties": { + "linkSpeedInMbps": 200 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.1", + "asn": 1234 + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteList.json new file mode 100644 index 000000000000..1c5c0ba5668a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite1", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1" + }, + "deviceProperties": { + "linkSpeedInMbps": 0 + }, + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "isSecuritySite": false, + "vpnSiteLinks": [ + { + "name": "vpnSiteLink1", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "East US", + "name": "vpnSite2", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualWANs/wan1", + "deviceProperties": { + "deviceVendor": "vendor1", + "deviceModel": "model01", + "linkSpeedInMbps": 200 + }, + "ipAddress": "10.1.0.0", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + }, + "isSecuritySite": false + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteListByResourceGroup.json new file mode 100644 index 000000000000..66a43b3e26c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteListByResourceGroup.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite1", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1" + }, + "deviceProperties": { + "linkSpeedInMbps": 0 + }, + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "isSecuritySite": false, + "vpnSiteLinks": [ + { + "name": "vpnSiteLink1", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite2", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "deviceProperties": { + "deviceVendor": "vendor1", + "deviceModel": "model01", + "linkSpeedInMbps": 200 + }, + "ipAddress": "10.1.0.0", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSitePut.json new file mode 100644 index 000000000000..31245284194a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSitePut.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "VpnSiteParameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1" + }, + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "isSecuritySite": false, + "vpnSiteLinks": [ + { + "name": "vpnSiteLink1", + "properties": { + "ipAddress": "50.50.50.56", + "fqdn": "link1.vpnsite1.contoso.com", + "linkProperties": { + "linkProviderName": "vendor1", + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ], + "o365Policy": { + "breakOutCategories": { + "allow": true, + "optimize": true, + "default": false + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite1", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1" + }, + "deviceProperties": { + "linkSpeedInMbps": 0 + }, + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "isSecuritySite": false, + "vpnSiteLinks": [ + { + "name": "vpnSiteLink1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/vpnSites/vpnSiteLinks", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkProviderName": "vendor1", + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite1", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1" + }, + "deviceProperties": { + "linkSpeedInMbps": 0 + }, + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "isSecuritySite": false, + "vpnSiteLinks": [ + { + "name": "vpnSiteLink1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1/vpnSiteLinks/vpnSiteLink1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "ipAddress": "50.50.50.56", + "linkProperties": { + "linkProviderName": "vendor1", + "linkSpeedInMbps": 0 + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteUpdateTags.json new file mode 100644 index 000000000000..0e1d7694c6b0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSiteUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "subscriptionId": "subid", + "VpnSiteParameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "name": "vpnSite1", + "type": "Microsoft.Network/vpnSites", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1", + "deviceProperties": { + "deviceVendor": "vendor1", + "deviceModel": "model01", + "linkSpeedInMbps": 200 + }, + "ipAddress": "10.0.0.0", + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + }, + "bgpProperties": { + "bgpPeeringAddress": "192.168.0.0", + "asn": 1234 + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSitesConfigurationDownload.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSitesConfigurationDownload.json new file mode 100644 index 000000000000..bbcbc668a94f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/VpnSitesConfigurationDownload.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2023-09-01", + "virtualWANName": "wan1", + "request": { + "vpnSites": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/abc" + ], + "outputBlobSasUrl": "https://blobcortextesturl.blob.core.windows.net/folderforconfig/vpnFile?sp=rw&se=2018-01-10T03%3A42%3A04Z&sv=2017-04-17&sig=WvXrT5bDmDFfgHs%2Brz%2BjAu123eRCNE9BO0eQYcPDT7pY%3D&sr=b" + } + }, + "responses": { + "200": { + "description": "Request successful. Follow the location header for sas-url to output blob." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafListAllPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafListAllPolicies.json new file mode 100644 index 000000000000..b575617ee370 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafListAllPolicies.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "state": "Enabled", + "mode": "Prevention", + "requestBodyEnforcement": true, + "maxRequestBodySizeInKb": 2000, + "requestBodyInspectLimitInKB": 2000, + "fileUploadEnforcement": true, + "fileUploadLimitInMb": 4000, + "requestBodyCheck": true, + "customBlockResponseStatusCode": 405, + "customBlockResponseBody": "SGVsbG8=", + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [ + { + "state": "Enabled", + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "Equals", + "selector": "test" + }, + { + "state": "Enabled", + "matchVariable": "RequestIPAddress", + "selectorMatchOperator": "EqualsAny", + "selector": "*" + } + ] + } + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + }, + { + "name": "RateLimitRule3", + "priority": 3, + "rateLimitDuration": "OneMin", + "rateLimitThreshold": 10, + "ruleType": "RateLimitRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "groupByUserSession": [ + { + "groupByVariables": [ + { + "variableName": "ClientAddr" + } + ] + } + ], + "action": "Block" + } + ], + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafListPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafListPolicies.json new file mode 100644 index 000000000000..c1fe8e200988 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafListPolicies.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "state": "Enabled", + "mode": "Detection", + "requestBodyEnforcement": true, + "maxRequestBodySizeInKb": 2000, + "requestBodyInspectLimitInKB": 2000, + "fileUploadEnforcement": true, + "fileUploadLimitInMb": 4000, + "requestBodyCheck": true, + "customBlockResponseStatusCode": 405, + "customBlockResponseBody": "SGVsbG8=", + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [ + { + "state": "Enabled", + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "Equals", + "selector": "test" + }, + { + "state": "Enabled", + "matchVariable": "RequestIPAddress", + "selectorMatchOperator": "EqualsAny" + } + ] + } + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + }, + { + "name": "RateLimitRule3", + "priority": 3, + "rateLimitDuration": "OneMin", + "rateLimitThreshold": 10, + "ruleType": "RateLimitRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "groupByUserSession": [ + { + "groupByVariables": [ + { + "variableName": "ClientAddr" + } + ] + } + ], + "action": "Block" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafPolicyCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..1e46ff6436b9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,750 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1", + "parameters": { + "location": "WestUs", + "properties": { + "policySettings": { + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [ + { + "state": "Enabled", + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "Equals", + "selector": "test" + }, + { + "state": "Enabled", + "matchVariable": "RequestIPAddress", + "selectorMatchOperator": "EqualsAny" + } + ] + } + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroupOverrides": [ + { + "ruleGroupName": "REQUEST-931-APPLICATION-ATTACK-RFI", + "rules": [ + { + "ruleId": "931120", + "state": "Enabled", + "action": "Log" + }, + { + "ruleId": "931130", + "state": "Disabled", + "action": "AnomalyScoring" + } + ] + } + ] + }, + { + "ruleSetType": "Microsoft_BotManagerRuleSet", + "ruleSetVersion": "1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "UnknownBots", + "rules": [ + { + "ruleId": "300700", + "state": "Enabled", + "action": "JSChallenge" + } + ] + } + ] + } + ], + "exclusions": [ + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroups": [ + { + "ruleGroupName": "REQUEST-930-APPLICATION-ATTACK-LFI", + "rules": [ + { + "ruleId": "930120" + } + ] + }, + { + "ruleGroupName": "REQUEST-932-APPLICATION-ATTACK-RCE" + } + ] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "EndsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.1", + "ruleGroups": [] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "test" + }, + { + "matchVariable": "RequestArgValues", + "selectorMatchOperator": "StartsWith", + "selector": "test" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "ruleType": "MatchRule", + "action": "Block", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ] + }, + { + "name": "Rule2", + "priority": 2, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeaders", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + }, + { + "name": "RateLimitRule3", + "priority": 3, + "rateLimitDuration": "OneMin", + "rateLimitThreshold": 10, + "ruleType": "RateLimitRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "groupByUserSession": [ + { + "groupByVariables": [ + { + "variableName": "ClientAddr" + } + ] + } + ], + "action": "Block" + }, + { + "name": "Rule4", + "priority": 4, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeaders", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "matchValues": [ + "Bot" + ] + } + ], + "action": "JSChallenge" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "state": "Enabled", + "mode": "Detection", + "requestBodyEnforcement": true, + "maxRequestBodySizeInKb": 2000, + "requestBodyInspectLimitInKB": 2000, + "fileUploadEnforcement": true, + "fileUploadLimitInMb": 4000, + "requestBodyCheck": true, + "customBlockResponseStatusCode": 405, + "customBlockResponseBody": "SGVsbG8=", + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [ + { + "state": "Enabled", + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "Equals", + "selector": "test" + }, + { + "state": "Enabled", + "matchVariable": "RequestIPAddress", + "selectorMatchOperator": "EqualsAny" + } + ] + } + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroupOverrides": [ + { + "ruleGroupName": "REQUEST-931-APPLICATION-ATTACK-RFI", + "rules": [ + { + "ruleId": "931120", + "state": "Enabled", + "action": "Log" + }, + { + "ruleId": "931130", + "state": "Disabled", + "action": "AnomalyScoring" + } + ] + } + ] + }, + { + "ruleSetType": "Microsoft_BotManagerRuleSet", + "ruleSetVersion": "1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "UnknownBots", + "rules": [ + { + "ruleId": "300700", + "state": "Enabled", + "action": "JSChallenge" + } + ] + } + ] + } + ], + "exclusions": [ + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroups": [ + { + "ruleGroupName": "REQUEST-930-APPLICATION-ATTACK-LFI", + "rules": [ + { + "ruleId": "930120" + } + ] + }, + { + "ruleGroupName": "REQUEST-932-APPLICATION-ATTACK-RCE" + } + ] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "EndsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.1", + "ruleGroups": [] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "test" + }, + { + "matchVariable": "RequestArgValues", + "selectorMatchOperator": "StartsWith", + "selector": "test" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + }, + { + "name": "RateLimitRule3", + "priority": 3, + "rateLimitDuration": "OneMin", + "rateLimitThreshold": 10, + "ruleType": "RateLimitRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "groupByUserSession": [ + { + "groupByVariables": [ + { + "variableName": "ClientAddr" + } + ] + } + ], + "action": "Block" + }, + { + "name": "Rule4", + "priority": 4, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeaders", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Bot" + ] + } + ], + "action": "JSChallenge" + } + ] + } + } + }, + "201": { + "body": { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "state": "Enabled", + "mode": "Detection", + "requestBodyEnforcement": true, + "maxRequestBodySizeInKb": 2000, + "requestBodyInspectLimitInKB": 2000, + "fileUploadEnforcement": true, + "fileUploadLimitInMb": 4000, + "requestBodyCheck": true, + "customBlockResponseStatusCode": 405, + "customBlockResponseBody": "SGVsbG8=" + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroupOverrides": [ + { + "ruleGroupName": "REQUEST-931-APPLICATION-ATTACK-RFI", + "rules": [ + { + "ruleId": "931120", + "state": "Enabled", + "action": "Log" + }, + { + "ruleId": "931130", + "state": "Disabled", + "action": "AnomalyScoring" + } + ] + } + ] + }, + { + "ruleSetType": "Microsoft_BotManagerRuleSet", + "ruleSetVersion": "1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "UnknownBots", + "rules": [ + { + "ruleId": "300700", + "state": "Enabled", + "action": "JSChallenge" + } + ] + } + ] + } + ], + "exclusions": [ + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroups": [ + { + "ruleGroupName": "REQUEST-930-APPLICATION-ATTACK-LFI", + "rules": [ + { + "ruleId": "930120" + } + ] + }, + { + "ruleGroupName": "REQUEST-932-APPLICATION-ATTACK-RCE" + } + ] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "EndsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.1", + "ruleGroups": [] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "test" + }, + { + "matchVariable": "RequestArgValues", + "selectorMatchOperator": "StartsWith", + "selector": "test" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + }, + { + "name": "RateLimitRule3", + "priority": 3, + "rateLimitDuration": "OneMin", + "rateLimitThreshold": 10, + "ruleType": "RateLimitRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "groupByUserSession": [ + { + "groupByVariables": [ + { + "variableName": "ClientAddr" + } + ] + } + ], + "action": "Block" + }, + { + "name": "Rule4", + "priority": 4, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeaders", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Bot" + ] + } + ], + "action": "JSChallenge" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafPolicyDelete.json new file mode 100644 index 000000000000..79cfeff945d7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafPolicyDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1?api-version=2023-09-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafPolicyGet.json new file mode 100644 index 000000000000..91a303def75c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/WafPolicyGet.json @@ -0,0 +1,302 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": { + "body": { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "state": "Enabled", + "mode": "Prevention", + "requestBodyEnforcement": true, + "maxRequestBodySizeInKb": 2000, + "requestBodyInspectLimitInKB": 2000, + "fileUploadEnforcement": true, + "fileUploadLimitInMb": 4000, + "requestBodyCheck": true, + "customBlockResponseStatusCode": 405, + "customBlockResponseBody": "SGVsbG8=", + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [ + { + "state": "Enabled", + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "Equals", + "selector": "test" + }, + { + "state": "Enabled", + "matchVariable": "RequestIPAddress", + "selectorMatchOperator": "EqualsAny" + } + ] + } + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + }, + { + "name": "RateLimitRule3", + "priority": 3, + "rateLimitDuration": "OneMin", + "rateLimitThreshold": 10, + "ruleType": "RateLimitRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "groupByUserSession": [ + { + "groupByVariables": [ + { + "variableName": "ClientAddr" + } + ] + } + ], + "action": "Block" + }, + { + "name": "Rule4", + "priority": 4, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeaders", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Bot" + ] + } + ], + "action": "JSChallenge" + } + ], + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroupOverrides": [ + { + "ruleGroupName": "REQUEST-942-APPLICATION-ATTACK-SQLI", + "rules": [ + { + "ruleId": "942130", + "state": "Disabled", + "action": "AnomalyScoring" + }, + { + "ruleId": "942110", + "state": "Disabled", + "action": "AnomalyScoring" + }, + { + "ruleId": "942140", + "state": "Enabled", + "action": "Log" + } + ] + }, + { + "ruleGroupName": "REQUEST-920-PROTOCOL-ENFORCEMENT", + "rules": [ + { + "ruleId": "920100", + "state": "Disabled", + "action": "AnomalyScoring" + }, + { + "ruleId": "920120", + "state": "Disabled", + "action": "AnomalyScoring" + }, + { + "ruleId": "920130", + "state": "Enabled", + "action": "Block" + } + ] + } + ] + }, + { + "ruleSetType": "Microsoft_BotManagerRuleSet", + "ruleSetVersion": "1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "UnknownBots", + "rules": [ + { + "ruleId": "300700", + "state": "Enabled", + "action": "JSChallenge" + } + ] + } + ] + } + ], + "exclusions": [ + { + "matchVariable": "RequestHeaderNames", + "selectorMatchOperator": "Equals", + "selector": "testHeader1" + }, + { + "matchVariable": "RequestHeaderNames", + "selectorMatchOperator": "StartsWith", + "selector": "testHeader2" + }, + { + "matchVariable": "RequestArgValues", + "selectorMatchOperator": "StartsWith", + "selector": "hello" + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroups": [ + { + "ruleGroupName": "REQUEST-930-APPLICATION-ATTACK-LFI", + "rules": [ + { + "ruleId": "930120" + } + ] + }, + { + "ruleGroupName": "REQUEST-932-APPLICATION-ATTACK-RCE" + } + ] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "EndsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.1", + "ruleGroups": [] + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/expressRouteProviderPort.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/expressRouteProviderPort.json new file mode 100644 index 000000000000..853ba8cea790 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/expressRouteProviderPort.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "locationName": "SiliconValley", + "subscriptionId": "subid", + "providerport": "abc" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.Network/ExpressRoutePortsLocations/SiliconValley/bvtazureixpportpair1", + "type": "Microsoft.Network/expressRouteProviderPort", + "location": "uswest", + "etag": "W/\"c0e6477e-8150-4d4f-9bf6-bb10e6acb63a\"", + "properties": { + "portPairDescriptor": "bvtazureixpportpair1", + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "peeringLocation": "SiliconValley", + "overprovisionFactor": 4, + "portBandwidthInMbps": 4000, + "usedBandwidthInMbps": 2500, + "remainingBandwidthInMbps": 1500 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/expressRouteProviderPortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/expressRouteProviderPortList.json new file mode 100644 index 000000000000..6ca32ba30388 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/examples/expressRouteProviderPortList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.Network/ExpressRoutePortsLocations/SiliconValley/bvtazureixpportpair1", + "type": "Microsoft.Network/expressRouteProviderPort", + "location": "uswest", + "etag": "W/\"c0e6477e-8150-4d4f-9bf6-bb10e6acb63a\"", + "properties": { + "portPairDescriptor": "bvtazureixpportpair1", + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "peeringLocation": "SiliconValley", + "overprovisionFactor": 4, + "portBandwidthInMbps": 4000, + "usedBandwidthInMbps": 2500, + "remainingBandwidthInMbps": 1500 + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.Network/ExpressRoutePortsLocations/SiliconValley/bvtazureixpportpair2", + "type": "Microsoft.Network/expressRouteProviderPort", + "location": "uswest", + "etag": "W/\"c0e6477e-8150-4d4f-9bf6-bb10e6acb63a\"", + "properties": { + "portPairDescriptor": "bvtazureixpportpair2", + "primaryAzurePort": "bvtazureixp02", + "secondaryAzurePort": "bvtazureixp02", + "peeringLocation": "seattle", + "overprovisionFactor": 4, + "portBandwidthInMbps": 4000, + "usedBandwidthInMbps": 1200, + "remainingBandwidthInMbps": 1800 + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/expressRouteCircuit.json new file mode 100644 index 000000000000..228ccef6930d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/expressRouteCircuit.json @@ -0,0 +1,2516 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}": { + "delete": { + "tags": [ + "ExpressRouteCircuitAuthorizations" + ], + "operationId": "ExpressRouteCircuitAuthorizations_Delete", + "description": "Deletes the specified authorization from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the authorization." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete ExpressRouteCircuit Authorization": { + "$ref": "./examples/ExpressRouteCircuitAuthorizationDelete.json" + } + } + }, + "get": { + "tags": [ + "ExpressRouteCircuitAuthorizations" + ], + "operationId": "ExpressRouteCircuitAuthorizations_Get", + "description": "Gets the specified authorization from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the authorization." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the ExpressRouteCircuitAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRouteCircuit Authorization": { + "$ref": "./examples/ExpressRouteCircuitAuthorizationGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCircuitAuthorizations" + ], + "operationId": "ExpressRouteCircuitAuthorizations_CreateOrUpdate", + "description": "Creates or updates an authorization in the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the authorization." + }, + { + "name": "authorizationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + }, + "description": "Parameters supplied to the create or update express route circuit authorization operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create ExpressRouteCircuit Authorization": { + "$ref": "./examples/ExpressRouteCircuitAuthorizationCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations": { + "get": { + "tags": [ + "ExpressRouteCircuitAuthorizations" + ], + "operationId": "ExpressRouteCircuitAuthorizations_List", + "description": "Gets all authorizations in an express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCircuitAuthorization resources.", + "schema": { + "$ref": "#/definitions/AuthorizationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuit Authorization": { + "$ref": "./examples/ExpressRouteCircuitAuthorizationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}": { + "delete": { + "tags": [ + "ExpressRouteCircuitPeerings" + ], + "operationId": "ExpressRouteCircuitPeerings_Delete", + "description": "Deletes the specified peering from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete ExpressRouteCircuit Peerings": { + "$ref": "./examples/ExpressRouteCircuitPeeringDelete.json" + } + } + }, + "get": { + "tags": [ + "ExpressRouteCircuitPeerings" + ], + "operationId": "ExpressRouteCircuitPeerings_Get", + "description": "Gets the specified peering for the express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRouteCircuit Peering": { + "$ref": "./examples/ExpressRouteCircuitPeeringGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCircuitPeerings" + ], + "operationId": "ExpressRouteCircuitPeerings_CreateOrUpdate", + "description": "Creates or updates a peering in the specified express route circuits.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "peeringParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + }, + "description": "Parameters supplied to the create or update express route circuit peering operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create ExpressRouteCircuit Peerings": { + "$ref": "./examples/ExpressRouteCircuitPeeringCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings": { + "get": { + "tags": [ + "ExpressRouteCircuitPeerings" + ], + "operationId": "ExpressRouteCircuitPeerings_List", + "description": "Gets all peerings in a specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCircuitPeering resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuit Peerings": { + "$ref": "./examples/ExpressRouteCircuitPeeringList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}": { + "delete": { + "tags": [ + "ExpressRouteCircuitConnections" + ], + "operationId": "ExpressRouteCircuitConnections_Delete", + "description": "Deletes the specified Express Route Circuit Connection from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete ExpressRouteCircuit": { + "$ref": "./examples/ExpressRouteCircuitConnectionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "ExpressRouteCircuitConnections" + ], + "operationId": "ExpressRouteCircuitConnections_Get", + "description": "Gets the specified Express Route Circuit Connection from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Express Route Circuit Connection resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCircuitConnectionGet": { + "$ref": "./examples/ExpressRouteCircuitConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCircuitConnections" + ], + "operationId": "ExpressRouteCircuitConnections_CreateOrUpdate", + "description": "Creates or updates a Express Route Circuit Connection in the specified express route circuits.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit connection." + }, + { + "name": "expressRouteCircuitConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + }, + "description": "Parameters supplied to the create or update express route circuit connection operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCircuitConnectionCreate": { + "$ref": "./examples/ExpressRouteCircuitConnectionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections": { + "get": { + "tags": [ + "ExpressRouteCircuitConnections" + ], + "operationId": "ExpressRouteCircuitConnections_List", + "description": "Gets all global reach connections associated with a private peering in an express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCircuitConnections resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuit Connection": { + "$ref": "./examples/ExpressRouteCircuitConnectionList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections/{connectionName}": { + "get": { + "tags": [ + "PeerExpressRouteCircuitConnections" + ], + "operationId": "PeerExpressRouteCircuitConnections_Get", + "description": "Gets the specified Peer Express Route Circuit Connection from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peer express route circuit connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Peer Express Route Circuit Connection resource.", + "schema": { + "$ref": "#/definitions/PeerExpressRouteCircuitConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PeerExpressRouteCircuitConnectionGet": { + "$ref": "./examples/PeerExpressRouteCircuitConnectionGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections": { + "get": { + "tags": [ + "PeerExpressRouteCircuitConnections" + ], + "operationId": "PeerExpressRouteCircuitConnections_List", + "description": "Gets all global reach peer connections associated with a private peering in an express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PeerExpressRouteCircuitConnections resources.", + "schema": { + "$ref": "#/definitions/PeerExpressRouteCircuitConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Peer ExpressRouteCircuit Connection": { + "$ref": "./examples/PeerExpressRouteCircuitConnectionList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}": { + "delete": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_Delete", + "description": "Deletes the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted. Sets 'Disabling' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete ExpressRouteCircuit": { + "$ref": "./examples/ExpressRouteCircuitDelete.json" + } + } + }, + "get": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_Get", + "description": "Gets information about the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of express route circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuit resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRouteCircuit": { + "$ref": "./examples/ExpressRouteCircuitGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_CreateOrUpdate", + "description": "Creates or updates an express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + }, + "description": "Parameters supplied to the create or update express route circuit operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCircuit resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuit resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create ExpressRouteCircuit": { + "$ref": "./examples/ExpressRouteCircuitCreate.json" + }, + "Create ExpressRouteCircuit on ExpressRoutePort": { + "$ref": "./examples/ExpressRouteCircuitCreateOnExpressRoutePort.json" + } + } + }, + "patch": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_UpdateTags", + "description": "Updates an express route circuit tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update express route circuit tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuit resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Express Route Circuit Tags": { + "$ref": "./examples/ExpressRouteCircuitUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCircuitArpTable" + ], + "operationId": "ExpressRouteCircuits_ListArpTable", + "description": "Gets the currently advertised ARP table associated with the express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsArpTable resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitsArpTableListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "List ARP Table": { + "$ref": "./examples/ExpressRouteCircuitARPTableList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCircuitRoutesTable" + ], + "operationId": "ExpressRouteCircuits_ListRoutesTable", + "description": "Gets the currently advertised routes table associated with the express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsRouteTable resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitsRoutesTableListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "List Route Tables": { + "$ref": "./examples/ExpressRouteCircuitRouteTableList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCircuitRoutesTableSummary" + ], + "operationId": "ExpressRouteCircuits_ListRoutesTableSummary", + "description": "Gets the currently advertised routes table summary associated with the express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsRoutesTableSummary resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitsRoutesTableSummaryListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "List Route Table Summary": { + "$ref": "./examples/ExpressRouteCircuitRouteTableSummaryList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats": { + "get": { + "tags": [ + "ExpressRouteCircuitStats" + ], + "operationId": "ExpressRouteCircuits_GetStats", + "description": "Gets all the stats from an express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitStats" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRoute Circuit Traffic Stats": { + "$ref": "./examples/ExpressRouteCircuitStats.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats": { + "get": { + "tags": [ + "ExpressRouteCircuitStats" + ], + "operationId": "ExpressRouteCircuits_GetPeeringStats", + "description": "Gets all stats from an express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitStats" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRoute Circuit Peering Traffic Stats": { + "$ref": "./examples/ExpressRouteCircuitPeeringStats.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits": { + "get": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_List", + "description": "Gets all the express route circuits in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuits in a resource group": { + "$ref": "./examples/ExpressRouteCircuitListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits": { + "get": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_ListAll", + "description": "Gets all the express route circuits in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCircuit resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuits in a subscription": { + "$ref": "./examples/ExpressRouteCircuitListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders": { + "get": { + "tags": [ + "ExpressRouteServiceProviders" + ], + "operationId": "ExpressRouteServiceProviders_List", + "description": "Gets all the available express route service providers.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteServiceProvider resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteServiceProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRoute providers": { + "$ref": "./examples/ExpressRouteProviderList.json" + } + } + } + } + }, + "definitions": { + "AuthorizationPropertiesFormat": { + "properties": { + "authorizationKey": { + "type": "string", + "description": "The authorization key." + }, + "authorizationUseStatus": { + "type": "string", + "description": "The authorization use status.", + "enum": [ + "Available", + "InUse" + ], + "x-ms-enum": { + "name": "AuthorizationUseStatus", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the authorization resource." + } + }, + "description": "Properties of ExpressRouteCircuitAuthorization." + }, + "ExpressRouteCircuitAuthorization": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AuthorizationPropertiesFormat", + "description": "Properties of the express route circuit authorization." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Authorization in an ExpressRouteCircuit resource." + }, + "AuthorizationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + }, + "description": "The authorizations in an ExpressRoute Circuit." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit." + }, + "ExpressRouteCircuitPeeringConfig": { + "properties": { + "advertisedPublicPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The reference to AdvertisedPublicPrefixes." + }, + "advertisedCommunities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The communities of bgp peering. Specified for microsoft peering." + }, + "advertisedPublicPrefixesState": { + "readOnly": true, + "type": "string", + "description": "The advertised public prefix state of the Peering resource.", + "enum": [ + "NotConfigured", + "Configuring", + "Configured", + "ValidationNeeded" + ], + "x-ms-enum": { + "name": "ExpressRouteCircuitPeeringAdvertisedPublicPrefixState", + "modelAsString": true + } + }, + "legacyMode": { + "type": "integer", + "format": "int32", + "description": "The legacy mode of the peering." + }, + "customerASN": { + "type": "integer", + "format": "int32", + "description": "The CustomerASN of the peering." + }, + "routingRegistryName": { + "type": "string", + "description": "The RoutingRegistryName of the configuration." + } + }, + "description": "Specifies the peering configuration." + }, + "Ipv6ExpressRouteCircuitPeeringConfig": { + "properties": { + "primaryPeerAddressPrefix": { + "type": "string", + "description": "The primary address prefix." + }, + "secondaryPeerAddressPrefix": { + "type": "string", + "description": "The secondary address prefix." + }, + "microsoftPeeringConfig": { + "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig", + "description": "The Microsoft peering configuration." + }, + "routeFilter": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the RouteFilter resource." + }, + "state": { + "type": "string", + "description": "The state of peering.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ExpressRouteCircuitPeeringState", + "modelAsString": true + } + } + }, + "description": "Contains IPv6 peering config." + }, + "ExpressRouteCircuitStats": { + "properties": { + "primarybytesIn": { + "type": "integer", + "format": "int64", + "description": "The Primary BytesIn of the peering." + }, + "primarybytesOut": { + "type": "integer", + "format": "int64", + "description": "The primary BytesOut of the peering." + }, + "secondarybytesIn": { + "type": "integer", + "format": "int64", + "description": "The secondary BytesIn of the peering." + }, + "secondarybytesOut": { + "type": "integer", + "format": "int64", + "description": "The secondary BytesOut of the peering." + } + }, + "description": "Contains stats associated with the peering." + }, + "ExpressRouteCircuitPeeringPropertiesFormat": { + "properties": { + "peeringType": { + "$ref": "#/definitions/ExpressRoutePeeringType", + "description": "The peering type." + }, + "state": { + "$ref": "#/definitions/ExpressRoutePeeringState", + "description": "The peering state." + }, + "azureASN": { + "type": "integer", + "format": "int32", + "description": "The Azure ASN." + }, + "peerASN": { + "type": "integer", + "format": "int64", + "minimum": 1, + "maximum": 4294967295, + "description": "The peer ASN." + }, + "primaryPeerAddressPrefix": { + "type": "string", + "description": "The primary address prefix." + }, + "secondaryPeerAddressPrefix": { + "type": "string", + "description": "The secondary address prefix." + }, + "primaryAzurePort": { + "type": "string", + "description": "The primary port." + }, + "secondaryAzurePort": { + "type": "string", + "description": "The secondary port." + }, + "sharedKey": { + "type": "string", + "description": "The shared key." + }, + "vlanId": { + "type": "integer", + "format": "int32", + "description": "The VLAN ID." + }, + "microsoftPeeringConfig": { + "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig", + "description": "The Microsoft peering configuration." + }, + "stats": { + "$ref": "#/definitions/ExpressRouteCircuitStats", + "description": "The peering stats of express route circuit." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route circuit peering resource." + }, + "gatewayManagerEtag": { + "type": "string", + "description": "The GatewayManager Etag." + }, + "lastModifiedBy": { + "readOnly": true, + "type": "string", + "description": "Who was the last to modify the peering." + }, + "routeFilter": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the RouteFilter resource." + }, + "ipv6PeeringConfig": { + "$ref": "#/definitions/Ipv6ExpressRouteCircuitPeeringConfig", + "description": "The IPv6 peering configuration." + }, + "expressRouteConnection": { + "$ref": "./virtualWan.json#/definitions/ExpressRouteConnectionId", + "description": "The ExpressRoute connection." + }, + "connections": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + }, + "description": "The list of circuit connections associated with Azure Private Peering for this circuit." + }, + "peeredConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PeerExpressRouteCircuitConnection" + }, + "readOnly": true, + "description": "The list of peered circuit connections associated with Azure Private Peering for this circuit." + } + }, + "description": "Properties of the express route circuit peering." + }, + "ExpressRouteCircuitPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCircuitPeeringPropertiesFormat", + "description": "Properties of the express route circuit peering." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Peering in an ExpressRouteCircuit resource." + }, + "ExpressRouteCircuitPeeringListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + }, + "description": "The peerings in an express route circuit." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit." + }, + "ExpressRoutePeeringType": { + "type": "string", + "description": "The peering type.", + "enum": [ + "AzurePublicPeering", + "AzurePrivatePeering", + "MicrosoftPeering" + ], + "x-ms-enum": { + "name": "ExpressRoutePeeringType", + "modelAsString": true + } + }, + "ExpressRoutePeeringState": { + "type": "string", + "description": "The state of peering.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ExpressRoutePeeringState", + "modelAsString": true + } + }, + "Ipv6CircuitConnectionConfig": { + "description": "IPv6 Circuit Connection properties for global reach.", + "properties": { + "addressPrefix": { + "type": "string", + "description": "/125 IP address space to carve out customer addresses for global reach." + }, + "circuitConnectionStatus": { + "readOnly": true, + "$ref": "#/definitions/CircuitConnectionStatus", + "description": "Express Route Circuit connection state." + } + } + }, + "ExpressRouteCircuitConnectionPropertiesFormat": { + "properties": { + "expressRouteCircuitPeering": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection." + }, + "peerExpressRouteCircuitPeering": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to Express Route Circuit Private Peering Resource of the peered circuit." + }, + "addressPrefix": { + "type": "string", + "description": "/29 IP address space to carve out Customer addresses for tunnels." + }, + "authorizationKey": { + "type": "string", + "description": "The authorization key." + }, + "ipv6CircuitConnectionConfig": { + "$ref": "#/definitions/Ipv6CircuitConnectionConfig", + "description": "IPv6 Address PrefixProperties of the express route circuit connection." + }, + "circuitConnectionStatus": { + "$ref": "#/definitions/CircuitConnectionStatus", + "description": "Express Route Circuit connection state." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route circuit connection resource." + } + }, + "description": "Properties of the express route circuit connection." + }, + "ExpressRouteCircuitConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCircuitConnectionPropertiesFormat", + "description": "Properties of the express route circuit connection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Express Route Circuit Connection in an ExpressRouteCircuitPeering resource." + }, + "ExpressRouteCircuitConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + }, + "description": "The global reach connection associated with Private Peering in an ExpressRoute Circuit." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListConnections API service call retrieves all global reach connections that belongs to a Private Peering for an ExpressRouteCircuit." + }, + "PeerExpressRouteCircuitConnectionPropertiesFormat": { + "properties": { + "expressRouteCircuitPeering": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to Express Route Circuit Private Peering Resource of the circuit." + }, + "peerExpressRouteCircuitPeering": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to Express Route Circuit Private Peering Resource of the peered circuit." + }, + "addressPrefix": { + "type": "string", + "description": "/29 IP address space to carve out Customer addresses for tunnels." + }, + "circuitConnectionStatus": { + "$ref": "#/definitions/CircuitConnectionStatus", + "description": "Express Route Circuit connection state." + }, + "connectionName": { + "type": "string", + "description": "The name of the express route circuit connection resource." + }, + "authResourceGuid": { + "type": "string", + "description": "The resource guid of the authorization used for the express route circuit connection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the peer express route circuit connection resource." + } + }, + "description": "Properties of the peer express route circuit connection." + }, + "PeerExpressRouteCircuitConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PeerExpressRouteCircuitConnectionPropertiesFormat", + "description": "Properties of the peer express route circuit connection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource." + }, + "PeerExpressRouteCircuitConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PeerExpressRouteCircuitConnection" + }, + "description": "The global reach peer circuit connection associated with Private Peering in an ExpressRoute Circuit." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPeeredConnections API service call retrieves all global reach peer circuit connections that belongs to a Private Peering for an ExpressRouteCircuit." + }, + "ExpressRouteCircuitSku": { + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU." + }, + "tier": { + "type": "string", + "description": "The tier of the SKU.", + "enum": [ + "Standard", + "Premium", + "Basic", + "Local" + ], + "x-ms-enum": { + "name": "ExpressRouteCircuitSkuTier", + "modelAsString": true + } + }, + "family": { + "type": "string", + "description": "The family of the SKU.", + "enum": [ + "UnlimitedData", + "MeteredData" + ], + "x-ms-enum": { + "name": "ExpressRouteCircuitSkuFamily", + "modelAsString": true + } + } + }, + "description": "Contains SKU in an ExpressRouteCircuit." + }, + "ExpressRouteCircuitServiceProviderProperties": { + "properties": { + "serviceProviderName": { + "type": "string", + "description": "The serviceProviderName." + }, + "peeringLocation": { + "type": "string", + "description": "The peering location." + }, + "bandwidthInMbps": { + "type": "integer", + "format": "int32", + "description": "The BandwidthInMbps." + } + }, + "description": "Contains ServiceProviderProperties in an ExpressRouteCircuit." + }, + "ExpressRouteCircuitPropertiesFormat": { + "properties": { + "allowClassicOperations": { + "type": "boolean", + "description": "Allow classic operations." + }, + "circuitProvisioningState": { + "type": "string", + "description": "The CircuitProvisioningState state of the resource." + }, + "serviceProviderProvisioningState": { + "$ref": "#/definitions/ServiceProviderProvisioningState", + "description": "The ServiceProviderProvisioningState state of the resource." + }, + "authorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + }, + "description": "The list of authorizations." + }, + "peerings": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + }, + "description": "The list of peerings." + }, + "serviceKey": { + "type": "string", + "description": "The ServiceKey." + }, + "serviceProviderNotes": { + "type": "string", + "description": "The ServiceProviderNotes." + }, + "serviceProviderProperties": { + "$ref": "#/definitions/ExpressRouteCircuitServiceProviderProperties", + "description": "The ServiceProviderProperties." + }, + "expressRoutePort": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource." + }, + "bandwidthInGbps": { + "type": "number", + "description": "The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource." + }, + "stag": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The identifier of the circuit traffic. Outer tag for QinQ encapsulation." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route circuit resource." + }, + "gatewayManagerEtag": { + "type": "string", + "description": "The GatewayManager Etag." + }, + "globalReachEnabled": { + "type": "boolean", + "description": "Flag denoting global reach status." + }, + "authorizationKey": { + "type": "string", + "description": "The authorizationKey." + }, + "authorizationStatus": { + "readOnly": true, + "type": "string", + "description": "The authorization status of the Circuit." + } + }, + "description": "Properties of ExpressRouteCircuit." + }, + "ExpressRouteCircuit": { + "properties": { + "sku": { + "$ref": "#/definitions/ExpressRouteCircuitSku", + "description": "The SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCircuitPropertiesFormat", + "description": "Properties of the express route circuit." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "ExpressRouteCircuit resource." + }, + "ExpressRouteCircuitArpTable": { + "properties": { + "age": { + "type": "integer", + "format": "int32", + "description": "Entry age in minutes." + }, + "interface": { + "type": "string", + "description": "Interface address." + }, + "ipAddress": { + "type": "string", + "description": "The IP address." + }, + "macAddress": { + "type": "string", + "description": "The MAC address." + } + }, + "description": "The ARP table associated with the ExpressRouteCircuit." + }, + "ExpressRouteCircuitsArpTableListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitArpTable" + }, + "description": "A list of the ARP tables." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListArpTable associated with the Express Route Circuits API." + }, + "ExpressRouteCircuitRoutesTable": { + "properties": { + "network": { + "type": "string", + "description": "IP address of a network entity." + }, + "nextHop": { + "type": "string", + "description": "NextHop address." + }, + "locPrf": { + "type": "string", + "description": "Local preference value as set with the set local-preference route-map configuration command." + }, + "weight": { + "type": "integer", + "format": "int32", + "description": "Route Weight." + }, + "path": { + "type": "string", + "description": "Autonomous system paths to the destination network." + } + }, + "description": "The routes table associated with the ExpressRouteCircuit." + }, + "ExpressRouteCircuitsRoutesTableListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitRoutesTable" + }, + "description": "The list of routes table." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListRoutesTable associated with the Express Route Circuits API." + }, + "ExpressRouteCircuitRoutesTableSummary": { + "properties": { + "neighbor": { + "type": "string", + "description": "IP address of the neighbor." + }, + "v": { + "type": "integer", + "format": "int32", + "description": "BGP version number spoken to the neighbor." + }, + "as": { + "type": "integer", + "format": "int32", + "description": "Autonomous system number." + }, + "upDown": { + "type": "string", + "description": "The length of time that the BGP session has been in the Established state, or the current status if not in the Established state." + }, + "statePfxRcd": { + "type": "string", + "description": "Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group." + } + }, + "description": "The routes table associated with the ExpressRouteCircuit." + }, + "ExpressRouteCircuitsRoutesTableSummaryListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitRoutesTableSummary" + }, + "description": "A list of the routes table." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListRoutesTable associated with the Express Route Circuits API." + }, + "ExpressRouteCircuitListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuit" + }, + "description": "A list of ExpressRouteCircuits in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListExpressRouteCircuit API service call." + }, + "ExpressRouteServiceProviderBandwidthsOffered": { + "properties": { + "offerName": { + "type": "string", + "description": "The OfferName." + }, + "valueInMbps": { + "type": "integer", + "format": "int32", + "description": "The ValueInMbps." + } + }, + "description": "Contains bandwidths offered in ExpressRouteServiceProvider resources." + }, + "ExpressRouteServiceProviderPropertiesFormat": { + "properties": { + "peeringLocations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of peering locations." + }, + "bandwidthsOffered": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteServiceProviderBandwidthsOffered" + }, + "description": "A list of bandwidths offered." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route service provider resource." + } + }, + "description": "Properties of ExpressRouteServiceProvider." + }, + "ExpressRouteServiceProvider": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteServiceProviderPropertiesFormat", + "description": "Properties of the express route service provider." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "A ExpressRouteResourceProvider object." + }, + "ExpressRouteServiceProviderListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteServiceProvider" + }, + "description": "A list of ExpressRouteResourceProvider resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListExpressRouteServiceProvider API service call." + }, + "CircuitConnectionStatus": { + "type": "string", + "readOnly": true, + "description": "Express Route Circuit connection state.", + "enum": [ + "Connected", + "Connecting", + "Disconnected" + ], + "x-ms-enum": { + "name": "CircuitConnectionStatus", + "modelAsString": true + } + }, + "ServiceProviderProvisioningState": { + "type": "string", + "description": "The ServiceProviderProvisioningState state of the resource.", + "enum": [ + "NotProvisioned", + "Provisioning", + "Provisioned", + "Deprovisioning" + ], + "x-ms-enum": { + "name": "ServiceProviderProvisioningState", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/expressRouteCrossConnection.json new file mode 100644 index 000000000000..28dc9ab0a632 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/expressRouteCrossConnection.json @@ -0,0 +1,1008 @@ +{ + "swagger": "2.0", + "info": { + "title": "ExpressRouteCrossConnection REST APIs", + "description": "The Microsoft Azure ExpressRouteCrossConnection Resource Provider REST APIs describes the operations for the connectivity provider to provision ExpressRoute circuit, create and modify BGP peering entities and troubleshoot connectivity on customer's ExpressRoute circuit.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections": { + "get": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_List", + "description": "Retrieves all the ExpressRouteCrossConnections in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCrossConnectionList": { + "$ref": "./examples/ExpressRouteCrossConnectionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections": { + "get": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_ListByResourceGroup", + "description": "Retrieves all the ExpressRouteCrossConnections in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCrossConnectionListByResourceGroup": { + "$ref": "./examples/ExpressRouteCrossConnectionListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}": { + "get": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_Get", + "description": "Gets details about the specified ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group (peering location of the circuit)." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection (service key of the circuit)." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnection resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetExpressRouteCrossConnection": { + "$ref": "./examples/ExpressRouteCrossConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_CreateOrUpdate", + "description": "Update the specified ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + }, + "description": "Parameters supplied to the update express route crossConnection operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnection resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateExpressRouteCrossConnection": { + "$ref": "./examples/ExpressRouteCrossConnectionUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_UpdateTags", + "description": "Updates an express route cross connection tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cross connection." + }, + { + "name": "crossConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update express route cross connection tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnection resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateExpressRouteCrossConnectionTags": { + "$ref": "./examples/ExpressRouteCrossConnectionUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings": { + "get": { + "tags": [ + "ExpressRouteCrossConnectionPeerings" + ], + "operationId": "ExpressRouteCrossConnectionPeerings_List", + "description": "Gets all peerings in a specified ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCrossConnectionPeering resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCrossConnectionBgpPeeringList": { + "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}": { + "delete": { + "tags": [ + "ExpressRouteCrossConnectionPeerings" + ], + "operationId": "ExpressRouteCrossConnectionPeerings_Delete", + "description": "Deletes the specified peering from the ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteExpressRouteCrossConnectionBgpPeering": { + "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "ExpressRouteCrossConnectionPeerings" + ], + "operationId": "ExpressRouteCrossConnectionPeerings_Get", + "description": "Gets the specified peering for the ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetExpressRouteCrossConnectionBgpPeering": { + "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCrossConnectionPeerings" + ], + "operationId": "ExpressRouteCrossConnectionPeerings_CreateOrUpdate", + "description": "Creates or updates a peering in the specified ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "peeringParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + }, + "description": "Parameters supplied to the create or update ExpressRouteCrossConnection peering operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCrossConnectionBgpPeeringCreate": { + "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCrossConnectionArpTable" + ], + "operationId": "ExpressRouteCrossConnections_ListArpTable", + "description": "Gets the currently advertised ARP table associated with the express route cross connection in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsArpTable resource.", + "schema": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitsArpTableListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetExpressRouteCrossConnectionsArpTable": { + "$ref": "./examples/ExpressRouteCrossConnectionsArpTable.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCrossConnectionRouteTableSummary" + ], + "operationId": "ExpressRouteCrossConnections_ListRoutesTableSummary", + "description": "Gets the route table summary associated with the express route cross connection in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsRouteTableSummary resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionsRoutesTableSummaryListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetExpressRouteCrossConnectionsRouteTableSummary": { + "$ref": "./examples/ExpressRouteCrossConnectionsRouteTableSummary.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCrossConnectionRouteTable" + ], + "operationId": "ExpressRouteCrossConnections_ListRoutesTable", + "description": "Gets the currently advertised routes table associated with the express route cross connection in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsRouteTable resource.", + "schema": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitsRoutesTableListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetExpressRouteCrossConnectionsRouteTable": { + "$ref": "./examples/ExpressRouteCrossConnectionsRouteTable.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "ExpressRouteCrossConnectionRoutesTableSummary": { + "properties": { + "neighbor": { + "type": "string", + "description": "IP address of Neighbor router." + }, + "asn": { + "type": "integer", + "format": "int32", + "description": "Autonomous system number." + }, + "upDown": { + "type": "string", + "description": "The length of time that the BGP session has been in the Established state, or the current status if not in the Established state." + }, + "stateOrPrefixesReceived": { + "type": "string", + "description": "Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group." + } + }, + "description": "The routes table associated with the ExpressRouteCircuit." + }, + "ExpressRouteCrossConnectionsRoutesTableSummaryListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnectionRoutesTableSummary" + }, + "description": "A list of the routes table." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListRoutesTable associated with the Express Route Cross Connections." + }, + "ExpressRouteCircuitReference": { + "properties": { + "id": { + "type": "string", + "description": "Corresponding Express Route Circuit Id." + } + }, + "description": "Reference to an express route circuit." + }, + "ExpressRouteCrossConnectionProperties": { + "properties": { + "primaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The name of the primary port." + }, + "secondaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The name of the secondary port." + }, + "sTag": { + "readOnly": true, + "type": "integer", + "description": "The identifier of the circuit traffic." + }, + "peeringLocation": { + "readOnly": true, + "type": "string", + "description": "The peering location of the ExpressRoute circuit." + }, + "bandwidthInMbps": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The circuit bandwidth In Mbps." + }, + "expressRouteCircuit": { + "$ref": "#/definitions/ExpressRouteCircuitReference", + "description": "The ExpressRouteCircuit." + }, + "serviceProviderProvisioningState": { + "$ref": "./expressRouteCircuit.json#/definitions/ServiceProviderProvisioningState", + "description": "The provisioning state of the circuit in the connectivity provider system." + }, + "serviceProviderNotes": { + "type": "string", + "description": "Additional read only notes set by the connectivity provider." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route cross connection resource." + }, + "peerings": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + }, + "description": "The list of peerings." + } + }, + "description": "Properties of ExpressRouteCrossConnection." + }, + "ExpressRouteCrossConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCrossConnectionProperties", + "description": "Properties of the express route cross connection." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "ExpressRouteCrossConnection resource." + }, + "ExpressRouteCrossConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + }, + "description": "A list of ExpressRouteCrossConnection resources." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListExpressRouteCrossConnection API service call." + }, + "ExpressRouteCrossConnectionPeeringProperties": { + "properties": { + "peeringType": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRoutePeeringType", + "description": "The peering type." + }, + "state": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRoutePeeringState", + "description": "The peering state." + }, + "azureASN": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The Azure ASN." + }, + "peerASN": { + "type": "integer", + "format": "int64", + "minimum": 1, + "maximum": 4294967295, + "description": "The peer ASN." + }, + "primaryPeerAddressPrefix": { + "type": "string", + "description": "The primary address prefix." + }, + "secondaryPeerAddressPrefix": { + "type": "string", + "description": "The secondary address prefix." + }, + "primaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The primary port." + }, + "secondaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The secondary port." + }, + "sharedKey": { + "type": "string", + "description": "The shared key." + }, + "vlanId": { + "type": "integer", + "format": "int32", + "description": "The VLAN ID." + }, + "microsoftPeeringConfig": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeeringConfig", + "description": "The Microsoft peering configuration." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route cross connection peering resource." + }, + "gatewayManagerEtag": { + "type": "string", + "description": "The GatewayManager Etag." + }, + "lastModifiedBy": { + "readOnly": true, + "type": "string", + "description": "Who was the last to modify the peering." + }, + "ipv6PeeringConfig": { + "$ref": "./expressRouteCircuit.json#/definitions/Ipv6ExpressRouteCircuitPeeringConfig", + "description": "The IPv6 peering configuration." + } + }, + "description": "Properties of express route cross connection peering." + }, + "ExpressRouteCrossConnectionPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringProperties", + "description": "Properties of the express route cross connection peering." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Peering in an ExpressRoute Cross Connection resource." + }, + "ExpressRouteCrossConnectionPeeringList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + }, + "description": "The peerings in an express route cross connection." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCrossConnection." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/expressRoutePort.json new file mode 100644 index 000000000000..e71c33d83139 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/expressRoutePort.json @@ -0,0 +1,1310 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations": { + "get": { + "tags": [ + "ExpressRoutePortsLocations" + ], + "operationId": "ExpressRoutePortsLocations_List", + "description": "Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. Available bandwidths can only be obtained when retrieving a specific peering location.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the list of all ExpressRoutePort peering locations.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortsLocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ExpressRoutePortsLocationList": { + "$ref": "./examples/ExpressRoutePortsLocationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations/{locationName}": { + "get": { + "tags": [ + "ExpressRoutePortsLocations" + ], + "operationId": "ExpressRoutePortsLocations_Get", + "description": "Retrieves a single ExpressRoutePort peering location, including the list of available bandwidths available at said peering location.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the requested ExpressRoutePort peering location." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested ExpressRoutePort peering location.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortsLocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRoutePortsLocationGet": { + "$ref": "./examples/ExpressRoutePortsLocationGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}": { + "delete": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_Delete", + "description": "Deletes the specified ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ExpressRoutePortDelete": { + "$ref": "./examples/ExpressRoutePortDelete.json" + } + } + }, + "get": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_Get", + "description": "Retrieves the requested ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of ExpressRoutePort." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested ExpressRoutePort resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRoutePortGet": { + "$ref": "./examples/ExpressRoutePortGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_CreateOrUpdate", + "description": "Creates or updates the specified ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + }, + "description": "Parameters supplied to the create ExpressRoutePort operation." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRoutePort resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRoutePort resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ExpressRoutePortCreate": { + "$ref": "./examples/ExpressRoutePortCreate.json" + }, + "ExpressRoutePortUpdateLink": { + "$ref": "./examples/ExpressRoutePortUpdateLink.json" + } + } + }, + "patch": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_UpdateTags", + "description": "Update ExpressRoutePort tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update ExpressRoutePort resource tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRoutePort resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePort" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRoutePortUpdateTags": { + "$ref": "./examples/ExpressRoutePortUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts": { + "get": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_ListByResourceGroup", + "description": "List all the ExpressRoutePort resources in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRoutePort resources. If there are no ExpressRoutePort resources then an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ExpressRoutePortListByResourceGroup": { + "$ref": "./examples/ExpressRoutePortListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts": { + "get": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_List", + "description": "List all the ExpressRoutePort resources in the specified subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRoutePort resources. If there are no ExpressRoutePort resources then an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ExpressRoutePortList": { + "$ref": "./examples/ExpressRoutePortList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}": { + "get": { + "tags": [ + "ExpressRouteLinks" + ], + "operationId": "ExpressRouteLinks_Get", + "description": "Retrieves the specified ExpressRouteLink resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + }, + { + "name": "linkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteLink resource." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested ExpressRouteLink resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteLink" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteLinkGet": { + "$ref": "./examples/ExpressRouteLinkGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links": { + "get": { + "tags": [ + "ExpressRouteLinks" + ], + "operationId": "ExpressRouteLinks_List", + "description": "Retrieve the ExpressRouteLink sub-resources of the specified ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoutePort resource." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteLink resources. If there are no ExpressRouteLink resources then an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRouteLinkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ExpressRouteLinkGet": { + "$ref": "./examples/ExpressRouteLinkList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRoutePorts/{expressRoutePortName}/generateLoa": { + "post": { + "tags": [ + "ExpressRoutePorts" + ], + "operationId": "ExpressRoutePorts_GenerateLOA", + "description": "Generate a letter of authorization for the requested ExpressRoutePort resource.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of ExpressRoutePort." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateExpressRoutePortsLOARequest" + }, + "description": "Request parameters supplied to generate a letter of authorization." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the content as a base64 encoded string.", + "schema": { + "$ref": "#/definitions/GenerateExpressRoutePortsLOAResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GenerateExpressRoutePortLOA": { + "$ref": "./examples/GenerateExpressRoutePortsLOA.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRoutePorts/{expressRoutePortName}/authorizations/{authorizationName}": { + "delete": { + "tags": [ + "ExpressRoutePortAuthorizations" + ], + "operationId": "ExpressRoutePortAuthorizations_Delete", + "description": "Deletes the specified authorization from the specified express route port.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route port." + }, + { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the authorization." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete ExpressRoutePort Authorization": { + "$ref": "./examples/ExpressRoutePortAuthorizationDelete.json" + } + } + }, + "get": { + "tags": [ + "ExpressRoutePortAuthorizations" + ], + "operationId": "ExpressRoutePortAuthorizations_Get", + "description": "Gets the specified authorization from the specified express route port.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route port." + }, + { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the authorization." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the ExpressRoutePortAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortAuthorization" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRoutePort Authorization": { + "$ref": "./examples/ExpressRoutePortAuthorizationGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRoutePortAuthorizations" + ], + "operationId": "ExpressRoutePortAuthorizations_CreateOrUpdate", + "description": "Creates or updates an authorization in the specified express route port.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route port." + }, + { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the authorization." + }, + { + "name": "authorizationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRoutePortAuthorization" + }, + "description": "Parameters supplied to the create or update express route port authorization operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting ExpressRoutePortAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortAuthorization" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting ExpressRoutePortAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortAuthorization" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create ExpressRoutePort Authorization": { + "$ref": "./examples/ExpressRoutePortAuthorizationCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRoutePorts/{expressRoutePortName}/authorizations": { + "get": { + "tags": [ + "ExpressRoutePortAuthorizations" + ], + "operationId": "ExpressRoutePortAuthorizations_List", + "description": "Gets all authorizations in an express route port.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRoutePortName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route port." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRoutePortAuthorization resources.", + "schema": { + "$ref": "#/definitions/ExpressRoutePortAuthorizationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRoutePort Authorization": { + "$ref": "./examples/ExpressRoutePortAuthorizationList.json" + } + } + } + } + }, + "definitions": { + "ExpressRoutePortsLocationBandwidths": { + "title": "ExpressRoutePorts Location Bandwidths", + "description": "Real-time inventory of available ExpressRoute port bandwidths.", + "properties": { + "offerName": { + "type": "string", + "readOnly": true, + "description": "Bandwidth descriptive name." + }, + "valueInGbps": { + "type": "integer", + "readOnly": true, + "description": "Bandwidth value in Gbps." + } + } + }, + "ExpressRoutePortsLocationPropertiesFormat": { + "title": "ExpressRoutePorts Location Properties", + "description": "Properties specific to ExpressRoutePorts peering location resources.", + "properties": { + "address": { + "type": "string", + "readOnly": true, + "description": "Address of peering location." + }, + "contact": { + "type": "string", + "readOnly": true, + "description": "Contact details of peering locations." + }, + "availableBandwidths": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRoutePortsLocationBandwidths" + }, + "description": "The inventory of available ExpressRoutePort bandwidths." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route port location resource." + } + } + }, + "ExpressRoutePortsLocation": { + "title": "ExpressRoutePorts Peering Location", + "description": "Definition of the ExpressRoutePorts peering location resource.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRoutePortsLocationPropertiesFormat", + "description": "ExpressRoutePort peering location properties." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "ExpressRoutePortsLocationListResult": { + "title": "ExpressRoutePorts Location List Result", + "description": "Response for ListExpressRoutePortsLocations API service call.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRoutePortsLocation" + }, + "description": "The list of all ExpressRoutePort peering locations." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + } + }, + "ExpressRouteLinkMacSecConfig": { + "description": "ExpressRouteLink Mac Security Configuration.", + "title": "Definition of ExpressRouteLink Mac Security configuration.", + "properties": { + "cknSecretIdentifier": { + "type": "string", + "description": "Keyvault Secret Identifier URL containing Mac security CKN key." + }, + "cakSecretIdentifier": { + "type": "string", + "description": "Keyvault Secret Identifier URL containing Mac security CAK key." + }, + "cipher": { + "type": "string", + "description": "Mac security cipher.", + "enum": [ + "GcmAes256", + "GcmAes128", + "GcmAesXpn128", + "GcmAesXpn256" + ], + "x-ms-enum": { + "name": "ExpressRouteLinkMacSecCipher", + "modelAsString": true + } + }, + "sciState": { + "type": "string", + "description": "Sci mode enabled/disabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ExpressRouteLinkMacSecSciState", + "modelAsString": true + } + } + } + }, + "ExpressRouteLinkPropertiesFormat": { + "title": "ExpressRouteLink Resource Properties", + "description": "Properties specific to ExpressRouteLink resources.", + "properties": { + "routerName": { + "readOnly": true, + "type": "string", + "description": "Name of Azure router associated with physical port." + }, + "interfaceName": { + "readOnly": true, + "type": "string", + "description": "Name of Azure router interface." + }, + "patchPanelId": { + "readOnly": true, + "type": "string", + "description": "Mapping between physical port to patch panel port." + }, + "rackId": { + "readOnly": true, + "type": "string", + "description": "Mapping of physical patch panel to rack." + }, + "coloLocation": { + "readOnly": true, + "type": "string", + "description": "Cololocation for ExpressRoute Hybrid Direct." + }, + "connectorType": { + "readOnly": true, + "type": "string", + "description": "Physical fiber port type.", + "enum": [ + "LC", + "SC" + ], + "x-ms-enum": { + "name": "ExpressRouteLinkConnectorType", + "modelAsString": true + } + }, + "adminState": { + "type": "string", + "description": "Administrative state of the physical port.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ExpressRouteLinkAdminState", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route link resource." + }, + "macSecConfig": { + "$ref": "#/definitions/ExpressRouteLinkMacSecConfig", + "description": "MacSec configuration." + } + } + }, + "ExpressRouteLink": { + "title": "ExpressRouteLink", + "description": "ExpressRouteLink child resource definition.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteLinkPropertiesFormat", + "description": "ExpressRouteLink properties." + }, + "name": { + "type": "string", + "description": "Name of child port resource that is unique among child port resources of the parent." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ] + }, + "ExpressRouteLinkListResult": { + "title": "ExpressRouteLink List Result", + "description": "Response for ListExpressRouteLinks API service call.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteLink" + }, + "description": "The list of ExpressRouteLink sub-resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + } + }, + "ExpressRoutePortPropertiesFormat": { + "title": "ExpressRoutePort Properties", + "description": "Properties specific to ExpressRoutePort resources.", + "properties": { + "peeringLocation": { + "type": "string", + "description": "The name of the peering location that the ExpressRoutePort is mapped to physically." + }, + "bandwidthInGbps": { + "type": "integer", + "description": "Bandwidth of procured ports in Gbps." + }, + "provisionedBandwidthInGbps": { + "readOnly": true, + "type": "number", + "description": "Aggregate Gbps of associated circuit bandwidths." + }, + "mtu": { + "readOnly": true, + "type": "string", + "description": "Maximum transmission unit of the physical port pair(s)." + }, + "encapsulation": { + "type": "string", + "description": "Encapsulation method on physical ports.", + "enum": [ + "Dot1Q", + "QinQ" + ], + "x-ms-enum": { + "name": "ExpressRoutePortsEncapsulation", + "modelAsString": true + } + }, + "etherType": { + "readOnly": true, + "type": "string", + "description": "Ether type of the physical port." + }, + "allocationDate": { + "readOnly": true, + "type": "string", + "description": "Date of the physical port allocation to be used in Letter of Authorization." + }, + "links": { + "title": "ExpressRouteLink Sub-Resources", + "description": "The set of physical links of the ExpressRoutePort resource.", + "readOnly": false, + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteLink" + } + }, + "circuits": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route port resource." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the express route port resource." + }, + "billingType": { + "type": "string", + "description": "The billing type of the ExpressRoutePort resource.", + "enum": [ + "MeteredData", + "UnlimitedData" + ], + "x-ms-enum": { + "name": "ExpressRoutePortsBillingType", + "modelAsString": true + } + } + } + }, + "ExpressRoutePort": { + "title": "ExpressRoute Port", + "description": "ExpressRoutePort resource definition.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRoutePortPropertiesFormat", + "description": "ExpressRoutePort properties." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The identity of ExpressRoutePort, if configured." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "ExpressRoutePortListResult": { + "title": "ExpressRoute Port List Result", + "description": "Response for ListExpressRoutePorts API service call.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRoutePort" + }, + "description": "A list of ExpressRoutePort resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + } + }, + "GenerateExpressRoutePortsLOARequest": { + "description": "The customer name to be printed on a letter of authorization.", + "properties": { + "customerName": { + "type": "string", + "description": "The customer name." + } + }, + "required": [ + "customerName" + ] + }, + "GenerateExpressRoutePortsLOAResult": { + "description": "Response for GenerateExpressRoutePortsLOA API service call.", + "properties": { + "encodedContent": { + "type": "string", + "description": "The content as a base64 encoded string." + } + } + }, + "ExpressRoutePortAuthorizationPropertiesFormat": { + "type": "object", + "title": "ExpressRoute Port Authorization Properties", + "description": "Properties of ExpressRoutePort Authorization.", + "properties": { + "authorizationKey": { + "readOnly": true, + "type": "string", + "description": "The authorization key." + }, + "authorizationUseStatus": { + "readOnly": true, + "type": "string", + "description": "The authorization use status.", + "enum": [ + "Available", + "InUse" + ], + "x-ms-enum": { + "name": "ExpressRoutePortAuthorizationUseStatus", + "modelAsString": true + } + }, + "circuitResourceUri": { + "readOnly": true, + "type": "string", + "description": "The reference to the ExpressRoute circuit resource using the authorization." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the authorization resource." + } + } + }, + "ExpressRoutePortAuthorization": { + "type": "object", + "title": "ExpressRoute Port Authorization", + "description": "ExpressRoutePort Authorization resource definition.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRoutePortAuthorizationPropertiesFormat", + "description": "ExpressRoutePort properties." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ] + }, + "ExpressRoutePortAuthorizationListResult": { + "type": "object", + "title": "ExpressRoute Port Authorization List Result", + "description": "Response for ListExpressRoutePortAuthorizations API service call.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRoutePortAuthorization" + }, + "description": "The authorizations in an ExpressRoute Port." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/expressRouteProviderPort.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/expressRouteProviderPort.json new file mode 100644 index 000000000000..801ba2db0b60 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/expressRouteProviderPort.json @@ -0,0 +1,225 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteProviderPorts": { + "get": { + "tags": [ + "ExpressRouteProviderPorts" + ], + "operationId": "ExpressRouteProviderPortsLocation_List", + "description": "Retrieves all the ExpressRouteProviderPorts in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. For example, you can use $filter=location eq '{state}'." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteProviderPort resources at a location. If there are no ports for the provider, an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRouteProviderPortListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteProviderPortList": { + "$ref": "./examples/expressRouteProviderPortList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteProviderPorts/{providerport}": { + "get": { + "tags": [ + "ExpressRouteProviderPorts" + ], + "operationId": "ExpressRouteProviderPort", + "description": "Retrieves detail of a provider port.", + "parameters": [ + { + "name": "providerport", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the provider port." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns detail of individual provider port resources. If there is no port, an empty result is returned.", + "schema": { + "$ref": "#/definitions/ExpressRouteProviderPort" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteProviderPort": { + "$ref": "./examples/expressRouteProviderPort.json" + } + } + } + } + }, + "definitions": { + "ExpressRouteProviderPortProperties": { + "type": "object", + "properties": { + "portPairDescriptor": { + "readOnly": true, + "type": "string", + "description": "The name of the port pair." + }, + "primaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The name of the primary port." + }, + "secondaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The name of the secondary port." + }, + "peeringLocation": { + "type": "string", + "description": "The peering location of the port pair." + }, + "overprovisionFactor": { + "type": "integer", + "format": "int32", + "description": "Overprovisioning factor for the port pair." + }, + "portBandwidthInMbps": { + "type": "integer", + "format": "int32", + "description": "Bandwidth of the port in Mbps" + }, + "usedBandwidthInMbps": { + "type": "integer", + "format": "int32", + "description": "Used Bandwidth of the port in Mbps" + }, + "remainingBandwidthInMbps": { + "type": "integer", + "format": "int32", + "description": "Remaining Bandwidth of the port in Mbps" + } + }, + "description": "Properties of ExpressRouteProviderPort." + }, + "ExpressRouteProviderPort": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteProviderPortProperties", + "description": "Properties of the express route Service Provider Port." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource ID for the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "ExpressRouteProviderPort resource." + }, + "ExpressRouteProviderPortListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteProviderPort" + }, + "description": "A list of ExpressRouteProviderPort resources." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListExpressRouteProviderPort API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/firewallPolicy.json new file mode 100644 index 000000000000..e2a9faf8a54f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/firewallPolicy.json @@ -0,0 +1,2215 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}": { + "delete": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_Delete", + "description": "Deletes the specified Firewall Policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Firewall Policy": { + "$ref": "./examples/FirewallPolicyDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_Get", + "description": "Gets the specified Firewall Policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Firewall Policy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get FirewallPolicy": { + "$ref": "./examples/FirewallPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_CreateOrUpdate", + "description": "Creates or updates the specified Firewall Policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallPolicy" + }, + "description": "Parameters supplied to the create or update Firewall Policy operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting FirewallPolicy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting FirewallPolicy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create FirewallPolicy": { + "$ref": "./examples/FirewallPolicyPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_UpdateTags", + "description": "Updates tags of a Azure Firewall Policy resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update Azure Firewall Policy tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting FirewallPolicy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update FirewallPolicy Tags": { + "$ref": "./examples/FirewallPolicyPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies": { + "get": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_List", + "description": "Lists all Firewall Policies in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of FirewallPolicy resources.", + "schema": { + "$ref": "#/definitions/FirewallPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Firewall Policies for a given resource group": { + "$ref": "./examples/FirewallPolicyListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies": { + "get": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_ListAll", + "description": "Gets all the Firewall Policies in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of FirewallPolicy resources.", + "schema": { + "$ref": "#/definitions/FirewallPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Firewall Policies for a given subscription": { + "$ref": "./examples/FirewallPolicyListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups/{ruleCollectionGroupName}": { + "delete": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_Delete", + "description": "Deletes the specified FirewallPolicyRuleCollectionGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleCollectionGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleCollectionGroup." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete FirewallPolicyRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_Get", + "description": "Gets the specified FirewallPolicyRuleCollectionGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleCollectionGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleCollectionGroup." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a FirewallPolicyRuleCollectionGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get FirewallPolicyRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupGet.json" + }, + "Get FirewallPolicyRuleCollectionGroup With IpGroups": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json" + }, + "Get FirewallPolicyNatRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyNatRuleCollectionGroupGet.json" + }, + "Get FirewallPolicyRuleCollectionGroup With Web Categories": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json" + } + } + }, + "put": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_CreateOrUpdate", + "description": "Creates or updates the specified FirewallPolicyRuleCollectionGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleCollectionGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleCollectionGroup." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + }, + "description": "Parameters supplied to the create or update FirewallPolicyRuleCollectionGroup operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting FirewallPolicyRuleCollectionGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting FirewallPolicyRuleCollectionGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Firewall Policy Rule Collection Group": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupPut.json" + }, + "Create Firewall Policy Rule Collection Group With IP Groups": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json" + }, + "Create Firewall Policy Nat Rule Collection Group": { + "$ref": "./examples/FirewallPolicyNatRuleCollectionGroupPut.json" + }, + "Create Firewall Policy Rule Collection Group With Web Categories": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json" + }, + "Create Firewall Policy Rule Collection Group With http header to insert": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithHttpHeadersToInsert.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups": { + "get": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_List", + "description": "Lists all FirewallPolicyRuleCollectionGroups in a FirewallPolicy resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of FirewallPolicyRuleCollectionGroup resources.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all FirewallPolicyRuleCollectionGroups for a given FirewallPolicy": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupList.json" + }, + "List all FirewallPolicyRuleCollectionGroups with IpGroups for a given FirewallPolicy": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json" + }, + "List all FirewallPolicyRuleCollectionGroup With Web Categories": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/listIdpsSignatures": { + "post": { + "operationId": "FirewallPolicyIdpsSignatures_List", + "description": "Retrieves the current status of IDPS signatures for the relevant policy. Maximal amount of returned signatures is 1000.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IDPSQueryObject" + } + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns an IDPS Query Response", + "schema": { + "$ref": "#/definitions/QueryResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "query signature overrides": { + "$ref": "./examples/FirewallPolicyQuerySignatureOverrides.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/signatureOverrides/default": { + "patch": { + "operationId": "FirewallPolicyIdpsSignaturesOverrides_Patch", + "description": "Will update the status of policy's signature overrides for IDPS", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "description": "Will contain all properties of the object to put", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Will return the policy current signature overrides object", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "patch signature overrides": { + "$ref": "./examples/FirewallPolicySignatureOverridesPatch.json" + } + } + }, + "put": { + "description": "Will override/create a new signature overrides for the policy's IDPS", + "operationId": "FirewallPolicyIdpsSignaturesOverrides_Put", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "description": "Will contain all properties of the object to put", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Describes the new state of the signature overrides after the PUT operation", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "put signature overrides": { + "$ref": "./examples/FirewallPolicySignatureOverridesPut.json" + } + } + }, + "get": { + "description": "Returns all signatures overrides for a specific policy.", + "operationId": "FirewallPolicyIdpsSignaturesOverrides_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Will return the policy current signature overrides object", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "get signature overrides": { + "$ref": "./examples/FirewallPolicySignatureOverridesGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/listIdpsFilterOptions": { + "post": { + "operationId": "FirewallPolicyIdpsSignaturesFilterValues_List", + "description": "Retrieves the current filter values for the signatures overrides", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SignatureOverridesFilterValuesQuery" + } + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all valid filter values for the requested column", + "schema": { + "$ref": "#/definitions/SignatureOverridesFilterValuesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "query signature overrides": { + "$ref": "./examples/FirewallPolicyQuerySignatureOverridesFilterValues.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/signatureOverrides": { + "get": { + "description": "Returns all signatures overrides objects for a specific policy as a list containing a single value.", + "operationId": "FirewallPolicyIdpsSignaturesOverrides_List", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Will return the policy current signature overrides object inside a list", + "schema": { + "$ref": "#/definitions/SignaturesOverridesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "get signature overrides": { + "$ref": "./examples/FirewallPolicySignatureOverridesList.json" + } + } + } + } + }, + "definitions": { + "FirewallPolicy": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FirewallPolicyPropertiesFormat", + "description": "Properties of the firewall policy." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The identity of the firewall policy." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "FirewallPolicy Resource." + }, + "FirewallPolicyPropertiesFormat": { + "type": "object", + "properties": { + "size": { + "type": "string", + "readOnly": true, + "description": "A read-only string that represents the size of the FirewallPolicyPropertiesFormat in MB. (ex 0.5MB)" + }, + "ruleCollectionGroups": { + "type": "array", + "readOnly": true, + "description": "List of references to FirewallPolicyRuleCollectionGroups.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the firewall policy resource." + }, + "basePolicy": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The parent firewall policy from which rules are inherited." + }, + "firewalls": { + "type": "array", + "readOnly": true, + "description": "List of references to Azure Firewalls that this Firewall Policy is associated with.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "childPolicies": { + "type": "array", + "readOnly": true, + "description": "List of references to Child Firewall Policies.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "threatIntelMode": { + "description": "The operation mode for Threat Intelligence.", + "$ref": "./azureFirewall.json#/definitions/AzureFirewallThreatIntelMode" + }, + "threatIntelWhitelist": { + "description": "ThreatIntel Whitelist for Firewall Policy.", + "$ref": "#/definitions/FirewallPolicyThreatIntelWhitelist" + }, + "insights": { + "description": "Insights on Firewall Policy.", + "$ref": "#/definitions/FirewallPolicyInsights" + }, + "snat": { + "description": "The private IP addresses/IP ranges to which traffic will not be SNAT.", + "$ref": "#/definitions/FirewallPolicySNAT" + }, + "sql": { + "description": "SQL Settings definition.", + "$ref": "#/definitions/FirewallPolicySQL" + }, + "dnsSettings": { + "description": "DNS Proxy Settings definition.", + "$ref": "#/definitions/DnsSettings" + }, + "explicitProxy": { + "description": "Explicit Proxy Settings definition.", + "$ref": "#/definitions/ExplicitProxy" + }, + "intrusionDetection": { + "description": "The configuration for Intrusion detection.", + "$ref": "#/definitions/FirewallPolicyIntrusionDetection" + }, + "transportSecurity": { + "description": "TLS Configuration definition.", + "$ref": "#/definitions/FirewallPolicyTransportSecurity" + }, + "sku": { + "description": "The Firewall Policy SKU.", + "$ref": "#/definitions/FirewallPolicySku" + } + }, + "description": "Firewall Policy definition." + }, + "FirewallPolicyRuleCollectionGroup": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroupProperties", + "description": "The properties of the firewall policy rule collection group." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Rule Group type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Rule Collection Group resource." + }, + "FirewallPolicyRuleCollectionGroupProperties": { + "type": "object", + "properties": { + "size": { + "type": "string", + "readOnly": true, + "description": "A read-only string that represents the size of the FirewallPolicyRuleCollectionGroupProperties in MB. (ex 1.2MB)" + }, + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the Firewall Policy Rule Collection Group resource." + }, + "ruleCollections": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleCollection" + }, + "description": "Group of Firewall Policy rule collections.", + "x-ms-identifiers": [] + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the firewall policy rule collection group resource." + } + }, + "description": "Properties of the rule collection group." + }, + "FirewallPolicyRuleCollection": { + "type": "object", + "description": "Properties of the rule collection.", + "discriminator": "ruleCollectionType", + "required": [ + "ruleCollectionType" + ], + "properties": { + "ruleCollectionType": { + "type": "string", + "description": "The type of the rule collection.", + "enum": [ + "FirewallPolicyNatRuleCollection", + "FirewallPolicyFilterRuleCollection" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleCollectionType", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "The name of the rule collection." + }, + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the Firewall Policy Rule Collection resource." + } + } + }, + "FirewallPolicyNatRuleCollection": { + "type": "object", + "properties": { + "action": { + "$ref": "#/definitions/FirewallPolicyNatRuleCollectionAction", + "description": "The action type of a Nat rule collection." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRule" + }, + "description": "List of rules included in a rule collection.", + "x-ms-identifiers": [] + } + }, + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRuleCollection" + } + ], + "x-ms-discriminator-value": "FirewallPolicyNatRuleCollection", + "description": "Firewall Policy NAT Rule Collection." + }, + "FirewallPolicyFilterRuleCollection": { + "type": "object", + "properties": { + "action": { + "$ref": "#/definitions/FirewallPolicyFilterRuleCollectionAction", + "description": "The action type of a Filter rule collection." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRule" + }, + "description": "List of rules included in a rule collection.", + "x-ms-identifiers": [] + } + }, + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRuleCollection" + } + ], + "x-ms-discriminator-value": "FirewallPolicyFilterRuleCollection", + "description": "Firewall Policy Filter Rule Collection." + }, + "FirewallPolicyRule": { + "type": "object", + "description": "Properties of a rule.", + "discriminator": "ruleType", + "required": [ + "ruleType" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the rule." + }, + "description": { + "type": "string", + "description": "Description of the rule." + }, + "ruleType": { + "type": "string", + "description": "Rule Type.", + "enum": [ + "ApplicationRule", + "NetworkRule", + "NatRule" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleType", + "modelAsString": true + } + } + } + }, + "ApplicationRule": { + "type": "object", + "x-ms-discriminator-value": "ApplicationRule", + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRule" + } + ], + "properties": { + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or Service Tags.", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleApplicationProtocol" + }, + "x-ms-identifiers": [], + "description": "Array of Application Protocols." + }, + "targetFqdns": { + "type": "array", + "description": "List of FQDNs for this rule.", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "targetUrls": { + "type": "array", + "description": "List of Urls for this rule condition.", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "fqdnTags": { + "type": "array", + "description": "List of FQDN Tags for this rule.", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "terminateTLS": { + "type": "boolean", + "description": "Terminate TLS connections for this rule." + }, + "webCategories": { + "type": "array", + "description": "List of destination azure web categories.", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "httpHeadersToInsert": { + "type": "array", + "description": "List of HTTP/S headers to insert.", + "items": { + "$ref": "#/definitions/FirewallPolicyHttpHeaderToInsert" + }, + "x-ms-identifiers": [] + } + }, + "description": "Rule of type application." + }, + "NatRule": { + "type": "object", + "description": "Rule of type nat.", + "x-ms-discriminator-value": "NatRule", + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRule" + } + ], + "properties": { + "ipProtocols": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleNetworkProtocol" + }, + "description": "Array of FirewallPolicyRuleNetworkProtocols." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or Service Tags.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports.", + "items": { + "type": "string" + } + }, + "translatedAddress": { + "type": "string", + "description": "The translated address for this NAT rule." + }, + "translatedPort": { + "type": "string", + "description": "The translated port for this NAT rule." + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "translatedFqdn": { + "type": "string", + "description": "The translated FQDN for this NAT rule." + } + } + }, + "NetworkRule": { + "type": "object", + "description": "Rule of type network.", + "x-ms-discriminator-value": "NetworkRule", + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRule" + } + ], + "properties": { + "ipProtocols": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleNetworkProtocol" + }, + "description": "Array of FirewallPolicyRuleNetworkProtocols." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or Service Tags.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports.", + "items": { + "type": "string" + } + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "destinationIpGroups": { + "type": "array", + "description": "List of destination IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "destinationFqdns": { + "type": "array", + "description": "List of destination FQDNs.", + "items": { + "type": "string" + } + } + } + }, + "FirewallPolicyRuleApplicationProtocol": { + "type": "object", + "properties": { + "protocolType": { + "description": "Protocol type.", + "$ref": "#/definitions/FirewallPolicyRuleApplicationProtocolType" + }, + "port": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Port number for the protocol, cannot be greater than 64000." + } + }, + "description": "Properties of the application rule protocol." + }, + "FirewallPolicyRuleApplicationProtocolType": { + "type": "string", + "description": "The application protocol type of a Rule.", + "enum": [ + "Http", + "Https" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleApplicationProtocolType", + "modelAsString": true + } + }, + "FirewallPolicyNatRuleCollectionActionType": { + "type": "string", + "description": "The action type of a rule.", + "enum": [ + "DNAT" + ], + "x-ms-enum": { + "name": "FirewallPolicyNatRuleCollectionActionType", + "modelAsString": true + } + }, + "FirewallPolicyNatRuleCollectionAction": { + "type": "object", + "properties": { + "type": { + "description": "The type of action.", + "$ref": "#/definitions/FirewallPolicyNatRuleCollectionActionType" + } + }, + "description": "Properties of the FirewallPolicyNatRuleCollectionAction." + }, + "FirewallPolicyFilterRuleCollectionActionType": { + "type": "string", + "description": "The action type of a rule.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "FirewallPolicyFilterRuleCollectionActionType", + "modelAsString": true + } + }, + "FirewallPolicyFilterRuleCollectionAction": { + "type": "object", + "properties": { + "type": { + "description": "The type of action.", + "$ref": "#/definitions/FirewallPolicyFilterRuleCollectionActionType" + } + }, + "description": "Properties of the FirewallPolicyFilterRuleCollectionAction." + }, + "FirewallPolicyRuleNetworkProtocol": { + "type": "string", + "description": "The Network protocol of a Rule.", + "enum": [ + "TCP", + "UDP", + "Any", + "ICMP" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleNetworkProtocol", + "modelAsString": true + } + }, + "FirewallPolicyListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicy" + }, + "description": "List of Firewall Policies in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListFirewallPolicies API service call." + }, + "FirewallPolicyRuleCollectionGroupListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + }, + "description": "List of FirewallPolicyRuleCollectionGroups in a FirewallPolicy." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListFirewallPolicyRuleCollectionGroups API service call." + }, + "FirewallPolicyThreatIntelWhitelist": { + "type": "object", + "description": "ThreatIntel Whitelist for Firewall Policy.", + "properties": { + "ipAddresses": { + "type": "array", + "description": "List of IP addresses for the ThreatIntel Whitelist.", + "items": { + "type": "string" + } + }, + "fqdns": { + "type": "array", + "description": "List of FQDNs for the ThreatIntel Whitelist.", + "items": { + "type": "string" + } + } + } + }, + "FirewallPolicyInsights": { + "type": "object", + "description": "Firewall Policy Insights.", + "properties": { + "isEnabled": { + "type": "boolean", + "description": "A flag to indicate if the insights are enabled on the policy." + }, + "retentionDays": { + "type": "integer", + "format": "int32", + "description": "Number of days the insights should be enabled on the policy." + }, + "logAnalyticsResources": { + "description": "Workspaces needed to configure the Firewall Policy Insights.", + "$ref": "#/definitions/FirewallPolicyLogAnalyticsResources" + } + } + }, + "FirewallPolicySNAT": { + "type": "object", + "description": "The private IP addresses/IP ranges to which traffic will not be SNAT.", + "properties": { + "privateRanges": { + "type": "array", + "description": "List of private IP addresses/IP address ranges to not be SNAT.", + "items": { + "type": "string" + } + }, + "autoLearnPrivateRanges": { + "type": "string", + "description": "The operation mode for automatically learning private ranges to not be SNAT", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "AutoLearnPrivateRangesMode", + "modelAsString": true + } + } + } + }, + "FirewallPolicySQL": { + "type": "object", + "description": "SQL Settings in Firewall Policy.", + "properties": { + "allowSqlRedirect": { + "type": "boolean", + "description": "A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule using port 11000-11999." + } + } + }, + "DnsSettings": { + "type": "object", + "description": "DNS Proxy Settings in Firewall Policy.", + "properties": { + "servers": { + "type": "array", + "description": "List of Custom DNS Servers.", + "items": { + "type": "string" + } + }, + "enableProxy": { + "type": "boolean", + "description": "Enable DNS Proxy on Firewalls attached to the Firewall Policy." + }, + "requireProxyForNetworkRules": { + "type": "boolean", + "description": "FQDNs in Network Rules are supported when set to true.", + "x-nullable": true + } + } + }, + "ExplicitProxy": { + "description": "Explicit Proxy Settings in Firewall Policy.", + "type": "object", + "properties": { + "enableExplicitProxy": { + "type": "boolean", + "description": "When set to true, explicit proxy mode is enabled.", + "x-nullable": true + }, + "httpPort": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Port number for explicit proxy http protocol, cannot be greater than 64000." + }, + "httpsPort": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Port number for explicit proxy https protocol, cannot be greater than 64000." + }, + "enablePacFile": { + "type": "boolean", + "description": "When set to true, pac file port and url needs to be provided.", + "x-nullable": true + }, + "pacFilePort": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Port number for firewall to serve PAC file." + }, + "pacFile": { + "type": "string", + "description": "SAS URL for PAC file." + } + } + }, + "FirewallPolicyIntrusionDetection": { + "type": "object", + "description": "Configuration for intrusion detection mode and rules.", + "properties": { + "mode": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionStateOptions", + "description": "Intrusion detection general state. When attached to a parent policy, the firewall's effective IDPS mode is the stricter mode of the two." + }, + "profile": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionProfileOptions", + "description": "IDPS profile name. When attached to a parent policy, the firewall's effective profile is the profile name of the parent policy." + }, + "configuration": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionConfiguration", + "description": "Intrusion detection configuration properties." + } + } + }, + "FirewallPolicyIntrusionDetectionStateOptions": { + "type": "string", + "description": "Possible state values.", + "enum": [ + "Off", + "Alert", + "Deny" + ], + "x-ms-enum": { + "name": "FirewallPolicyIntrusionDetectionStateType", + "modelAsString": true + } + }, + "FirewallPolicyIntrusionDetectionProfileOptions": { + "type": "string", + "description": "Possible Intrusion Detection profile values.", + "enum": [ + "Basic", + "Standard", + "Advanced", + "Extended" + ], + "x-ms-enum": { + "name": "FirewallPolicyIntrusionDetectionProfileType", + "modelAsString": true + } + }, + "FirewallPolicyIntrusionDetectionConfiguration": { + "type": "object", + "description": "The operation for configuring intrusion detection.", + "properties": { + "signatureOverrides": { + "type": "array", + "description": "List of specific signatures states.", + "items": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionSignatureSpecification" + } + }, + "bypassTrafficSettings": { + "type": "array", + "description": "List of rules for traffic to bypass.", + "items": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionBypassTrafficSpecifications" + }, + "x-ms-identifiers": [] + }, + "privateRanges": { + "type": "array", + "description": "IDPS Private IP address ranges are used to identify traffic direction (i.e. inbound, outbound, etc.). By default, only ranges defined by IANA RFC 1918 are considered private IP addresses. To modify default ranges, specify your Private IP address ranges with this property", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + } + } + }, + "FirewallPolicyIntrusionDetectionSignatureSpecification": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Signature id." + }, + "mode": { + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionStateOptions", + "description": "The signature state." + } + }, + "description": "Intrusion detection signatures specification states." + }, + "FirewallPolicyIntrusionDetectionBypassTrafficSpecifications": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the bypass traffic rule." + }, + "description": { + "type": "string", + "description": "Description of the bypass traffic rule." + }, + "protocol": { + "type": "string", + "$ref": "#/definitions/FirewallPolicyIntrusionDetectionBypassTrafficProtocol", + "description": "The rule bypass protocol." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses or ranges for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or ranges for this rule.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports or ranges.", + "items": { + "type": "string" + } + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "destinationIpGroups": { + "type": "array", + "description": "List of destination IpGroups for this rule.", + "items": { + "type": "string" + } + } + }, + "description": "Intrusion detection bypass traffic specification." + }, + "FirewallPolicyIntrusionDetectionBypassTrafficProtocol": { + "type": "string", + "description": "Possible intrusion detection bypass traffic protocols.", + "enum": [ + "TCP", + "UDP", + "ICMP", + "ANY" + ], + "x-ms-enum": { + "name": "FirewallPolicyIntrusionDetectionProtocol", + "modelAsString": true + } + }, + "FirewallPolicyTransportSecurity": { + "type": "object", + "properties": { + "certificateAuthority": { + "$ref": "#/definitions/FirewallPolicyCertificateAuthority", + "description": "The CA used for intermediate CA generation." + } + }, + "description": "Configuration needed to perform TLS termination & initiation." + }, + "FirewallPolicyCertificateAuthority": { + "type": "object", + "properties": { + "keyVaultSecretId": { + "type": "string", + "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." + }, + "name": { + "type": "string", + "description": "Name of the CA certificate." + } + }, + "description": "Trusted Root certificates properties for tls." + }, + "FirewallPolicySku": { + "type": "object", + "properties": { + "tier": { + "type": "string", + "description": "Tier of Firewall Policy.", + "enum": [ + "Standard", + "Premium", + "Basic" + ], + "x-ms-enum": { + "name": "FirewallPolicySkuTier", + "modelAsString": true + } + } + }, + "description": "SKU of Firewall policy." + }, + "FirewallPolicyLogAnalyticsResources": { + "type": "object", + "description": "Log Analytics Resources for Firewall Policy Insights.", + "properties": { + "workspaces": { + "type": "array", + "description": "List of workspaces for Firewall Policy Insights.", + "items": { + "$ref": "#/definitions/FirewallPolicyLogAnalyticsWorkspace" + }, + "x-ms-identifiers": [] + }, + "defaultWorkspaceId": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The default workspace Id for Firewall Policy Insights." + } + } + }, + "FirewallPolicyLogAnalyticsWorkspace": { + "type": "object", + "description": "Log Analytics Workspace for Firewall Policy Insights.", + "properties": { + "region": { + "type": "string", + "description": "Region to configure the Workspace." + }, + "workspaceId": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The workspace Id for Firewall Policy Insights." + } + } + }, + "IDPSQueryObject": { + "description": "Will describe the query to run against the IDPS signatures DB", + "type": "object", + "properties": { + "filters": { + "type": "object", + "description": "Contain all filters names and values", + "$ref": "#/definitions/Filters" + }, + "search": { + "type": "string", + "description": "Search term in all columns" + }, + "orderBy": { + "type": "object", + "$ref": "#/definitions/OrderBy", + "description": "Column to sort response by" + }, + "resultsPerPage": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000, + "description": "The number of the results to return in each page" + }, + "skip": { + "type": "integer", + "format": "int32", + "description": "The number of records matching the filter to skip" + } + } + }, + "Filters": { + "description": "Describers the filters to filter response by", + "type": "array", + "items": { + "$ref": "#/definitions/FilterItems" + }, + "x-ms-identifiers": [] + }, + "FilterItems": { + "description": "Will contain the filter name and values to operate on", + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The name of the field we would like to filter" + }, + "values": { + "type": "array", + "description": "List of values to filter the current field by", + "items": { + "type": "string", + "description": "Value of the field to filter by" + } + } + } + }, + "OrderBy": { + "description": "Describes a column to sort", + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "Describes the actual column name to sort by" + }, + "order": { + "type": "string", + "description": "Describes if results should be in ascending/descending order", + "enum": [ + "Ascending", + "Descending" + ], + "x-ms-enum": { + "name": "FirewallPolicyIDPSQuerySortOrder", + "modelAsString": true + } + } + } + }, + "QueryResults": { + "description": "Query result", + "type": "object", + "properties": { + "matchingRecordsCount": { + "type": "integer", + "format": "int64", + "description": "Number of total records matching the query." + }, + "signatures": { + "type": "array", + "items": { + "$ref": "#/definitions/SingleQueryResult" + }, + "description": "Array containing the results of the query", + "x-ms-identifiers": [] + } + } + }, + "SingleQueryResult": { + "type": "object", + "properties": { + "signatureId": { + "type": "integer", + "format": "int32", + "description": "The ID of the signature" + }, + "mode": { + "type": "integer", + "format": "int32", + "description": "The current mode enforced, 0 - Disabled, 1 - Alert, 2 -Deny", + "enum": [ + 0, + 1, + 2 + ], + "x-ms-enum": { + "name": "FirewallPolicyIDPSSignatureMode", + "modelAsString": false + } + }, + "severity": { + "type": "integer", + "format": "int32", + "description": "Describes the severity of signature: 1 - High, 2 - Medium, 3 - Low", + "enum": [ + 1, + 2, + 3 + ], + "x-ms-enum": { + "name": "FirewallPolicyIDPSSignatureSeverity", + "modelAsString": false + } + }, + "direction": { + "type": "integer", + "format": "int32", + "description": "Describes in which direction signature is being enforced: 0 - OutBound, 1 - InBound, 2 - Any, 3 - Internal, 4 - InternalOutbound", + "enum": [ + 0, + 1, + 2, + 3, + 4 + ], + "x-ms-enum": { + "name": "FirewallPolicyIDPSSignatureDirection", + "modelAsString": false + } + }, + "group": { + "type": "string", + "description": "Describes the groups the signature belongs to" + }, + "description": { + "type": "string", + "description": "Describes what is the signature enforces" + }, + "protocol": { + "type": "string", + "description": "Describes the protocol the signatures is being enforced in" + }, + "sourcePorts": { + "type": "array", + "items": { + "$ref": "#/definitions/PortsList" + }, + "description": "Describes the list of source ports related to this signature" + }, + "destinationPorts": { + "type": "array", + "items": { + "$ref": "#/definitions/PortsList" + }, + "description": "Describes the list of destination ports related to this signature" + }, + "lastUpdated": { + "type": "string", + "description": "Describes the last updated time of the signature (provided from 3rd party vendor)" + }, + "inheritedFromParentPolicy": { + "type": "boolean", + "description": "Describes if this override is inherited from base policy or not" + } + } + }, + "PortsList": { + "type": "string", + "description": "Describes a port, port range, or negation of a port" + }, + "Signatures": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "SignaturesOverridesList": { + "type": "object", + "description": "Describes an object containing an array with a single item", + "properties": { + "value": { + "type": "array", + "description": "Describes a list consisting exactly one item describing the policy's signature override status", + "items": { + "description": "Describes the single signatures overrides object related to that policy.", + "$ref": "#/definitions/SignaturesOverrides" + } + } + } + }, + "SignaturesOverrides": { + "x-ms-azure-resource": true, + "type": "object", + "description": "Contains all specific policy signatures overrides for the IDPS", + "properties": { + "name": { + "type": "string", + "description": "Contains the name of the resource (default)" + }, + "id": { + "description": "Will contain the resource id of the signature override resource", + "type": "string" + }, + "type": { + "type": "string", + "description": "Will contain the type of the resource: Microsoft.Network/firewallPolicies/intrusionDetectionSignaturesOverrides" + }, + "properties": { + "type": "object", + "description": "Will contain the properties of the resource (the actual signature overrides)", + "properties": { + "signatures": { + "type": "object", + "$ref": "#/definitions/Signatures" + } + } + } + } + }, + "SignatureOverridesFilterValuesQuery": { + "description": "Describes the filter values possibles for a given column", + "type": "object", + "properties": { + "filterName": { + "type": "string", + "description": "Describes the name of the column which values will be returned" + } + } + }, + "SignatureOverridesFilterValuesResponse": { + "description": "Describes the list of all possible values for a specific filter value", + "type": "object", + "properties": { + "filterValues": { + "description": "Describes the possible values", + "type": "array", + "items": { + "description": "Describes a single value of the filter", + "type": "string" + } + } + } + }, + "FirewallPolicyHttpHeaderToInsert": { + "description": "name and value of HTTP/S header to insert", + "type": "object", + "properties": { + "headerName": { + "description": "Contains the name of the header", + "type": "string" + }, + "headerValue": { + "description": "Contains the value of the header", + "type": "string" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/ipAllocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/ipAllocation.json new file mode 100644 index 000000000000..cb09d59fa4f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/ipAllocation.json @@ -0,0 +1,454 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations/{ipAllocationName}": { + "delete": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_Delete", + "description": "Deletes the specified IpAllocation.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipAllocationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IpAllocation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete IpAllocation": { + "$ref": "./examples/IpAllocationDelete.json" + } + } + }, + "get": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_Get", + "description": "Gets the specified IpAllocation by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipAllocationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IpAllocation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting IpAllocation resource.", + "schema": { + "$ref": "#/definitions/IpAllocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get IpAllocation": { + "$ref": "./examples/IpAllocationGet.json" + } + } + }, + "put": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_CreateOrUpdate", + "description": "Creates or updates an IpAllocation in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipAllocationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IpAllocation." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IpAllocation" + }, + "description": "Parameters supplied to the create or update virtual network operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting IpAllocation resource.", + "schema": { + "$ref": "#/definitions/IpAllocation" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting IpAllocation resource.", + "schema": { + "$ref": "#/definitions/IpAllocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create IpAllocation": { + "$ref": "./examples/IpAllocationCreate.json" + } + } + }, + "patch": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_UpdateTags", + "description": "Updates a IpAllocation tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipAllocationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IpAllocation." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update IpAllocation tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting IpAllocation resource.", + "schema": { + "$ref": "#/definitions/IpAllocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update virtual network tags": { + "$ref": "./examples/IpAllocationUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/IpAllocations": { + "get": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_List", + "description": "Gets all IpAllocations in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of IpAllocation resources.", + "schema": { + "$ref": "#/definitions/IpAllocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all IpAllocations": { + "$ref": "./examples/IpAllocationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations": { + "get": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_ListByResourceGroup", + "description": "Gets all IpAllocations in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of IpAllocation resources.", + "schema": { + "$ref": "#/definitions/IpAllocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List IpAllocations in resource group": { + "$ref": "./examples/IpAllocationListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "IpAllocationPropertiesFormat": { + "properties": { + "subnet": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The Subnet that using the prefix of this IpAllocation resource." + }, + "virtualNetwork": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The VirtualNetwork that using the prefix of this IpAllocation resource." + }, + "type": { + "$ref": "#/definitions/IpAllocationType", + "description": "The type for the IpAllocation." + }, + "prefix": { + "type": "string", + "description": "The address prefix for the IpAllocation." + }, + "prefixLength": { + "type": "integer", + "x-nullable": true, + "default": 0, + "description": "The address prefix length for the IpAllocation." + }, + "prefixType": { + "$ref": "./network.json#/definitions/IPVersion", + "default": null, + "description": "The address prefix Type for the IpAllocation." + }, + "ipamAllocationId": { + "type": "string", + "description": "The IPAM allocation ID." + }, + "allocationTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "IpAllocation tags." + } + }, + "description": "Properties of the IpAllocation." + }, + "IpAllocation": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IpAllocationPropertiesFormat", + "description": "Properties of the IpAllocation." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "IpAllocation resource." + }, + "IpAllocationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IpAllocation" + }, + "description": "A list of IpAllocation resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListIpAllocations API service call." + }, + "IpAllocationType": { + "type": "string", + "description": "IpAllocation type.", + "enum": [ + "Undefined", + "Hypernet" + ], + "x-ms-enum": { + "name": "IpAllocationType", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/ipGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/ipGroups.json new file mode 100644 index 000000000000..68e6962967d5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/ipGroups.json @@ -0,0 +1,430 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}": { + "get": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_Get", + "description": "Gets the specified ipGroups.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipGroupsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipGroups." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands resourceIds (of Firewalls/Network Security Groups etc.) back referenced by the IpGroups resource." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting IpGroups resource.", + "schema": { + "$ref": "#/definitions/IpGroup" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get_IpGroups": { + "$ref": "./examples/IpGroupsGet.json" + } + } + }, + "put": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_CreateOrUpdate", + "description": "Creates or updates an ipGroups in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipGroupsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipGroups." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IpGroup" + }, + "description": "Parameters supplied to the create or update IpGroups operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ipGroups resource.", + "schema": { + "$ref": "#/definitions/IpGroup" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ipGroups resource.", + "schema": { + "$ref": "#/definitions/IpGroup" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "CreateOrUpdate_IpGroups": { + "$ref": "./examples/IpGroupsCreate.json" + } + } + }, + "patch": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_UpdateGroups", + "description": "Updates tags of an IpGroups resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipGroupsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipGroups." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to the update ipGroups operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ipGroups resource.", + "schema": { + "$ref": "#/definitions/IpGroup" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Update_IpGroups": { + "$ref": "./examples/IpGroupsUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_Delete", + "description": "Deletes the specified ipGroups.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipGroupsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipGroups." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Delete_IpGroups": { + "$ref": "./examples/IpGroupsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups": { + "get": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_ListByResourceGroup", + "description": "Gets all IpGroups in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ipGroups resources.", + "schema": { + "$ref": "#/definitions/IpGroupListResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ListByResourceGroup_IpGroups": { + "$ref": "./examples/IpGroupsListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ipGroups": { + "get": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_List", + "description": "Gets all IpGroups in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ipGroups resources.", + "schema": { + "$ref": "#/definitions/IpGroupListResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List_IpGroups": { + "$ref": "./examples/IpGroupsListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "IpGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IpGroupPropertiesFormat", + "description": "Properties of the IpGroups." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The IpGroups resource information." + }, + "IpGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IpGroup" + }, + "description": "The list of IpGroups information resources." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for the ListIpGroups API service call." + }, + "IpGroupPropertiesFormat": { + "properties": { + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the IpGroups resource.", + "readOnly": true + }, + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IpAddresses/IpAddressPrefixes in the IpGroups resource." + }, + "firewalls": { + "type": "array", + "readOnly": true, + "description": "List of references to Firewall resources that this IpGroups is associated with.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "firewallPolicies": { + "type": "array", + "readOnly": true, + "description": "List of references to Firewall Policies resources that this IpGroups is associated with.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + } + }, + "description": "The IpGroups property information." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/loadBalancer.json new file mode 100644 index 000000000000..b0d02b4d755d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/loadBalancer.json @@ -0,0 +1,2744 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}": { + "delete": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_Delete", + "description": "Deletes the specified load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete load balancer": { + "$ref": "./examples/LoadBalancerDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_Get", + "description": "Gets the specified load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get load balancer": { + "$ref": "./examples/LoadBalancerGet.json" + }, + "Get load balancer with inbound NAT rule port mapping": { + "$ref": "./examples/LoadBalancerGetInboundNatRulePortMapping.json" + } + } + }, + "put": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_CreateOrUpdate", + "description": "Creates or updates a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LoadBalancer" + }, + "description": "Parameters supplied to the create or update load balancer operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create load balancer": { + "$ref": "./examples/LoadBalancerCreate.json" + }, + "Create load balancer with Standard SKU": { + "$ref": "./examples/LoadBalancerCreateStandardSku.json" + }, + "Create load balancer with Global Tier and one regional load balancer in its backend pool": { + "$ref": "./examples/LoadBalancerCreateGlobalTier.json" + }, + "Create load balancer with Frontend IP in Zone 1": { + "$ref": "./examples/LoadBalancerCreateWithZones.json" + }, + "Create load balancer with inbound nat pool": { + "$ref": "./examples/LoadBalancerCreateWithInboundNatPool.json" + }, + "Create load balancer with outbound rules": { + "$ref": "./examples/LoadBalancerCreateWithOutboundRules.json" + }, + "Create load balancer with Gateway Load Balancer Consumer configured": { + "$ref": "./examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json" + }, + "Create load balancer with Gateway Load Balancer Provider configured with one Backend Pool": { + "$ref": "./examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json" + }, + "Create load balancer with Gateway Load Balancer Provider configured with two Backend Pool": { + "$ref": "./examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json" + }, + "Create load balancer with Sync Mode Property on Pool": { + "$ref": "./examples/LoadBalancerCreateWithSyncModePropertyOnPool.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_UpdateTags", + "description": "Updates a load balancer tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update load balancer tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update load balancer tags": { + "$ref": "./examples/LoadBalancerUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_ListAll", + "description": "Gets all the load balancers in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all load balancers": { + "$ref": "./examples/LoadBalancerListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_List", + "description": "Gets all the load balancers in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List load balancers in resource group": { + "$ref": "./examples/LoadBalancerList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_List", + "description": "Gets all the load balancer backed address pools.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer BackendAddressPool resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerBackendAddressPoolListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerBackendAddressPoolList": { + "$ref": "./examples/LoadBalancerBackendAddressPoolList.json" + }, + "Load balancer with BackendAddressPool containing BackendAddresses": { + "$ref": "./examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_Get", + "description": "Gets load balancer backend address pool.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "backendAddressPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backend address pool." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns LoadBalancer BackendAddressPool resource.", + "schema": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerBackendAddressPoolGet": { + "$ref": "./examples/LoadBalancerBackendAddressPoolGet.json" + }, + "LoadBalancer with BackendAddressPool with BackendAddresses": { + "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesGet.json" + } + } + }, + "put": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_CreateOrUpdate", + "description": "Creates or updates a load balancer backend address pool.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "backendAddressPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backend address pool." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BackendAddressPool" + }, + "description": "Parameters supplied to the create or update load balancer backend address pool operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting BackendAddressPool resource.", + "schema": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting BackendAddressPool resource.", + "schema": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update load balancer backend pool with backend addresses containing virtual network and IP address.": { + "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_Delete", + "description": "Deletes the specified load balancer backend address pool.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "backendAddressPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backend address pool." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BackendAddressPoolDelete": { + "$ref": "./examples/LoadBalancerBackendAddressPoolDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerFrontendIPConfigurations_List", + "description": "Gets all the load balancer frontend IP configurations.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer FrontendIPConfiguration resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerFrontendIPConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerFrontendIPConfigurationList": { + "$ref": "./examples/LoadBalancerFrontendIPConfigurationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerFrontendIPConfigurations_Get", + "description": "Gets load balancer frontend IP configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "frontendIPConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the frontend IP configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns LoadBalancer FrontendIPConfiguration resource.", + "schema": { + "$ref": "#/definitions/FrontendIPConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerFrontendIPConfigurationGet": { + "$ref": "./examples/LoadBalancerFrontendIPConfigurationGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "InboundNatRules_List", + "description": "Gets all the inbound NAT rules in a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer InboundNatRule resources.", + "schema": { + "$ref": "#/definitions/InboundNatRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "InboundNatRuleList": { + "$ref": "./examples/InboundNatRuleList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}": { + "delete": { + "tags": [ + "LoadBalancers" + ], + "operationId": "InboundNatRules_Delete", + "description": "Deletes the specified load balancer inbound NAT rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "inboundNatRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the inbound NAT rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "InboundNatRuleDelete": { + "$ref": "./examples/InboundNatRuleDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "InboundNatRules_Get", + "description": "Gets the specified load balancer inbound NAT rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "inboundNatRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the inbound NAT rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting InboundNatRule resource.", + "schema": { + "$ref": "#/definitions/InboundNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "InboundNatRuleGet": { + "$ref": "./examples/InboundNatRuleGet.json" + } + } + }, + "put": { + "tags": [ + "LoadBalancers" + ], + "operationId": "InboundNatRules_CreateOrUpdate", + "description": "Creates or updates a load balancer inbound NAT rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "inboundNatRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the inbound NAT rule." + }, + { + "name": "inboundNatRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundNatRule" + }, + "description": "Parameters supplied to the create or update inbound NAT rule operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting InboundNatRule resource.", + "schema": { + "$ref": "#/definitions/InboundNatRule" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting InboundNatRule resource.", + "schema": { + "$ref": "#/definitions/InboundNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "InboundNatRuleCreate": { + "$ref": "./examples/InboundNatRuleCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerLoadBalancingRules_List", + "description": "Gets all the load balancing rules in a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer LoadBalancingRule resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerLoadBalancingRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "LoadBalancerLoadBalancingRuleList": { + "$ref": "./examples/LoadBalancerLoadBalancingRuleList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerLoadBalancingRules_Get", + "description": "Gets the specified load balancer load balancing rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "loadBalancingRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancing rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting LoadBalancingRule resource.", + "schema": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerLoadBalancingRuleGet": { + "$ref": "./examples/LoadBalancerLoadBalancingRuleGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerOutboundRules_List", + "description": "Gets all the outbound rules in a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer OutboundRule resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerOutboundRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "LoadBalancerOutboundRuleList": { + "$ref": "./examples/LoadBalancerOutboundRuleList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerOutboundRules_Get", + "description": "Gets the specified load balancer outbound rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "outboundRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the outbound rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting OutboundRule resource.", + "schema": { + "$ref": "#/definitions/OutboundRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerOutboundRuleGet": { + "$ref": "./examples/LoadBalancerOutboundRuleGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerNetworkInterfaces_List", + "description": "Gets associated load balancer network interfaces.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerNetworkInterfaceListVmss": { + "$ref": "./examples/LoadBalancerNetworkInterfaceListVmss.json" + }, + "LoadBalancerNetworkInterfaceListSimple": { + "$ref": "./examples/LoadBalancerNetworkInterfaceListSimple.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerProbes_List", + "description": "Gets all the load balancer probes.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer Probe resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerProbeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerProbeList": { + "$ref": "./examples/LoadBalancerProbeList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/setLoadBalancerFrontendPublicIpAddresses": { + "post": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_SwapPublicIpAddresses", + "description": "Swaps VIPs between two load balancers.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The region where load balancers are located at." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LoadBalancerVipSwapRequest" + }, + "description": "Parameters that define which VIPs should be swapped." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Swap VIPs between two load balancers.": { + "$ref": "./examples/LoadBalancersSwapPublicIpAddresses.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendPoolName}/queryInboundNatRulePortMapping": { + "post": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_ListInboundNatRulePortMappings", + "description": "List of inbound NAT rule port mappings.", + "parameters": [ + { + "name": "groupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "backendPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer backend address pool." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryInboundNatRulePortMappingRequest" + }, + "description": "Query inbound NAT rule port mapping request." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for query inbound NAT rule port mapping.", + "schema": { + "$ref": "#/definitions/BackendAddressInboundNatRulePortMappings" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/BackendAddressInboundNatRulePortMappings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Query inbound NAT rule port mapping": { + "$ref": "./examples/QueryInboundNatRulePortMapping.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerProbes_Get", + "description": "Gets load balancer probe.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "probeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the probe." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns LoadBalancer Probe resource.", + "schema": { + "$ref": "#/definitions/Probe" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerProbeGet": { + "$ref": "./examples/LoadBalancerProbeGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/migrateToIpBased": { + "post": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_MigrateToIpBased", + "description": "Migrate load balancer to IP Based", + "parameters": [ + { + "name": "groupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "pattern": "^[a-z][a-z0-9]*$" + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer.", + "pattern": "^[a-z][a-z0-9]*$" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/MigrateLoadBalancerToIpBasedRequest" + }, + "description": "Parameters supplied to the migrateToIpBased Api." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for migrating Load balancer to IP Based.", + "schema": { + "$ref": "#/definitions/MigratedPools" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Migrate load balancer to IP Based": { + "$ref": "./examples/MigrateLoadBalancerToIPBased.json" + } + } + } + } + }, + "definitions": { + "GatewayLoadBalancerTunnelInterface": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "Port of gateway load balancer tunnel interface." + }, + "identifier": { + "type": "integer", + "format": "int32", + "description": "Identifier of gateway load balancer tunnel interface." + }, + "protocol": { + "type": "string", + "description": "Protocol of gateway load balancer tunnel interface.", + "enum": [ + "None", + "Native", + "VXLAN" + ], + "x-ms-enum": { + "name": "GatewayLoadBalancerTunnelProtocol", + "modelAsString": true + } + }, + "type": { + "type": "string", + "description": "Traffic type of gateway load balancer tunnel interface.", + "enum": [ + "None", + "Internal", + "External" + ], + "x-ms-enum": { + "name": "GatewayLoadBalancerTunnelInterfaceType", + "modelAsString": true + } + } + }, + "description": "Gateway load balancer tunnel interface of a load balancer backend address pool." + }, + "LoadBalancerSku": { + "properties": { + "name": { + "type": "string", + "description": "Name of a load balancer SKU.", + "enum": [ + "Basic", + "Standard", + "Gateway" + ], + "x-ms-enum": { + "name": "LoadBalancerSkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of a load balancer SKU.", + "enum": [ + "Regional", + "Global" + ], + "x-ms-enum": { + "name": "LoadBalancerSkuTier", + "modelAsString": true + } + } + }, + "description": "SKU of a load balancer." + }, + "FrontendIPConfigurationPropertiesFormat": { + "properties": { + "inboundNatRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to inbound rules that use this frontend IP." + }, + "inboundNatPools": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to inbound pools that use this frontend IP." + }, + "outboundRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to outbound rules that use this frontend IP." + }, + "loadBalancingRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to load balancing rules that use this frontend IP." + }, + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The Private IP allocation method." + }, + "privateIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4." + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "The reference to the Public IP resource." + }, + "publicIPPrefix": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the Public IP Prefix resource." + }, + "gatewayLoadBalancer": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to gateway load balancer frontend IP." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the frontend IP configuration resource." + } + }, + "description": "Properties of Frontend IP Configuration of the load balancer." + }, + "FrontendIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FrontendIPConfigurationPropertiesFormat", + "description": "Properties of the load balancer probe." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Frontend IP address of the load balancer." + }, + "LoadBalancerBackendAddressPropertiesFormat": { + "properties": { + "virtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to an existing virtual network." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to an existing subnet." + }, + "ipAddress": { + "type": "string", + "description": "IP Address belonging to the referenced virtual network.", + "x-ms-azure-resource": false + }, + "networkInterfaceIPConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to IP address defined in network interfaces." + }, + "loadBalancerFrontendIPConfiguration": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the frontend ip address configuration defined in regional loadbalancer." + }, + "inboundNatRulesPortMapping": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/NatRulePortMapping" + }, + "description": "Collection of inbound NAT rule port mappings." + }, + "adminState": { + "type": "string", + "description": "A list of administrative states which once set can override health probe so that Load Balancer will always forward new connections to backend, or deny new connections and reset existing connections.", + "enum": [ + "None", + "Up", + "Down" + ], + "x-ms-enum": { + "name": "LoadBalancerBackendAddressAdminState", + "modelAsString": true + } + } + }, + "description": "Properties of the load balancer backend addresses." + }, + "LoadBalancerBackendAddress": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancerBackendAddressPropertiesFormat", + "description": "Properties of load balancer backend address pool." + }, + "name": { + "type": "string", + "description": "Name of the backend address." + } + }, + "description": "Load balancer backend addresses." + }, + "BackendAddressPoolPropertiesFormat": { + "properties": { + "location": { + "type": "string", + "description": "The location of the backend address pool." + }, + "tunnelInterfaces": { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayLoadBalancerTunnelInterface" + }, + "description": "An array of gateway load balancer tunnel interfaces." + }, + "loadBalancerBackendAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerBackendAddress" + }, + "description": "An array of backend addresses." + }, + "backendIPConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "An array of references to IP addresses defined in network interfaces." + }, + "loadBalancingRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to load balancing rules that use this backend address pool." + }, + "outboundRule": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to an outbound rule that uses this backend address pool." + }, + "outboundRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to outbound rules that use this backend address pool." + }, + "inboundNatRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to inbound NAT rules that use this backend address pool." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the backend address pool resource." + }, + "drainPeriodInSeconds": { + "type": "integer", + "format": "int32", + "description": "Amount of seconds Load Balancer waits for before sending RESET to client and backend address." + }, + "virtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to a virtual network." + }, + "syncMode": { + "type": "string", + "description": "Backend address synchronous mode for the backend pool", + "enum": [ + "Automatic", + "Manual" + ], + "x-ms-enum": { + "name": "SyncMode", + "modelAsString": true + } + } + }, + "description": "Properties of the backend address pool." + }, + "BackendAddressPool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BackendAddressPoolPropertiesFormat", + "description": "Properties of load balancer backend address pool." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Pool of backend IP addresses." + }, + "LoadBalancingRulePropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to frontend IP addresses." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs." + }, + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to pool of DIPs." + }, + "probe": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the load balancer probe used by the load balancing rule." + }, + "protocol": { + "$ref": "#/definitions/TransportProtocol", + "description": "The reference to the transport protocol used by the load balancing rule." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule.", + "enum": [ + "Default", + "SourceIP", + "SourceIPProtocol" + ], + "x-ms-enum": { + "name": "LoadDistribution", + "modelAsString": true + } + }, + "frontendPort": { + "type": "integer", + "format": "int32", + "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables \"Any Port\"." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables \"Any Port\"." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "enableFloatingIP": { + "type": "boolean", + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "enableTcpReset": { + "type": "boolean", + "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." + }, + "disableOutboundSnat": { + "type": "boolean", + "description": "Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the load balancing rule resource." + } + }, + "required": [ + "protocol", + "frontendPort" + ], + "description": "Properties of the load balancer." + }, + "LoadBalancingRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancingRulePropertiesFormat", + "description": "Properties of load balancer load balancing rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of load balancing rules used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "A load balancing rule for a load balancer." + }, + "ProbePropertiesFormat": { + "properties": { + "loadBalancingRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The load balancer rules that use this probe." + }, + "protocol": { + "type": "string", + "description": "The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.", + "enum": [ + "Http", + "Tcp", + "Https" + ], + "x-ms-enum": { + "name": "ProbeProtocol", + "modelAsString": true + } + }, + "port": { + "type": "integer", + "format": "int32", + "description": "The port for communicating the probe. Possible values range from 1 to 65535, inclusive." + }, + "intervalInSeconds": { + "type": "integer", + "format": "int32", + "description": "The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5." + }, + "numberOfProbes": { + "type": "integer", + "format": "int32", + "description": "The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure." + }, + "probeThreshold": { + "type": "integer", + "format": "int32", + "description": "The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation." + }, + "requestPath": { + "type": "string", + "description": "The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the probe resource." + } + }, + "required": [ + "protocol", + "port" + ], + "description": "Load balancer probe resource." + }, + "Probe": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProbePropertiesFormat", + "description": "Properties of load balancer probe." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "A load balancer probe." + }, + "InboundNatRulePropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to frontend IP addresses." + }, + "backendIPConfiguration": { + "readOnly": true, + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration", + "description": "A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backend IP." + }, + "protocol": { + "$ref": "#/definitions/TransportProtocol", + "description": "The reference to the transport protocol used by the load balancing rule." + }, + "frontendPort": { + "type": "integer", + "format": "int32", + "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for the internal endpoint. Acceptable values range from 1 to 65535." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "enableFloatingIP": { + "type": "boolean", + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "enableTcpReset": { + "type": "boolean", + "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." + }, + "frontendPortRangeStart": { + "type": "integer", + "format": "int32", + "description": "The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534." + }, + "frontendPortRangeEnd": { + "type": "integer", + "format": "int32", + "description": "The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to backendAddressPool resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the inbound NAT rule resource." + } + }, + "description": "Properties of the inbound NAT rule." + }, + "InboundNatRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundNatRulePropertiesFormat", + "description": "Properties of load balancer inbound NAT rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Inbound NAT rule of the load balancer." + }, + "InboundNatPoolPropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to frontend IP addresses." + }, + "protocol": { + "$ref": "#/definitions/TransportProtocol", + "description": "The reference to the transport protocol used by the inbound NAT pool." + }, + "frontendPortRangeStart": { + "type": "integer", + "format": "int32", + "description": "The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534." + }, + "frontendPortRangeEnd": { + "type": "integer", + "format": "int32", + "description": "The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "enableFloatingIP": { + "type": "boolean", + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "enableTcpReset": { + "type": "boolean", + "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the inbound NAT pool resource." + } + }, + "required": [ + "protocol", + "frontendPortRangeStart", + "frontendPortRangeEnd", + "backendPort" + ], + "description": "Properties of Inbound NAT pool." + }, + "InboundNatPool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundNatPoolPropertiesFormat", + "description": "Properties of load balancer inbound nat pool." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Inbound NAT pool of the load balancer." + }, + "OutboundRulePropertiesFormat": { + "properties": { + "allocatedOutboundPorts": { + "type": "integer", + "format": "int32", + "description": "The number of outbound ports to be used for NAT." + }, + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The Frontend IP addresses of the load balancer." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the outbound rule resource." + }, + "protocol": { + "type": "string", + "description": "The protocol for the outbound rule in load balancer.", + "enum": [ + "Tcp", + "Udp", + "All" + ], + "x-ms-enum": { + "name": "LoadBalancerOutboundRuleProtocol", + "modelAsString": true + } + }, + "enableTcpReset": { + "type": "boolean", + "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "description": "The timeout for the TCP idle connection." + } + }, + "required": [ + "backendAddressPool", + "frontendIPConfigurations", + "protocol" + ], + "description": "Outbound rule of the load balancer." + }, + "OutboundRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OutboundRulePropertiesFormat", + "description": "Properties of load balancer outbound rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Outbound rule of the load balancer." + }, + "LoadBalancerPropertiesFormat": { + "properties": { + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendIPConfiguration" + }, + "description": "Object representing the frontend IPs to be used for the load balancer." + }, + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/BackendAddressPool" + }, + "description": "Collection of backend address pools used by a load balancer." + }, + "loadBalancingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + }, + "description": "Object collection representing the load balancing rules Gets the provisioning." + }, + "probes": { + "type": "array", + "items": { + "$ref": "#/definitions/Probe" + }, + "description": "Collection of probe objects used in the load balancer." + }, + "inboundNatRules": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatRule" + }, + "description": "Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT rules." + }, + "inboundNatPools": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatPool" + }, + "description": "Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound NAT rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules." + }, + "outboundRules": { + "type": "array", + "items": { + "$ref": "#/definitions/OutboundRule" + }, + "description": "The outbound rules." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the load balancer resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the load balancer resource." + } + }, + "description": "Properties of the load balancer." + }, + "LoadBalancer": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the load balancer." + }, + "sku": { + "$ref": "#/definitions/LoadBalancerSku", + "description": "The load balancer SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancerPropertiesFormat", + "description": "Properties of load balancer." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "LoadBalancer resource." + }, + "LoadBalancerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "description": "A list of load balancers in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListLoadBalancers API service call." + }, + "InboundNatRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatRule" + }, + "description": "A list of inbound NAT rules in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListInboundNatRule API service call." + }, + "LoadBalancerBackendAddressPoolListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BackendAddressPool" + }, + "description": "A list of backend address pools in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListBackendAddressPool API service call." + }, + "LoadBalancerFrontendIPConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendIPConfiguration" + }, + "description": "A list of frontend IP configurations in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListFrontendIPConfiguration API service call." + }, + "LoadBalancerLoadBalancingRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + }, + "description": "A list of load balancing rules in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListLoadBalancingRule API service call." + }, + "LoadBalancerOutboundRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OutboundRule" + }, + "description": "A list of outbound rules in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListOutboundRule API service call." + }, + "LoadBalancerProbeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Probe" + }, + "description": "A list of probes in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListProbe API service call." + }, + "TransportProtocol": { + "type": "string", + "description": "The transport protocol for the endpoint.", + "enum": [ + "Udp", + "Tcp", + "All" + ], + "x-ms-enum": { + "name": "TransportProtocol", + "modelAsString": true + } + }, + "LoadBalancerVipSwapRequest": { + "properties": { + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerVipSwapRequestFrontendIPConfiguration" + }, + "description": "A list of frontend IP configuration resources that should swap VIPs." + } + }, + "description": "The request for a VIP swap." + }, + "LoadBalancerVipSwapRequestFrontendIPConfiguration": { + "properties": { + "id": { + "type": "string", + "description": "The ID of frontend IP configuration resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancerVipSwapRequestFrontendIPConfigurationProperties", + "description": "The properties of VIP swap request's frontend IP configuration object." + } + }, + "description": "VIP swap request's frontend IP configuration object." + }, + "LoadBalancerVipSwapRequestFrontendIPConfigurationProperties": { + "properties": { + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to public IP address resource." + } + }, + "description": "The properties of VIP swap request's frontend IP configuration object." + }, + "NatRulePortMapping": { + "type": "object", + "properties": { + "inboundNatRuleName": { + "type": "string", + "description": "Name of inbound NAT rule." + }, + "frontendPort": { + "type": "integer", + "format": "int32", + "description": "Frontend port." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "Backend port." + } + }, + "description": "Individual port mappings for inbound NAT rule created for backend pool." + }, + "QueryInboundNatRulePortMappingRequest": { + "type": "object", + "properties": { + "ipConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "NetworkInterfaceIPConfiguration set in load balancer backend address." + }, + "ipAddress": { + "type": "string", + "description": "IP address set in load balancer backend address." + } + }, + "description": "The request for a QueryInboundNatRulePortMapping API. Either IpConfiguration or IpAddress should be set" + }, + "BackendAddressInboundNatRulePortMappings": { + "type": "object", + "properties": { + "inboundNatRulePortMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatRulePortMapping" + }, + "description": "Collection of inbound NAT rule port mappings." + } + }, + "description": "The response for a QueryInboundNatRulePortMapping API." + }, + "InboundNatRulePortMapping": { + "type": "object", + "properties": { + "inboundNatRuleName": { + "readOnly": true, + "type": "string", + "description": "Name of inbound NAT rule." + }, + "protocol": { + "readOnly": true, + "$ref": "#/definitions/TransportProtocol", + "description": "The reference to the transport protocol used by the inbound NAT rule." + }, + "frontendPort": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Frontend port." + }, + "backendPort": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Backend port." + } + }, + "description": "Individual port mappings for inbound NAT rule created for backend pool." + }, + "MigrateLoadBalancerToIpBasedRequest": { + "type": "object", + "properties": { + "pools": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of pool names that should be migrated from Nic based to IP based pool" + } + }, + "description": "The request for a migrateToIpBased API." + }, + "MigratedPools": { + "type": "object", + "properties": { + "migratedPools": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of pools migrated from Nic based to IP based pool" + } + }, + "description": "The response for a migrateToIpBased API." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/natGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/natGateway.json new file mode 100644 index 000000000000..c75dbe0dbd77 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/natGateway.json @@ -0,0 +1,469 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}": { + "delete": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_Delete", + "description": "Deletes the specified nat gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "natGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete nat gateway": { + "$ref": "./examples/NatGatewayDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_Get", + "description": "Gets the specified nat gateway in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "natGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NatGateway resource.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get nat gateway": { + "$ref": "./examples/NatGatewayGet.json" + } + } + }, + "put": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_CreateOrUpdate", + "description": "Creates or updates a nat gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "natGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NatGateway" + }, + "description": "Parameters supplied to the create or update nat gateway operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting NatGateway resource.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting NatGateway resource.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create nat gateway": { + "$ref": "./examples/NatGatewayCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_UpdateTags", + "description": "Updates nat gateway tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "natGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update nat gateway tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting NatGateway resource.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update nat gateway tags": { + "$ref": "./examples/NatGatewayUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways": { + "get": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_ListAll", + "description": "Gets all the Nat Gateways in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NatGateway resources.", + "schema": { + "$ref": "#/definitions/NatGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all nat gateways": { + "$ref": "./examples/NatGatewayListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways": { + "get": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_List", + "description": "Gets all nat gateways in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NatGateway resources.", + "schema": { + "$ref": "#/definitions/NatGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List nat gateways in resource group": { + "$ref": "./examples/NatGatewayList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "NatGatewaySku": { + "properties": { + "name": { + "type": "string", + "description": "Name of Nat Gateway SKU.", + "enum": [ + "Standard" + ], + "x-ms-enum": { + "name": "NatGatewaySkuName", + "modelAsString": true + } + } + }, + "description": "SKU of nat gateway." + }, + "NatGatewayPropertiesFormat": { + "properties": { + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The idle timeout of the nat gateway." + }, + "publicIpAddresses": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of public ip addresses associated with the nat gateway resource." + }, + "publicIpPrefixes": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of public ip prefixes associated with the nat gateway resource." + }, + "subnets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to the subnets using this nat gateway resource." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the NAT gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the NAT gateway resource." + } + }, + "description": "Nat Gateway properties." + }, + "NatGateway": { + "properties": { + "sku": { + "$ref": "#/definitions/NatGatewaySku", + "description": "The nat gateway SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NatGatewayPropertiesFormat", + "description": "Nat Gateway properties." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting the zone in which Nat Gateway should be deployed." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Nat Gateway resource." + }, + "NatGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NatGateway" + }, + "description": "A list of Nat Gateways that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListNatGateways API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/network.json new file mode 100644 index 000000000000..3631a7b89878 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/network.json @@ -0,0 +1,439 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ErrorDetails": { + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "description": "Common error details representation." + }, + "Error": { + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + }, + "description": "Error details." + }, + "innerError": { + "type": "string", + "description": "Inner error message." + } + }, + "description": "Common error representation." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Cloud error body." + } + }, + "description": "An error response from the service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the service." + }, + "AzureAsyncOperationResult": { + "properties": { + "status": { + "type": "string", + "description": "Status of the Azure async operation.", + "enum": [ + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "NetworkOperationStatus", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Details of the error occurred during specified asynchronous operation." + } + }, + "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure." + }, + "Resource": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Common resource representation.", + "x-ms-azure-resource": true + }, + "ChildResource": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "Proxy resource representation.", + "x-ms-azure-resource": true + }, + "SubResource": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another subresource.", + "x-ms-azure-resource": true + }, + "TagsObject": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "ManagedServiceIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "Access": { + "type": "string", + "description": "Access to be allowed or denied.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "Access", + "modelAsString": true + } + }, + "AuthenticationMethod": { + "type": "string", + "description": "VPN client authentication method.", + "enum": [ + "EAPTLS", + "EAPMSCHAPv2" + ], + "x-ms-enum": { + "name": "AuthenticationMethod", + "modelAsString": true + } + }, + "IPAllocationMethod": { + "type": "string", + "description": "IP address allocation method.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "IPVersion": { + "type": "string", + "description": "IP address version.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + }, + "ExtendedLocationType": { + "type": "string", + "description": "The supported ExtendedLocation types. Currently only EdgeZone is supported in Microsoft.Network resources.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "ExtendedLocation complex type.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "ApiVersionVmssParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "2017-03-30" + ], + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + }, + "description": "Client API version." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkInterface.json new file mode 100644 index 000000000000..f28e6605f446 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkInterface.json @@ -0,0 +1,1620 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}": { + "delete": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_Delete", + "description": "Deletes the specified network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete network interface": { + "$ref": "./examples/NetworkInterfaceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_Get", + "description": "Gets information about the specified network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get network interface": { + "$ref": "./examples/NetworkInterfaceGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_CreateOrUpdate", + "description": "Creates or updates a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkInterface" + }, + "description": "Parameters supplied to the create or update network interface operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create network interface": { + "$ref": "./examples/NetworkInterfaceCreate.json" + }, + "Create network interface with Gateway Load Balancer Consumer configured": { + "$ref": "./examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_UpdateTags", + "description": "Updates a network interface tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update network interface tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update network interface tags": { + "$ref": "./examples/NetworkInterfaceUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListAll", + "description": "Gets all network interfaces in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all network interfaces": { + "$ref": "./examples/NetworkInterfaceListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_List", + "description": "Gets all network interfaces in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List network interfaces in resource group": { + "$ref": "./examples/NetworkInterfaceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable": { + "post": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_GetEffectiveRouteTable", + "description": "Gets all route tables applied to a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of EffectRoute resources.", + "schema": { + "$ref": "#/definitions/EffectiveRouteListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Show network interface effective route tables": { + "$ref": "./examples/NetworkInterfaceEffectiveRouteTableList.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups": { + "post": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListEffectiveNetworkSecurityGroups", + "description": "Gets all network security groups applied to a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.", + "schema": { + "$ref": "#/definitions/EffectiveNetworkSecurityGroupListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List network interface effective network security groups": { + "$ref": "./examples/NetworkInterfaceEffectiveNSGList.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceIPConfigurations_List", + "description": "Get all ip configurations in a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface IPConfiguration resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceIPConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkInterfaceIPConfigurationList": { + "$ref": "./examples/NetworkInterfaceIPConfigurationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceIPConfigurations_Get", + "description": "Gets the specified network interface ip configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ip configuration name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterface IPConfiguration resource.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkInterfaceIPConfigurationGet": { + "$ref": "./examples/NetworkInterfaceIPConfigurationGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceLoadBalancers_List", + "description": "List all load balancers in a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface LoadBalancer resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceLoadBalancerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkInterfaceLoadBalancerList": { + "$ref": "./examples/NetworkInterfaceLoadBalancerList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}": { + "delete": { + "tags": [ + "Network Interfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_Delete", + "description": "Deletes the specified tap configuration from the NetworkInterface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "tapConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete tap configuration": { + "$ref": "./examples/NetworkInterfaceTapConfigurationDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_Get", + "description": "Get the specified tap configuration on a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "tapConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a tap configuration.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Network Interface Tap Configurations": { + "$ref": "./examples/NetworkInterfaceTapConfigurationGet.json" + } + } + }, + "put": { + "tags": [ + "Network Interfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_CreateOrUpdate", + "description": "Creates or updates a Tap configuration in the specified NetworkInterface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "tapConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap configuration." + }, + { + "name": "tapConfigurationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + }, + "description": "Parameters supplied to the create or update tap configuration operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Tap Configuration resource.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Tap configuration resource.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Network Interface Tap Configurations": { + "$ref": "./examples/NetworkInterfaceTapConfigurationCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_List", + "description": "Get all Tap configurations in a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface TapConfiguration resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual network tap configurations": { + "$ref": "./examples/NetworkInterfaceTapConfigurationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "NetworkInterfaceTapConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfaceTapConfigurationPropertiesFormat", + "description": "Properties of the Virtual Network Tap configuration." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Sub Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Tap configuration in a Network Interface." + }, + "NetworkInterfaceTapConfigurationPropertiesFormat": { + "properties": { + "virtualNetworkTap": { + "$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap", + "description": "The reference to the Virtual Network Tap resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network interface tap configuration resource." + } + }, + "description": "Properties of Virtual Network Tap configuration." + }, + "NetworkInterfaceIPConfigurationPropertiesFormat": { + "properties": { + "gatewayLoadBalancer": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to gateway load balancer frontend IP." + }, + "virtualNetworkTaps": { + "type": "array", + "items": { + "$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap" + }, + "description": "The reference to Virtual Network Taps." + }, + "applicationGatewayBackendAddressPools": { + "type": "array", + "items": { + "$ref": "./applicationGateway.json#/definitions/ApplicationGatewayBackendAddressPool" + }, + "description": "The reference to ApplicationGatewayBackendAddressPool resource." + }, + "loadBalancerBackendAddressPools": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/BackendAddressPool" + }, + "description": "The reference to LoadBalancerBackendAddressPool resource." + }, + "loadBalancerInboundNatRules": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/InboundNatRule" + }, + "description": "A list of references of LoadBalancerInboundNatRules." + }, + "privateIPAddress": { + "type": "string", + "description": "Private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "privateIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4." + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "Subnet bound to the IP configuration." + }, + "primary": { + "type": "boolean", + "description": "Whether this is a primary customer address on the network interface." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "Public IP address bound to the IP configuration." + }, + "applicationSecurityGroups": { + "type": "array", + "items": { + "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup" + }, + "description": "Application security groups in which the IP configuration is included." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network interface IP configuration." + }, + "privateLinkConnectionProperties": { + "$ref": "#/definitions/NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties", + "description": "PrivateLinkConnection properties for the network interface.", + "readOnly": true + } + }, + "description": "Properties of IP configuration." + }, + "NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties": { + "properties": { + "groupId": { + "type": "string", + "readOnly": true, + "description": "The group ID for current private link connection." + }, + "requiredMemberName": { + "type": "string", + "readOnly": true, + "description": "The required member name for current private link connection." + }, + "fqdns": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "List of FQDNs for current private link connection." + } + }, + "description": "PrivateLinkConnection properties for the network interface." + }, + "NetworkInterfaceIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfaceIPConfigurationPropertiesFormat", + "description": "Network interface IP configuration properties." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IPConfiguration in a network interface." + }, + "NetworkInterfaceDnsSettings": { + "properties": { + "dnsServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection." + }, + "appliedDnsServers": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs." + }, + "internalDnsNameLabel": { + "type": "string", + "description": "Relative DNS name for this NIC used for internal communications between VMs in the same virtual network." + }, + "internalFqdn": { + "readOnly": true, + "type": "string", + "description": "Fully qualified DNS name supporting internal communications between VMs in the same virtual network." + }, + "internalDomainNameSuffix": { + "readOnly": true, + "type": "string", + "description": "Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix." + } + }, + "description": "DNS settings of a network interface." + }, + "NetworkInterfacePropertiesFormat": { + "properties": { + "virtualMachine": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to a virtual machine.", + "readOnly": true + }, + "networkSecurityGroup": { + "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup", + "description": "The reference to the NetworkSecurityGroup resource." + }, + "privateEndpoint": { + "readOnly": true, + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint", + "description": "A reference to the private endpoint to which the network interface is linked." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "A list of IPConfigurations of the network interface." + }, + "tapConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + }, + "description": "A list of TapConfigurations of the network interface." + }, + "dnsSettings": { + "$ref": "#/definitions/NetworkInterfaceDnsSettings", + "description": "The DNS settings in network interface." + }, + "macAddress": { + "readOnly": true, + "type": "string", + "description": "The MAC address of the network interface." + }, + "primary": { + "readOnly": true, + "type": "boolean", + "description": "Whether this is a primary network interface on a virtual machine." + }, + "vnetEncryptionSupported": { + "readOnly": true, + "type": "boolean", + "description": "Whether the virtual machine this nic is attached to supports encryption." + }, + "enableAcceleratedNetworking": { + "type": "boolean", + "description": "If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated networking." + }, + "disableTcpStateTracking": { + "type": "boolean", + "description": "Indicates whether to disable tcp state tracking." + }, + "enableIPForwarding": { + "type": "boolean", + "description": "Indicates whether IP forwarding is enabled on this network interface." + }, + "hostedWorkloads": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "A list of references to linked BareMetal resources." + }, + "dscpConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to the dscp configuration to which the network interface is linked.", + "readOnly": true + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the network interface resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network interface resource." + }, + "workloadType": { + "type": "string", + "description": "WorkloadType of the NetworkInterface for BareMetal resources" + }, + "nicType": { + "type": "string", + "description": "Type of Network Interface resource.", + "enum": [ + "Standard", + "Elastic" + ], + "x-ms-enum": { + "name": "NetworkInterfaceNicType", + "modelAsString": true + } + }, + "privateLinkService": { + "$ref": "./privateLinkService.json#/definitions/PrivateLinkService", + "description": "Privatelinkservice of the network interface resource." + }, + "migrationPhase": { + "type": "string", + "description": "Migration phase of Network Interface resource.", + "enum": [ + "None", + "Prepare", + "Commit", + "Abort", + "Committed" + ], + "x-ms-enum": { + "name": "NetworkInterfaceMigrationPhase", + "modelAsString": true + } + }, + "auxiliaryMode": { + "type": "string", + "description": "Auxiliary mode of Network Interface resource.", + "enum": [ + "None", + "MaxConnections", + "Floating", + "AcceleratedConnections" + ], + "x-ms-enum": { + "name": "NetworkInterfaceAuxiliaryMode", + "modelAsString": true + } + }, + "auxiliarySku": { + "type": "string", + "description": "Auxiliary sku of Network Interface resource.", + "enum": [ + "None", + "A1", + "A2", + "A4", + "A8" + ], + "x-ms-enum": { + "name": "NetworkInterfaceAuxiliarySku", + "modelAsString": true + } + } + }, + "description": "NetworkInterface properties." + }, + "NetworkInterface": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the network interface." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfacePropertiesFormat", + "description": "Properties of the network interface." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "A network interface in a resource group." + }, + "NetworkInterfaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + }, + "description": "A list of network interfaces in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListNetworkInterface API service call." + }, + "NetworkInterfaceTapConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + }, + "description": "A list of tap configurations." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list tap configurations API service call." + }, + "NetworkInterfaceIPConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "A list of ip configurations." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list ip configurations API service call." + }, + "NetworkInterfaceLoadBalancerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/LoadBalancer" + }, + "description": "A list of load balancers." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list ip configurations API service call." + }, + "EffectiveNetworkSecurityGroup": { + "properties": { + "networkSecurityGroup": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The ID of network security group that is applied." + }, + "association": { + "$ref": "#/definitions/EffectiveNetworkSecurityGroupAssociation", + "description": "Associated resources." + }, + "effectiveSecurityRules": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveNetworkSecurityRule" + }, + "description": "A collection of effective security rules." + }, + "tagMap": { + "type": "string", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IP Addresses within the tag (key)." + }, + "description": "Mapping of tags to list of IP Addresses included within the tag." + } + }, + "description": "Effective network security group." + }, + "EffectiveNetworkSecurityGroupAssociation": { + "properties": { + "networkManager": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The ID of the Azure network manager if assigned." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The ID of the subnet if assigned." + }, + "networkInterface": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The ID of the network interface if assigned." + } + }, + "description": "The effective network security group association." + }, + "EffectiveNetworkSecurityRule": { + "properties": { + "name": { + "type": "string", + "description": "The name of the security rule specified by the user (if created by the user)." + }, + "protocol": { + "type": "string", + "description": "The network protocol this rule applies to.", + "enum": [ + "Tcp", + "Udp", + "All" + ], + "x-ms-enum": { + "name": "EffectiveSecurityRuleProtocol", + "modelAsString": true + } + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range." + }, + "destinationPortRange": { + "type": "string", + "description": "The destination port or range." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The source address prefix." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix." + }, + "sourceAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)." + }, + "destinationAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)." + }, + "expandedSourceAddressPrefix": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The expanded source address prefix." + }, + "expandedDestinationAddressPrefix": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Expanded destination address prefix." + }, + "access": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRuleAccess", + "description": "Whether network traffic is allowed or denied." + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "The priority of the rule." + }, + "direction": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRuleDirection", + "description": "The direction of the rule." + } + }, + "description": "Effective network security rules." + }, + "EffectiveNetworkSecurityGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveNetworkSecurityGroup" + }, + "description": "A list of effective network security groups." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list effective network security groups API service call." + }, + "EffectiveRoute": { + "properties": { + "name": { + "type": "string", + "description": "The name of the user defined route. This is optional." + }, + "disableBgpRoutePropagation": { + "type": "boolean", + "description": "If true, on-premises routes are not propagated to the network interfaces in the subnet." + }, + "source": { + "type": "string", + "description": "Who created the route.", + "enum": [ + "Unknown", + "User", + "VirtualNetworkGateway", + "Default" + ], + "x-ms-enum": { + "name": "EffectiveRouteSource", + "modelAsString": true + } + }, + "state": { + "type": "string", + "description": "The value of effective route.", + "enum": [ + "Active", + "Invalid" + ], + "x-ms-enum": { + "name": "EffectiveRouteState", + "modelAsString": true + } + }, + "addressPrefix": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The address prefixes of the effective routes in CIDR notation." + }, + "nextHopIpAddress": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IP address of the next hop of the effective route." + }, + "nextHopType": { + "$ref": "./routeTable.json#/definitions/RouteNextHopType", + "description": "The type of Azure hop the packet should be sent to." + } + }, + "description": "Effective Route." + }, + "EffectiveRouteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveRoute" + }, + "description": "A list of effective routes." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list effective route API service call." + }, + "IPConfigurationPropertiesFormat": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method.", + "default": "Dynamic" + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "The reference to the public IP resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the IP configuration resource." + } + }, + "description": "Properties of IP configuration." + }, + "IPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IPConfigurationPropertiesFormat", + "description": "Properties of the IP configuration." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManager.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManager.json new file mode 100644 index 000000000000..4524121a76e5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManager.json @@ -0,0 +1,753 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManager", + "description": "The Microsoft Azure Virtual Network Manager API provides a RESTful set of web services that interact with Microsoft Azure Network Manager service to manage your network resources.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagers_Get", + "description": "Gets the specified Network Manager.", + "responses": { + "200": { + "description": "OK - Returns information about the network manager.", + "schema": { + "$ref": "#/definitions/NetworkManager" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkManagersGet": { + "$ref": "./examples/NetworkManagerGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagers_CreateOrUpdate", + "description": "Creates or updates a Network Manager.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkManager" + }, + "description": "Parameters supplied to specify which network manager is." + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the network manager.", + "schema": { + "$ref": "#/definitions/NetworkManager" + } + }, + "201": { + "description": "Created - Returns information about the network manager.", + "schema": { + "$ref": "#/definitions/NetworkManager" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Put Network Manager": { + "$ref": "./examples/NetworkManagerPut.json" + } + } + }, + "delete": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagers_Delete", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "description": "Deletes a network manager.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "202": { + "description": "Accepted and will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "NetworkManagersDelete": { + "$ref": "./examples/NetworkManagerDelete.json" + } + } + }, + "patch": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagers_Patch", + "description": "Patch NetworkManager.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PatchObject" + }, + "description": "Parameters supplied to specify which network manager is." + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the network manager.", + "schema": { + "$ref": "#/definitions/NetworkManager" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkManagesPatch": { + "$ref": "./examples/NetworkManagerPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/commit": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagerCommits_Post", + "description": "Post a Network Manager Commit.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkManagerCommit" + }, + "description": "Parameters supplied to specify which Managed Network commit is." + } + ], + "responses": { + "200": { + "description": "Succeed.", + "schema": { + "$ref": "#/definitions/NetworkManagerCommit" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/NetworkManagerCommit" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "NetworkManageCommitPost": { + "$ref": "./examples/NetworkManagerCommitPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listDeploymentStatus": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + } + ], + "post": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagerDeploymentStatus_List", + "description": "Post to List of Network Manager Deployment Status.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkManagerDeploymentStatusParameter" + }, + "description": "Parameters supplied to specify which Managed Network deployment status is." + } + ], + "responses": { + "200": { + "description": "OK - Returns a list of deployment status.", + "schema": { + "$ref": "#/definitions/NetworkManagerDeploymentStatusListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkManagerDeploymentStatusList": { + "$ref": "./examples/NetworkManagerDeploymentStatusList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagers": { + "get": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagers_ListBySubscription", + "description": "List all network managers in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the network managers.", + "schema": { + "$ref": "#/definitions/NetworkManagerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkManagersList": { + "$ref": "./examples/NetworkManagerListAll.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers": { + "get": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagers_List", + "description": "List network managers in a resource group.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns a list of network managers.", + "schema": { + "$ref": "#/definitions/NetworkManagerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Network Manager": { + "$ref": "./examples/NetworkManagerList.json" + } + } + } + } + }, + "definitions": { + "NetworkManager": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkManagerProperties", + "description": "The network manager properties" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The Managed Network resource" + }, + "NetworkManagerListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkManager" + }, + "description": "Gets a page of NetworkManager" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NetworkManager. It contains a list of network managers and a URL link to get the next set of results." + }, + "NetworkManagerProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the network manager." + }, + "networkManagerScopes": { + "type": "object", + "properties": { + "managementGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of management groups." + }, + "subscriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of subscriptions." + }, + "crossTenantScopes": { + "readOnly": true, + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/CrossTenantScopes" + }, + "description": "List of cross tenant scopes." + } + }, + "description": "Scope of Network Manager." + }, + "networkManagerScopeAccesses": { + "type": "array", + "items": { + "type": "string", + "$ref": "#/definitions/ConfigurationType" + }, + "description": "Scope Access." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network manager resource." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "Unique identifier for this resource." + } + }, + "required": [ + "networkManagerScopes", + "networkManagerScopeAccesses" + ], + "description": "Properties of Managed Network" + }, + "CrossTenantScopes": { + "type": "object", + "properties": { + "tenantId": { + "readOnly": true, + "type": "string", + "description": "Tenant ID." + }, + "managementGroups": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "List of management groups." + }, + "subscriptions": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "List of subscriptions." + } + }, + "description": "Cross tenant scopes." + }, + "NetworkManagerCommit": { + "type": "object", + "properties": { + "commitId": { + "type": "string", + "readOnly": true, + "description": "Commit Id." + }, + "targetLocations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of target locations." + }, + "configurationIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of configuration ids." + }, + "commitType": { + "type": "string", + "$ref": "#/definitions/ConfigurationType", + "description": "Commit Type." + } + }, + "required": [ + "targetLocations", + "commitType" + ], + "description": "Network Manager Commit." + }, + "PatchObject": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Object for patch operations." + }, + "NetworkManagerDeploymentStatusParameter": { + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of locations." + }, + "deploymentTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationType" + }, + "description": "List of deployment types." + }, + "skipToken": { + "description": "Continuation token for pagination, capturing the next page size and offset, as well as the context of the query.", + "type": "string" + } + }, + "description": "Network Manager Deployment Status Parameter." + }, + "NetworkManagerDeploymentStatusListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/NetworkManagerDeploymentStatus" + }, + "description": "Gets a page of Network Manager Deployment Status" + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "A list of Network Manager Deployment Status" + }, + "NetworkManagerDeploymentStatus": { + "type": "object", + "properties": { + "commitTime": { + "type": "string", + "format": "date-time", + "description": "Commit Time." + }, + "region": { + "type": "string", + "description": "Region Name." + }, + "deploymentStatus": { + "type": "string", + "enum": [ + "NotStarted", + "Deploying", + "Deployed", + "Failed" + ], + "x-ms-enum": { + "name": "DeploymentStatus", + "modelAsString": true + }, + "description": "Deployment Status." + }, + "configurationIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of configuration ids." + }, + "deploymentType": { + "type": "string", + "$ref": "#/definitions/ConfigurationType" + }, + "errorMessage": { + "type": "string", + "description": "Error Message." + } + }, + "description": "Network Manager Deployment Status." + }, + "ConfigurationType": { + "type": "string", + "enum": [ + "SecurityAdmin", + "Connectivity" + ], + "x-ms-enum": { + "name": "ConfigurationType", + "modelAsString": true + }, + "description": "Configuration Deployment Type." + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerNameParameter": { + "name": "networkManagerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager.", + "x-ms-parameter-location": "method" + }, + "OperationResultIdParameter": { + "name": "operationResultId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of operation Result.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + }, + "ListSkipTokenParameter": { + "name": "$skipToken", + "description": "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ForceDeleteParameter": { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerActiveConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerActiveConfiguration.json new file mode 100644 index 000000000000..f29573b38cdc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerActiveConfiguration.json @@ -0,0 +1,345 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagerActiveConfiguration", + "description": "The Microsoft Azure Network Manager Active Configuration API provides a RESTful set of web services that interact with Microsoft Azure Network Manager service to list all active configuration by network manager.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveConnectivityConfigurations": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + } + ], + "post": { + "tags": [ + "NetworkManagerActiveConnectivityConfigurations" + ], + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActiveConfigurationParameter" + }, + "description": "Active Configuration Parameter." + } + ], + "operationId": "ListActiveConnectivityConfigurations", + "description": "Lists active connectivity configurations in a network manager.", + "responses": { + "200": { + "description": "Post successful. The operation returns the specified Managed Network active connectivity configuration resource.", + "schema": { + "$ref": "#/definitions/ActiveConnectivityConfigurationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Active Connectivity Configurations": { + "$ref": "./examples/NetworkManagerActiveConnectivityConfigurationsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityAdminRules": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + } + ], + "post": { + "tags": [ + "NetworkManagerActiveConfigurations" + ], + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActiveConfigurationParameter" + }, + "description": "Active Configuration Parameter." + } + ], + "operationId": "ListActiveSecurityAdminRules", + "description": "Lists active security admin rules in a network manager.", + "responses": { + "200": { + "description": "Post successful. The operation returns the specified Managed Network active security admin rules resource.", + "schema": { + "$ref": "#/definitions/ActiveSecurityAdminRulesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Active Security Admin Rules": { + "$ref": "./examples/NetworkManagerActiveSecurityAdminRulesList.json" + } + } + } + } + }, + "definitions": { + "ActiveConfigurationParameter": { + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "type": "string", + "description": "region Name." + }, + "description": "List of regions." + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Effective Virtual Networks Parameter." + }, + "ActiveConnectivityConfiguration": { + "type": "object", + "properties": { + "commitTime": { + "type": "string", + "description": "Deployment time string.", + "format": "date-time" + }, + "region": { + "type": "string", + "description": "Deployment region." + } + }, + "allOf": [ + { + "$ref": "./networkManagerEffectiveConfiguration.json#/definitions/EffectiveConnectivityConfiguration" + } + ], + "description": "Active connectivity configuration." + }, + "ActiveConnectivityConfigurationsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ActiveConnectivityConfiguration" + }, + "description": "Gets a page of active connectivity configurations." + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Result of the request to list active connectivity configurations. It contains a list of active connectivity configurations and a skiptoken to get the next set of results." + }, + "ActiveSecurityAdminRulesListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ActiveBaseSecurityAdminRule" + }, + "description": "Gets a page of active security admin rules." + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Result of the request to list active security admin rules. It contains a list of active security admin rules and a skiptoken to get the next set of results." + }, + "ActiveBaseSecurityAdminRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "commitTime": { + "type": "string", + "description": "Deployment time string.", + "format": "date-time" + }, + "region": { + "type": "string", + "description": "Deployment region." + }, + "configurationDescription": { + "type": "string", + "description": "A description of the security admin configuration." + }, + "ruleCollectionDescription": { + "type": "string", + "description": "A description of the rule collection." + }, + "ruleCollectionAppliesToGroups": { + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/NetworkManagerSecurityGroupItem" + }, + "description": "Groups for rule collection" + }, + "ruleGroups": { + "type": "array", + "items": { + "$ref": "./networkManagerEffectiveConfiguration.json#/definitions/ConfigurationGroup" + }, + "description": "Effective configuration groups." + }, + "kind": { + "type": "string", + "description": "Whether the rule is custom or default.", + "enum": [ + "Custom", + "Default" + ], + "x-ms-enum": { + "name": "EffectiveAdminRuleKind", + "modelAsString": true + } + } + }, + "required": [ + "kind" + ], + "discriminator": "kind", + "description": "Network base admin rule." + }, + "ActiveSecurityAdminRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/AdminPropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the security admin rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ActiveBaseSecurityAdminRule" + } + ], + "description": "Network admin rule.", + "x-ms-discriminator-value": "Custom" + }, + "ActiveDefaultSecurityAdminRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/DefaultAdminPropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the default security admin rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ActiveBaseSecurityAdminRule" + } + ], + "description": "Network default admin rule.", + "x-ms-discriminator-value": "Default" + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerNameParameter": { + "name": "networkManagerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerConnection.json new file mode 100644 index 000000000000..9f9a1cb87b9e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerConnection.json @@ -0,0 +1,426 @@ +{ + "swagger": "2.0", + "info": { + "title": "ScopeConnections", + "description": "The Microsoft Azure Virtual Network Manager API provides a RESTful set of web services that interact with Microsoft Azure Network Manager service to manage your network resources.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/NetworkManagerConnectionNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "put": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "SubscriptionNetworkManagerConnections_CreateOrUpdate", + "description": "Create a network manager connection on this subscription.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + }, + "description": "Network manager connection to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the connection.", + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + } + }, + "201": { + "description": "Created - Returns information about the connection.", + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or Update Subscription Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionSubscriptionPut.json" + } + } + }, + "get": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "SubscriptionNetworkManagerConnections_Get", + "description": "Get a specified connection created by this subscription.", + "responses": { + "200": { + "description": "OK - Returns the connection.", + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Subscription Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionSubscriptionGet.json" + } + } + }, + "delete": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "SubscriptionNetworkManagerConnections_Delete", + "description": "Delete specified connection created by this subscription.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Subscription Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionSubscriptionDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections": { + "get": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "SubscriptionNetworkManagerConnections_List", + "description": "List all network manager connections created by this subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ListTopParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the network manager connection(s).", + "schema": { + "$ref": "#/definitions/NetworkManagerConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Subscription Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionSubscriptionList.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}": { + "parameters": [ + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/NetworkManagerConnectionNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "put": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "ManagementGroupNetworkManagerConnections_CreateOrUpdate", + "description": "Create a network manager connection on this management group.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + }, + "description": "Network manager connection to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the connection.", + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + } + }, + "201": { + "description": "Created - Returns information about the connection.", + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or Update Management Group Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionManagementGroupPut.json" + } + } + }, + "get": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "ManagementGroupNetworkManagerConnections_Get", + "description": "Get a specified connection created by this management group.", + "responses": { + "200": { + "description": "OK - Returns the connection.", + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Management Group Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionManagementGroupGet.json" + } + } + }, + "delete": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "ManagementGroupNetworkManagerConnections_Delete", + "description": "Delete specified pending connection created by this management group.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Management Group Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionManagementGroupDelete.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Network/networkManagerConnections": { + "get": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "ManagementGroupNetworkManagerConnections_List", + "description": "List all network manager connections created by this management group.", + "parameters": [ + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ListTopParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the network manager connection(s).", + "schema": { + "$ref": "#/definitions/NetworkManagerConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Management Group Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionManagementGroupList.json" + } + } + } + } + }, + "definitions": { + "NetworkManagerConnection": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkManagerConnectionProperties", + "description": "The scope connection properties" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ChildResource" + } + ], + "description": "The Network Manager Connection resource" + }, + "NetworkManagerConnectionProperties": { + "type": "object", + "properties": { + "networkManagerId": { + "type": "string", + "description": "Network Manager Id." + }, + "connectionState": { + "x-ms-client-flatten": true, + "$ref": "./networkManagerScopeConnection.json#/definitions/ConnectionState", + "description": "Connection state." + }, + "description": { + "type": "string", + "description": "A description of the network manager connection." + } + }, + "description": "Information about the network manager connection." + }, + "NetworkManagerConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkManagerConnection" + }, + "description": "List of network manager connections." + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "List of network manager connections." + } + }, + "parameters": { + "ManagementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "The management group Id which uniquely identify the Microsoft Azure management group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerConnectionNameParameter": { + "name": "networkManagerConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name for the network manager connection.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerConnectivityConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerConnectivityConfiguration.json new file mode 100644 index 000000000000..da74b90ff104 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerConnectivityConfiguration.json @@ -0,0 +1,458 @@ +{ + "swagger": "2.0", + "info": { + "title": "ConnectivityConfiguration", + "description": "The Microsoft Azure Virtual Network Manager Connectivity Configuration API provides a RESTful set of web services that interact with Microsoft Azure Network Manager service to manage your network resources.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations/{configurationName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/ConnectivityConfigurationNameParameter" + } + ], + "get": { + "tags": [ + "ConnectivityConfigurations" + ], + "operationId": "ConnectivityConfigurations_Get", + "description": "Gets a Network Connectivity Configuration, specified by the resource group, network manager name, and connectivity Configuration name", + "responses": { + "200": { + "description": "Get successful. The operation returns the specified Managed Network Connectivity Configuration resource.", + "schema": { + "$ref": "#/definitions/ConnectivityConfiguration" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ConnectivityConfigurationsGet": { + "$ref": "./examples/NetworkManagerConnectivityConfigurationGet.json" + } + } + }, + "put": { + "tags": [ + "ConnectivityConfigurations" + ], + "operationId": "ConnectivityConfigurations_CreateOrUpdate", + "description": "Creates/Updates a new network manager connectivity configuration", + "parameters": [ + { + "name": "connectivityConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectivityConfiguration" + }, + "description": "Parameters supplied to create/update a network manager connectivity configuration" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting network manager connectivity configuration.", + "schema": { + "$ref": "#/definitions/ConnectivityConfiguration" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting network manager connectivity configuration.", + "schema": { + "$ref": "#/definitions/ConnectivityConfiguration" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ConnectivityConfigurationsPut": { + "$ref": "./examples/NetworkManagerConnectivityConfigurationPut.json" + } + } + }, + "delete": { + "tags": [ + "ConnectivityConfigurations" + ], + "operationId": "ConnectivityConfigurations_Delete", + "description": "Deletes a network manager connectivity configuration, specified by the resource group, network manager name, and connectivity configuration name", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ConnectivityConfigurationsDelete": { + "$ref": "./examples/NetworkManagerConnectivityConfigurationDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations": { + "get": { + "tags": [ + "ConnectivityConfigurations" + ], + "operationId": "ConnectivityConfigurations_List", + "description": "Lists all the network manager connectivity configuration in a specified network manager.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Get successful. The operation returns all network manager connectivity configuration resources in the specified network manager, in a paginated format", + "schema": { + "$ref": "#/definitions/ConnectivityConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ConnectivityConfigurationsList": { + "$ref": "./examples/NetworkManagerConnectivityConfigurationList.json" + } + } + } + } + }, + "definitions": { + "ConnectivityConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectivityConfiguration" + }, + "description": "Gets a page of Connectivity Configurations" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list network manager connectivity configurations. It contains a list of configurations and a link to get the next set of results." + }, + "ConnectivityConfiguration": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConnectivityConfigurationProperties", + "description": "Properties of a network manager connectivity configuration" + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ChildResource" + } + ], + "description": "The network manager connectivity configuration resource" + }, + "ConnectivityConfigurationProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the connectivity configuration." + }, + "connectivityTopology": { + "type": "string", + "enum": [ + "HubAndSpoke", + "Mesh" + ], + "x-ms-enum": { + "name": "ConnectivityTopology", + "modelAsString": true + }, + "description": "Connectivity topology type." + }, + "hubs": { + "type": "array", + "x-ms-identifiers": [ + "resourceId" + ], + "items": { + "$ref": "#/definitions/Hub" + }, + "description": "List of hubItems" + }, + "isGlobal": { + "type": "string", + "enum": [ + "False", + "True" + ], + "x-ms-enum": { + "name": "IsGlobal", + "modelAsString": true + }, + "description": "Flag if global mesh is supported." + }, + "appliesToGroups": { + "type": "array", + "x-ms-identifiers": [ + "networkGroupId" + ], + "items": { + "$ref": "#/definitions/connectivityGroupItem" + }, + "description": "Groups for configuration" + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the connectivity configuration resource." + }, + "deleteExistingPeering": { + "type": "string", + "enum": [ + "False", + "True" + ], + "x-ms-enum": { + "name": "DeleteExistingPeering", + "modelAsString": true + }, + "description": "Flag if need to remove current existing peerings." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "Unique identifier for this resource." + } + }, + "required": [ + "connectivityTopology", + "appliesToGroups" + ], + "description": "Properties of network manager connectivity configuration" + }, + "Hub": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Resource Id." + }, + "resourceType": { + "type": "string", + "description": "Resource Type." + } + }, + "description": "Hub Item." + }, + "connectivityGroupItem": { + "type": "object", + "properties": { + "networkGroupId": { + "type": "string", + "description": "Network group Id." + }, + "useHubGateway": { + "type": "string", + "enum": [ + "False", + "True" + ], + "x-ms-enum": { + "name": "UseHubGateway", + "modelAsString": true + }, + "description": "Flag if need to use hub gateway." + }, + "isGlobal": { + "type": "string", + "enum": [ + "False", + "True" + ], + "x-ms-enum": { + "name": "IsGlobal", + "modelAsString": true + }, + "description": "Flag if global is supported." + }, + "groupConnectivity": { + "type": "string", + "enum": [ + "None", + "DirectlyConnected" + ], + "x-ms-enum": { + "name": "GroupConnectivity", + "modelAsString": true + }, + "description": "Group connectivity type." + } + }, + "description": "Connectivity group item.", + "required": [ + "networkGroupId", + "groupConnectivity" + ] + } + }, + "parameters": { + "ConnectivityConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager connectivity configuration.", + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerNameParameter": { + "name": "networkManagerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + }, + "ListSkipTokenParameter": { + "name": "$skipToken", + "description": "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ForceDeleteParameter": { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerEffectiveConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerEffectiveConfiguration.json new file mode 100644 index 000000000000..d1b8a1cc3a71 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerEffectiveConfiguration.json @@ -0,0 +1,337 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagerEffectiveConfiguration", + "description": "The Microsoft Azure Network Manager effective configuration API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveConnectivityConfigurations": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VirtualNetworkNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + } + ], + "post": { + "tags": [ + "NetworkManagerEffectiveConnectivityConfiguration" + ], + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./networkManagerGroup.json#/definitions/QueryRequestOptions" + }, + "description": "Parameters supplied to list correct page." + } + ], + "operationId": "ListNetworkManagerEffectiveConnectivityConfigurations", + "description": "List all effective connectivity configurations applied on a virtual network.", + "responses": { + "200": { + "description": "OK - Returns information about the configurations.", + "schema": { + "$ref": "#/definitions/NetworkManagerEffectiveConnectivityConfigurationListResult" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List effective connectivity configuration": { + "$ref": "./examples/NetworkManagerEffectiveConnectivityConfigurationsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveSecurityAdminRules": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VirtualNetworkNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + } + ], + "post": { + "tags": [ + "NetworkManagerEffectiveSecurityAdminRules" + ], + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./networkManagerGroup.json#/definitions/QueryRequestOptions" + }, + "description": "Parameters supplied to list correct page." + } + ], + "operationId": "ListNetworkManagerEffectiveSecurityAdminRules", + "description": "List all effective security admin rules applied on a virtual network.", + "responses": { + "200": { + "description": "OK - Returns information about the configurations.", + "schema": { + "$ref": "#/definitions/NetworkManagerEffectiveSecurityAdminRulesListResult" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List effective security admin rules": { + "$ref": "./examples/NetworkManagerEffectiveSecurityAdminRulesList.json" + } + } + } + } + }, + "definitions": { + "NetworkManagerEffectiveConnectivityConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveConnectivityConfiguration" + }, + "description": "Gets a page of NetworkManagerEffectiveConnectivityConfiguration" + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Result of the request to list networkManagerEffectiveConnectivityConfiguration. It contains a list of groups and a skiptoken to get the next set of results." + }, + "NetworkManagerEffectiveSecurityAdminRulesListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveBaseSecurityAdminRule" + }, + "description": "Gets a page of NetworkManagerEffectiveSecurityAdminRules" + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Result of the request to list networkManagerEffectiveSecurityAdminRules. It contains a list of groups and a skiptoken to get the next set of results." + }, + "EffectiveConnectivityConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Connectivity configuration ID." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "./networkManagerConnectivityConfiguration.json#/definitions/ConnectivityConfigurationProperties", + "description": "Properties of a network manager connectivity configuration" + }, + "configurationGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationGroup" + }, + "description": "Effective configuration groups." + } + }, + "description": "The network manager effective connectivity configuration" + }, + "EffectiveBaseSecurityAdminRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "configurationDescription": { + "type": "string", + "description": "A description of the security admin configuration." + }, + "ruleCollectionDescription": { + "type": "string", + "description": "A description of the rule collection." + }, + "ruleCollectionAppliesToGroups": { + "type": "array", + "x-ms-identifiers": [ + "networkGroupId" + ], + "items": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/NetworkManagerSecurityGroupItem" + }, + "description": "Groups for rule collection" + }, + "ruleGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationGroup" + }, + "description": "Effective configuration groups." + }, + "kind": { + "type": "string", + "description": "Whether the rule is custom or default.", + "enum": [ + "Custom", + "Default" + ], + "x-ms-enum": { + "name": "EffectiveAdminRuleKind", + "modelAsString": true + } + } + }, + "required": [ + "kind" + ], + "discriminator": "kind", + "description": "Network base admin rule." + }, + "EffectiveSecurityAdminRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/AdminPropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the security admin rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/EffectiveBaseSecurityAdminRule" + } + ], + "description": "Network admin rule.", + "x-ms-discriminator-value": "Custom" + }, + "EffectiveDefaultSecurityAdminRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/DefaultAdminPropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the default security admin rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/EffectiveBaseSecurityAdminRule" + } + ], + "description": "Network default admin rule.", + "x-ms-discriminator-value": "Default" + }, + "ConfigurationGroup": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Network group ID." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "./networkManagerGroup.json#/definitions/NetworkGroupProperties", + "description": "The network configuration group properties" + } + }, + "description": "The network configuration group resource" + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "VirtualNetworkNameParameter": { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerGroup.json new file mode 100644 index 000000000000..d9e376eee2f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerGroup.json @@ -0,0 +1,601 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkGroup", + "description": "The Microsoft Azure Network Group API provides a RESTful set of web services that interact with Microsoft Azure Network Manager service to manage your network resources.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/NetworkGroupNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NetworkGroups" + ], + "operationId": "NetworkGroups_Get", + "description": "Gets the specified network group.", + "responses": { + "200": { + "description": "OK - Returns information about the network group.", + "schema": { + "$ref": "#/definitions/NetworkGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkGroupsGet": { + "$ref": "./examples/NetworkManagerGroupGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkGroups" + ], + "operationId": "NetworkGroups_CreateOrUpdate", + "description": "Creates or updates a network group.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkGroup" + }, + "description": "Parameters supplied to the specify which network group need to create" + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the transformation. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the network group.", + "schema": { + "$ref": "#/definitions/NetworkGroup" + }, + "headers": { + "ETag": { + "description": "The current entity tag.", + "type": "string" + } + } + }, + "201": { + "description": "Created - Returns information about the network group.", + "schema": { + "$ref": "#/definitions/NetworkGroup" + }, + "headers": { + "ETag": { + "description": "The current entity tag.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkGroupsPut": { + "$ref": "./examples/NetworkManagerGroupPut.json" + } + } + }, + "delete": { + "tags": [ + "NetworkGroups" + ], + "operationId": "NetworkGroups_Delete", + "description": "Deletes a network group.", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "responses": { + "200": { + "description": "Delete Succeed." + }, + "202": { + "description": "Accepted and will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "NetworkGroupsDelete": { + "$ref": "./examples/NetworkManagerGroupDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups": { + "get": { + "tags": [ + "NetworkGroups" + ], + "operationId": "NetworkGroups_List", + "description": "Lists the specified network group.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the network group.", + "schema": { + "$ref": "#/definitions/NetworkGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkGroupsList": { + "$ref": "./examples/NetworkManagerGroupList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers/{staticMemberName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/NetworkGroupNameParameter" + }, + { + "$ref": "#/parameters/StaticMemberNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "StaticMembers" + ], + "operationId": "StaticMembers_Get", + "description": "Gets the specified static member.", + "responses": { + "200": { + "description": "OK - Returns information about the static member.", + "schema": { + "$ref": "#/definitions/StaticMember" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StaticMembersGet": { + "$ref": "./examples/NetworkManagerStaticMemberGet.json" + } + } + }, + "put": { + "tags": [ + "StaticMembers" + ], + "operationId": "StaticMembers_CreateOrUpdate", + "description": "Creates or updates a static member.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StaticMember" + }, + "description": "Parameters supplied to the specify the static member to create" + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the static member.", + "schema": { + "$ref": "#/definitions/StaticMember" + } + }, + "201": { + "description": "Created - Returns information about the static member.", + "schema": { + "$ref": "#/definitions/StaticMember" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StaticMemberPut": { + "$ref": "./examples/NetworkManagerStaticMemberPut.json" + } + } + }, + "delete": { + "tags": [ + "StaticMembers" + ], + "operationId": "StaticMembers_Delete", + "description": "Deletes a static member.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StaticMembersDelete": { + "$ref": "./examples/NetworkManagerStaticMemberDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers": { + "get": { + "tags": [ + "StaticMembers" + ], + "operationId": "StaticMembers_List", + "description": "Lists the specified static member.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/NetworkGroupNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the static member.", + "schema": { + "$ref": "#/definitions/StaticMemberListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StaticMembersList": { + "$ref": "./examples/NetworkManagerStaticMemberList.json" + } + } + } + } + }, + "definitions": { + "NetworkGroup": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkGroupProperties", + "description": "The Network Group properties" + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ChildResource" + } + ], + "description": "The network group resource" + }, + "NetworkGroupListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkGroup" + }, + "description": "Gets a page of NetworkGroup" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next set of results." + } + }, + "description": "Result of the request to list NetworkGroup. It contains a list of groups and a URL link to get the next set of results." + }, + "NetworkGroupProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the network group." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the scope assignment resource." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "Unique identifier for this resource." + } + }, + "description": "Properties of network group" + }, + "StaticMember": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StaticMemberProperties", + "description": "The Static Member properties" + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ChildResource" + } + ], + "description": "StaticMember Item." + }, + "StaticMemberListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StaticMember" + }, + "description": "Gets a page of StaticMember" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next set of results." + } + }, + "description": "Result of the request to list StaticMember. It contains a list of groups and a URL link to get the next set of results." + }, + "StaticMemberProperties": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Resource Id." + }, + "region": { + "readOnly": true, + "type": "string", + "description": "Resource region." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the scope assignment resource." + } + }, + "description": "Properties of static member." + }, + "QueryRequestOptions": { + "type": "object", + "properties": { + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Query Request Options" + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerNameParameter": { + "name": "networkManagerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager.", + "x-ms-parameter-location": "method" + }, + "NetworkGroupNameParameter": { + "name": "networkGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network group.", + "x-ms-parameter-location": "method" + }, + "StaticMemberNameParameter": { + "name": "staticMemberName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the static member.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + }, + "ListSkipTokenParameter": { + "name": "$skipToken", + "description": "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ForceDeleteParameter": { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerScopeConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerScopeConnection.json new file mode 100644 index 000000000000..43c9633969bc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerScopeConnection.json @@ -0,0 +1,297 @@ +{ + "swagger": "2.0", + "info": { + "title": "ScopeConnections", + "description": "The Microsoft Azure Virtual Network Manager API provides a RESTful set of web services that interact with Microsoft Azure Network Manager service to manage your network resources.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections/{scopeConnectionName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./networkManager.json#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/ScopeConnectionName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "put": { + "tags": [ + "ScopeConnections" + ], + "operationId": "ScopeConnections_CreateOrUpdate", + "description": "Creates or updates scope connection from Network Manager", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopeConnection" + }, + "description": "Scope connection to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the updates scope connection.", + "schema": { + "$ref": "#/definitions/ScopeConnection" + } + }, + "201": { + "description": "Created - Returns information about the new scope connection.", + "schema": { + "$ref": "#/definitions/ScopeConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or Update Network Manager Scope Connection": { + "$ref": "./examples/NetworkManagerScopeConnectionPut.json" + } + } + }, + "get": { + "tags": [ + "ScopeConnections" + ], + "operationId": "ScopeConnections_Get", + "description": "Get specified scope connection created by this Network Manager.", + "responses": { + "200": { + "description": "OK - Returns the resource", + "schema": { + "$ref": "#/definitions/ScopeConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Network Manager Scope Connection": { + "$ref": "./examples/NetworkManagerScopeConnectionGet.json" + } + } + }, + "delete": { + "tags": [ + "ScopeConnections" + ], + "operationId": "ScopeConnections_Delete", + "description": "Delete the pending scope connection created by this network manager.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Network Manager Scope Connection": { + "$ref": "./examples/NetworkManagerScopeConnectionDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections": { + "get": { + "tags": [ + "ScopeConnections" + ], + "operationId": "ScopeConnections_List", + "description": "List all scope connections created by this network manager.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./networkManager.json#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ListTopParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the scope connection(s).", + "schema": { + "$ref": "#/definitions/ScopeConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Network Manager Scope Connection": { + "$ref": "./examples/NetworkManagerScopeConnectionList.json" + } + } + } + } + }, + "definitions": { + "ScopeConnection": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScopeConnectionProperties", + "description": "The scope connection properties" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ChildResource" + } + ], + "description": "The Scope Connections resource" + }, + "ScopeConnectionProperties": { + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "Tenant ID." + }, + "resourceId": { + "type": "string", + "description": "Resource ID." + }, + "connectionState": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConnectionState", + "description": "Connection State" + }, + "description": { + "type": "string", + "description": "A description of the scope connection." + } + }, + "description": "Scope connection." + }, + "ScopeConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ScopeConnection" + }, + "description": "List of scope connections." + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "List of scope connections." + }, + "ConnectionState": { + "type": "string", + "readOnly": true, + "description": "The current scope connection state.", + "enum": [ + "Connected", + "Pending", + "Conflict", + "Revoked", + "Rejected" + ], + "x-ms-enum": { + "name": "ScopeConnectionState", + "modelAsString": true + } + } + }, + "parameters": { + "ScopeConnectionName": { + "name": "scopeConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name for the cross-tenant connection.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerSecurityAdminConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerSecurityAdminConfiguration.json new file mode 100644 index 000000000000..c6cb93e3c594 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkManagerSecurityAdminConfiguration.json @@ -0,0 +1,1158 @@ +{ + "swagger": "2.0", + "info": { + "title": "SecurityAdminConfiguration", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations": { + "get": { + "tags": [ + "SecurityAdminConfigurations" + ], + "operationId": "SecurityAdminConfigurations_List", + "description": "Lists all the network manager security admin configurations in a network manager, in a paginated format.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Get successful. The operation returns all security admin configuration resources in the specified network manager, in a paginated format", + "schema": { + "$ref": "#/definitions/SecurityAdminConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List security admin configurations in a network manager": { + "$ref": "./examples/NetworkManagerSecurityAdminConfigurationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + } + ], + "get": { + "tags": [ + "SecurityAdminConfigurations" + ], + "description": "Retrieves a network manager security admin configuration.", + "operationId": "SecurityAdminConfigurations_Get", + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/SecurityAdminConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get security admin configurations": { + "$ref": "./examples/NetworkManagerSecurityAdminConfigurationGet.json" + } + } + }, + "put": { + "tags": [ + "SecurityAdminConfigurations" + ], + "description": "Creates or updates a network manager security admin configuration.", + "operationId": "SecurityAdminConfigurations_CreateOrUpdate", + "parameters": [ + { + "name": "securityAdminConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityAdminConfiguration" + }, + "description": "The security admin configuration to create or update" + } + ], + "responses": { + "200": { + "description": "Updated Admin Configuration", + "schema": { + "$ref": "#/definitions/SecurityAdminConfiguration" + } + }, + "201": { + "description": "Created Admin Configuration", + "schema": { + "$ref": "#/definitions/SecurityAdminConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create network manager security admin configuration": { + "$ref": "./examples/NetworkManagerSecurityAdminConfigurationPut.json" + } + } + }, + "delete": { + "tags": [ + "SecurityAdminConfigurations" + ], + "description": "Deletes a network manager security admin configuration.", + "operationId": "SecurityAdminConfigurations_Delete", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted and will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete network manager security admin configuration": { + "$ref": "./examples/NetworkManagerSecurityAdminConfigurationDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections": { + "get": { + "tags": [ + "AdminRuleCollections" + ], + "operationId": "AdminRuleCollections_List", + "description": "Lists all the rule collections in a security admin configuration, in a paginated format.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Get successful. The operation returns all ruleCollections in the specified security configuration, in a paginated format", + "schema": { + "$ref": "#/definitions/AdminRuleCollectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List security admin rule collections": { + "$ref": "./examples/NetworkManagerAdminRuleCollectionList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + }, + { + "$ref": "#/parameters/RuleCollectionParameter" + } + ], + "get": { + "tags": [ + "AdminRuleCollections" + ], + "description": "Gets a network manager security admin configuration rule collection.", + "operationId": "AdminRuleCollections_Get", + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/AdminRuleCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets security admin rule collection": { + "$ref": "./examples/NetworkManagerAdminRuleCollectionGet.json" + } + } + }, + "put": { + "tags": [ + "AdminRuleCollections" + ], + "description": "Creates or updates an admin rule collection.", + "operationId": "AdminRuleCollections_CreateOrUpdate", + "parameters": [ + { + "name": "ruleCollection", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AdminRuleCollection" + }, + "description": "The Rule Collection to create or update" + } + ], + "responses": { + "200": { + "description": "Updated Rule Collection", + "schema": { + "$ref": "#/definitions/AdminRuleCollection" + } + }, + "201": { + "description": "Created Rule Collection", + "schema": { + "$ref": "#/definitions/AdminRuleCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or Update an admin rule collection": { + "$ref": "./examples/NetworkManagerAdminRuleCollectionPut.json" + } + } + }, + "delete": { + "tags": [ + "AdminRuleCollections" + ], + "description": "Deletes an admin rule collection.", + "operationId": "AdminRuleCollections_Delete", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted and will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Deletes an admin rule collection": { + "$ref": "./examples/NetworkManagerAdminRuleCollectionDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + }, + { + "$ref": "#/parameters/RuleCollectionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "get": { + "tags": [ + "AdminRules" + ], + "description": "List all network manager security configuration admin rules.", + "operationId": "AdminRules_List", + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/AdminRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List security admin rules": { + "$ref": "./examples/NetworkManagerAdminRuleList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + }, + { + "$ref": "#/parameters/RuleCollectionParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationsRuleParameter" + } + ], + "get": { + "tags": [ + "AdminRules" + ], + "description": "Gets a network manager security configuration admin rule.", + "operationId": "AdminRules_Get", + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/BaseAdminRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets security admin rule": { + "$ref": "./examples/NetworkManagerAdminRuleGet.json" + }, + "Gets security default admin rule": { + "$ref": "./examples/NetworkManagerDefaultAdminRuleGet.json" + } + } + }, + "put": { + "tags": [ + "AdminRules" + ], + "description": "Creates or updates an admin rule.", + "operationId": "AdminRules_CreateOrUpdate", + "parameters": [ + { + "name": "adminRule", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BaseAdminRule" + }, + "description": "The admin rule to create or update" + } + ], + "responses": { + "200": { + "description": "Updated rule", + "schema": { + "$ref": "#/definitions/BaseAdminRule" + } + }, + "201": { + "description": "Created rule", + "schema": { + "$ref": "#/definitions/BaseAdminRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create an admin rule": { + "$ref": "./examples/NetworkManagerAdminRulePut.json" + }, + "Create a default admin rule": { + "$ref": "./examples/NetworkManagerDefaultAdminRulePut.json" + } + } + }, + "delete": { + "tags": [ + "AdminRules" + ], + "description": "Deletes an admin rule.", + "operationId": "AdminRules_Delete", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted and will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Deletes an admin rule": { + "$ref": "./examples/NetworkManagerAdminRuleDelete.json" + } + } + } + } + }, + "definitions": { + "SecurityAdminConfiguration": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityAdminConfigurationPropertiesFormat", + "description": "Indicates the properties for the network manager security admin configuration." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ChildResource" + } + ], + "description": "Defines the security admin configuration" + }, + "SecurityAdminConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the security configuration." + }, + "applyOnNetworkIntentPolicyBasedServices": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkIntentPolicyBasedService" + }, + "description": "Enum list of network intent policy based services." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "Unique identifier for this resource." + } + }, + "description": "Defines the security admin configuration properties." + }, + "SecurityAdminConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityAdminConfiguration" + }, + "description": "Gets a page of security admin configurations" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "A list of network manager security admin configurations" + }, + "AdminRuleListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BaseAdminRule" + }, + "description": "A list of admin rules" + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "security configuration admin rule list result." + }, + "AdminRuleCollectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AdminRuleCollection" + }, + "description": "A list of network manager security admin configuration rule collections" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next set of results." + } + }, + "description": "Security admin configuration rule collection list result." + }, + "AdminRuleCollection": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AdminRuleCollectionPropertiesFormat", + "description": "Indicates the properties for the network manager admin rule collection." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ChildResource" + } + ], + "description": "Defines the admin rule collection." + }, + "AdminRuleCollectionPropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the admin rule collection." + }, + "appliesToGroups": { + "type": "array", + "x-ms-identifiers": [ + "networkGroupId" + ], + "items": { + "$ref": "#/definitions/NetworkManagerSecurityGroupItem" + }, + "description": "Groups for configuration" + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "Unique identifier for this resource." + } + }, + "required": [ + "appliesToGroups" + ], + "description": "Defines the admin rule collection properties." + }, + "BaseAdminRule": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Whether the rule is custom or default.", + "enum": [ + "Custom", + "Default" + ], + "x-ms-enum": { + "name": "AdminRuleKind", + "modelAsString": true + } + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ChildResource" + } + ], + "required": [ + "kind" + ], + "discriminator": "kind", + "description": "Network base admin rule." + }, + "AdminRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AdminPropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the security admin rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BaseAdminRule" + } + ], + "description": "Network admin rule.", + "x-ms-discriminator-value": "Custom" + }, + "AdminPropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for this rule. Restricted to 140 chars." + }, + "protocol": { + "type": "string", + "$ref": "#/definitions/RuleProtocol", + "description": "Network protocol this rule applies to." + }, + "sources": { + "type": "array", + "x-ms-identifiers": [ + "addressPrefix" + ], + "items": { + "$ref": "#/definitions/AddressPrefixItem" + }, + "description": "The CIDR or source IP ranges." + }, + "destinations": { + "type": "array", + "x-ms-identifiers": [ + "addressPrefix" + ], + "items": { + "$ref": "#/definitions/AddressPrefixItem" + }, + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string", + "description": "The source port." + }, + "description": "The source port ranges." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "type": "string", + "description": "The destination port." + }, + "description": "The destination port ranges." + }, + "access": { + "$ref": "#/definitions/SecurityConfigurationRuleAccess", + "description": "Indicates the access allowed for this particular rule" + }, + "priority": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 4096, + "description": "The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule." + }, + "direction": { + "$ref": "#/definitions/SecurityConfigurationRuleDirection", + "description": "Indicates if the traffic matched against the rule in inbound or outbound." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "Unique identifier for this resource." + } + }, + "required": [ + "protocol", + "access", + "direction", + "priority" + ], + "description": "Security admin rule resource." + }, + "DefaultAdminRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DefaultAdminPropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the security admin rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BaseAdminRule" + } + ], + "description": "Network default admin rule.", + "x-ms-discriminator-value": "Default" + }, + "DefaultAdminPropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "readOnly": true, + "description": "A description for this rule. Restricted to 140 chars." + }, + "flag": { + "type": "string", + "description": "Default rule flag." + }, + "protocol": { + "type": "string", + "readOnly": true, + "$ref": "#/definitions/RuleProtocol", + "description": "Network protocol this rule applies to." + }, + "sources": { + "type": "array", + "x-ms-identifiers": [ + "addressPrefix" + ], + "readOnly": true, + "items": { + "$ref": "#/definitions/AddressPrefixItem" + }, + "description": "The CIDR or source IP ranges." + }, + "destinations": { + "type": "array", + "x-ms-identifiers": [ + "addressPrefix" + ], + "readOnly": true, + "items": { + "$ref": "#/definitions/AddressPrefixItem" + }, + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "sourcePortRanges": { + "type": "array", + "readOnly": true, + "items": { + "type": "string", + "description": "The source port." + }, + "description": "The source port ranges." + }, + "destinationPortRanges": { + "type": "array", + "readOnly": true, + "items": { + "type": "string", + "description": "The destination port." + }, + "description": "The destination port ranges." + }, + "access": { + "$ref": "#/definitions/SecurityConfigurationRuleAccess", + "readOnly": true, + "description": "Indicates the access allowed for this particular rule" + }, + "priority": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule." + }, + "direction": { + "$ref": "#/definitions/SecurityConfigurationRuleDirection", + "readOnly": true, + "description": "Indicates if the traffic matched against the rule in inbound or outbound." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "Unique identifier for this resource." + } + }, + "description": "Security default admin rule resource." + }, + "SecurityConfigurationRuleAccess": { + "type": "string", + "description": "Whether network traffic is allowed or denied.", + "enum": [ + "Allow", + "Deny", + "AlwaysAllow" + ], + "x-ms-enum": { + "name": "SecurityConfigurationRuleAccess", + "modelAsString": true + } + }, + "SecurityConfigurationRuleDirection": { + "type": "string", + "description": "The direction of the rule. The direction specifies if the rule will be evaluated on incoming or outgoing traffic.", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "SecurityConfigurationRuleDirection", + "modelAsString": true + } + }, + "RuleProtocol": { + "type": "string", + "description": "Network protocol this rule applies to.", + "enum": [ + "Tcp", + "Udp", + "Icmp", + "Esp", + "Any", + "Ah" + ], + "x-ms-enum": { + "name": "SecurityConfigurationRuleProtocol", + "modelAsString": true + } + }, + "NetworkManagerSecurityGroupItem": { + "type": "object", + "properties": { + "networkGroupId": { + "type": "string", + "description": "Network manager group Id." + } + }, + "required": [ + "networkGroupId" + ], + "description": "Network manager security group item." + }, + "AddressPrefixItem": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "Address prefix." + }, + "addressPrefixType": { + "type": "string", + "description": "Address prefix type.", + "enum": [ + "IPPrefix", + "ServiceTag" + ], + "x-ms-enum": { + "name": "AddressPrefixType", + "modelAsString": true + } + } + }, + "description": "Address prefix item." + }, + "NetworkIntentPolicyBasedService": { + "type": "string", + "description": "Network intent policy based services.", + "enum": [ + "None", + "All", + "AllowRulesOnly" + ], + "x-ms-enum": { + "name": "NetworkIntentPolicyBasedService", + "modelAsString": true + } + } + }, + "parameters": { + "SecurityConfigurationParameter": { + "name": "configurationName", + "in": "path", + "description": "The name of the network manager Security Configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RuleCollectionParameter": { + "name": "ruleCollectionName", + "in": "path", + "description": "The name of the network manager security Configuration rule collection.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SecurityConfigurationsRuleParameter": { + "name": "ruleName", + "in": "path", + "description": "The name of the rule.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerNameParameter": { + "name": "networkManagerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + }, + "ListSkipTokenParameter": { + "name": "$skipToken", + "description": "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ForceDeleteParameter": { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkProfile.json new file mode 100644 index 000000000000..dba434fdeeb8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkProfile.json @@ -0,0 +1,622 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}": { + "delete": { + "tags": [ + "NetworkProfiles" + ], + "operationId": "NetworkProfiles_Delete", + "description": "Deletes the specified network profile.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NetworkProfile." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete network profile": { + "$ref": "./examples/NetworkProfileDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkProfiles" + ], + "operationId": "NetworkProfiles_Get", + "description": "Gets the specified network profile in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP prefix." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkProfile resource.", + "schema": { + "$ref": "#/definitions/NetworkProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get network profile": { + "$ref": "./examples/NetworkProfileGetConfigOnly.json" + }, + "Get network profile with container network interfaces": { + "$ref": "./examples/NetworkProfileGetWithContainerNic.json" + } + } + }, + "put": { + "tags": [ + "NetworkProfiles" + ], + "operationId": "NetworkProfiles_CreateOrUpdate", + "description": "Creates or updates a network profile.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network profile." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkProfile" + }, + "description": "Parameters supplied to the create or update network profile operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting NetworkProfile resource.", + "schema": { + "$ref": "#/definitions/NetworkProfile" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting NetworkProfile resource.", + "schema": { + "$ref": "#/definitions/NetworkProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create network profile defaults": { + "$ref": "./examples/NetworkProfileCreateConfigOnly.json" + } + }, + "x-ms-long-running-operation": false + }, + "patch": { + "tags": [ + "NetworkProfiles" + ], + "operationId": "NetworkProfiles_UpdateTags", + "description": "Updates network profile tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkProfileName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network profile." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update network profile tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting NetworkProfile resource.", + "schema": { + "$ref": "#/definitions/NetworkProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update network profile tags": { + "$ref": "./examples/NetworkProfileUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkProfiles": { + "get": { + "tags": [ + "NetworkProfiles" + ], + "operationId": "NetworkProfiles_ListAll", + "description": "Gets all the network profiles in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkProfile resources.", + "schema": { + "$ref": "#/definitions/NetworkProfileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all network profiles": { + "$ref": "./examples/NetworkProfileListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles": { + "get": { + "tags": [ + "NetworkProfiles" + ], + "operationId": "NetworkProfiles_List", + "description": "Gets all network profiles in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkProfile resources.", + "schema": { + "$ref": "#/definitions/NetworkProfileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List resource group network profiles": { + "$ref": "./examples/NetworkProfileList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "NetworkProfilePropertiesFormat": { + "properties": { + "containerNetworkInterfaces": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ContainerNetworkInterface" + }, + "description": "List of child container network interfaces." + }, + "containerNetworkInterfaceConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerNetworkInterfaceConfiguration" + }, + "description": "List of chid container network interface configurations." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the network profile resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network profile resource." + } + }, + "description": "Network profile properties." + }, + "NetworkProfile": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkProfilePropertiesFormat", + "description": "Network profile properties." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Network profile resource." + }, + "NetworkProfileListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkProfile" + }, + "description": "A list of network profiles that exist in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListNetworkProfiles API service call." + }, + "ContainerNetworkInterfacePropertiesFormat": { + "properties": { + "containerNetworkInterfaceConfiguration": { + "readOnly": true, + "$ref": "#/definitions/ContainerNetworkInterfaceConfiguration", + "description": "Container network interface configuration from which this container network interface is created." + }, + "container": { + "$ref": "#/definitions/Container", + "description": "Reference to the container to which this container network interface is attached." + }, + "ipConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ContainerNetworkInterfaceIpConfiguration" + }, + "description": "Reference to the ip configuration on this container nic." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the container network interface resource." + } + }, + "description": "Properties of container network interface." + }, + "ContainerNetworkInterface": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContainerNetworkInterfacePropertiesFormat", + "description": "Container network interface properties." + }, + "name": { + "type": "string", + "description": "The name of the resource. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Sub Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Container network interface child resource." + }, + "ContainerNetworkInterfaceConfigurationPropertiesFormat": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/IPConfigurationProfile" + }, + "description": "A list of ip configurations of the container network interface configuration." + }, + "containerNetworkInterfaces": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "A list of container network interfaces created from this container network interface configuration." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the container network interface configuration resource." + } + }, + "description": "Container network interface configuration properties." + }, + "ContainerNetworkInterfaceConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContainerNetworkInterfaceConfigurationPropertiesFormat", + "description": "Container network interface configuration properties." + }, + "name": { + "type": "string", + "description": "The name of the resource. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Sub Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Container network interface configuration child resource." + }, + "IPConfigurationProfilePropertiesFormat": { + "properties": { + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference to the subnet resource to create a container network interface ip configuration." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the IP configuration profile resource." + } + }, + "description": "IP configuration profile properties." + }, + "IPConfigurationProfile": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IPConfigurationProfilePropertiesFormat", + "description": "Properties of the IP configuration profile." + }, + "name": { + "type": "string", + "description": "The name of the resource. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Sub Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration profile child resource." + }, + "Container": { + "properties": {}, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Reference to container resource in remote resource provider." + }, + "ContainerNetworkInterfaceIpConfigurationPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the container network interface IP configuration resource." + } + }, + "description": "Properties of the container network interface IP configuration." + }, + "ContainerNetworkInterfaceIpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContainerNetworkInterfaceIpConfigurationPropertiesFormat", + "description": "Properties of the container network interface IP configuration." + }, + "name": { + "type": "string", + "description": "The name of the resource. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Sub Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "The ip configuration for a container network interface." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkSecurityGroup.json new file mode 100644 index 000000000000..111757271758 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkSecurityGroup.json @@ -0,0 +1,991 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}": { + "delete": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_Delete", + "description": "Deletes the specified network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete network security group": { + "$ref": "./examples/NetworkSecurityGroupDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_Get", + "description": "Gets the specified network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get network security group": { + "$ref": "./examples/NetworkSecurityGroupGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_CreateOrUpdate", + "description": "Creates or updates a network security group in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + }, + "description": "Parameters supplied to the create or update network security group operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting NetworkSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting NetworkSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create network security group": { + "$ref": "./examples/NetworkSecurityGroupCreate.json" + }, + "Create network security group with rule": { + "$ref": "./examples/NetworkSecurityGroupCreateWithRule.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_UpdateTags", + "description": "Updates a network security group tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update network security group tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting NetworkSecurityGroup resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update network security group tags": { + "$ref": "./examples/NetworkSecurityGroupUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups": { + "get": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_ListAll", + "description": "Gets all network security groups in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all network security groups": { + "$ref": "./examples/NetworkSecurityGroupListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups": { + "get": { + "tags": [ + "NetworkSecurityGroups" + ], + "operationId": "NetworkSecurityGroups_List", + "description": "Gets all network security groups in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.", + "schema": { + "$ref": "#/definitions/NetworkSecurityGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List network security groups in resource group": { + "$ref": "./examples/NetworkSecurityGroupList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}": { + "delete": { + "tags": [ + "SecurityRules" + ], + "operationId": "SecurityRules_Delete", + "description": "Deletes the specified network security rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "securityRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the security rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete network security rule from network security group": { + "$ref": "./examples/NetworkSecurityGroupRuleDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "SecurityRules" + ], + "operationId": "SecurityRules_Get", + "description": "Get the specified network security rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "securityRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the security rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting SecurityRule resource.", + "schema": { + "$ref": "#/definitions/SecurityRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get network security rule in network security group": { + "$ref": "./examples/NetworkSecurityGroupRuleGet.json" + } + } + }, + "put": { + "tags": [ + "SecurityRules" + ], + "operationId": "SecurityRules_CreateOrUpdate", + "description": "Creates or updates a security rule in the specified network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "securityRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the security rule." + }, + { + "name": "securityRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityRule" + }, + "description": "Parameters supplied to the create or update network security rule operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting SecurityRule resource.", + "schema": { + "$ref": "#/definitions/SecurityRule" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting SecurityRule resource.", + "schema": { + "$ref": "#/definitions/SecurityRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create security rule": { + "$ref": "./examples/NetworkSecurityGroupRuleCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules": { + "get": { + "tags": [ + "SecurityRules" + ], + "operationId": "SecurityRules_List", + "description": "Gets all security rules in a network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of SecurityRule resources.", + "schema": { + "$ref": "#/definitions/SecurityRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List network security rules in network security group": { + "$ref": "./examples/NetworkSecurityGroupRuleList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules": { + "get": { + "tags": [ + "SecurityRules" + ], + "operationId": "DefaultSecurityRules_List", + "description": "Gets all default security rules in a network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of SecurityRule resources.", + "schema": { + "$ref": "#/definitions/SecurityRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DefaultSecurityRuleList": { + "$ref": "./examples/DefaultSecurityRuleList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}": { + "get": { + "tags": [ + "SecurityRules" + ], + "operationId": "DefaultSecurityRules_Get", + "description": "Get the specified default network security rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkSecurityGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security group." + }, + { + "name": "defaultSecurityRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the default security rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting SecurityRule resource.", + "schema": { + "$ref": "#/definitions/SecurityRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DefaultSecurityRuleGet": { + "$ref": "./examples/DefaultSecurityRuleGet.json" + } + } + } + } + }, + "definitions": { + "SecurityRulePropertiesFormat": { + "properties": { + "description": { + "type": "string", + "description": "A description for this rule. Restricted to 140 chars." + }, + "protocol": { + "type": "string", + "description": "Network protocol this rule applies to.", + "enum": [ + "Tcp", + "Udp", + "Icmp", + "Esp", + "*", + "Ah" + ], + "x-ms-enum": { + "name": "SecurityRuleProtocol", + "modelAsString": true + } + }, + "sourcePortRange": { + "type": "string", + "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "destinationPortRange": { + "type": "string", + "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from." + }, + "sourceAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The CIDR or source IP ranges." + }, + "sourceApplicationSecurityGroups": { + "type": "array", + "items": { + "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup" + }, + "description": "The application security group specified as source." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used." + }, + "destinationAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "destinationApplicationSecurityGroups": { + "type": "array", + "items": { + "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup" + }, + "description": "The application security group specified as destination." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string", + "description": "The source port." + }, + "description": "The source port ranges." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "type": "string", + "description": "The destination port." + }, + "description": "The destination port ranges." + }, + "access": { + "$ref": "#/definitions/SecurityRuleAccess", + "description": "The network traffic is allowed or denied." + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule." + }, + "direction": { + "$ref": "#/definitions/SecurityRuleDirection", + "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the security rule resource." + } + }, + "required": [ + "protocol", + "access", + "priority", + "direction" + ], + "description": "Security rule resource." + }, + "SecurityRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityRulePropertiesFormat", + "description": "Properties of the security rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "The type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Network security rule." + }, + "SecurityRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityRule" + }, + "description": "The security rules in a network security group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group." + }, + "NetworkSecurityGroupPropertiesFormat": { + "properties": { + "flushConnection": { + "type": "boolean", + "description": "When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation." + }, + "securityRules": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityRule" + }, + "description": "A collection of security rules of the network security group." + }, + "defaultSecurityRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SecurityRule" + }, + "description": "The default security rules of network security group." + }, + "networkInterfaces": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + }, + "description": "A collection of references to network interfaces." + }, + "subnets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./virtualNetwork.json#/definitions/Subnet" + }, + "description": "A collection of references to subnets." + }, + "flowLogs": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkWatcher.json#/definitions/FlowLog" + }, + "description": "A collection of references to flow log resources." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the network security group resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network security group resource." + } + }, + "description": "Network Security Group resource." + }, + "NetworkSecurityGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkSecurityGroupPropertiesFormat", + "description": "Properties of the network security group." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "NetworkSecurityGroup resource." + }, + "NetworkSecurityGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityGroup" + }, + "description": "A list of NetworkSecurityGroup resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListNetworkSecurityGroups API service call." + }, + "SecurityRuleAccess": { + "type": "string", + "description": "Whether network traffic is allowed or denied.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "SecurityRuleAccess", + "modelAsString": true + } + }, + "SecurityRuleDirection": { + "type": "string", + "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "SecurityRuleDirection", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkVirtualAppliance.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkVirtualAppliance.json new file mode 100644 index 000000000000..fcffc193cd98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkVirtualAppliance.json @@ -0,0 +1,1330 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}": { + "delete": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_Delete", + "description": "Deletes the specified Network Virtual Appliance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of Network Virtual Appliance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete NetworkVirtualAppliance": { + "$ref": "./examples/NetworkVirtualApplianceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_Get", + "description": "Gets the specified Network Virtual Appliance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of Network Virtual Appliance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Network Virtual Appliance resource.", + "schema": { + "$ref": "#/definitions/NetworkVirtualAppliance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get NetworkVirtualAppliance": { + "$ref": "./examples/NetworkVirtualApplianceGet.json" + } + } + }, + "patch": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_UpdateTags", + "description": "Updates a Network Virtual Appliance.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of Network Virtual Appliance." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of Network Virtual Appliance being updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to Update Network Virtual Appliance Tags." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of Network Virtual Appliance updated.", + "schema": { + "$ref": "#/definitions/NetworkVirtualAppliance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update NetworkVirtualAppliance": { + "$ref": "./examples/NetworkVirtualApplianceUpdateTags.json" + } + } + }, + "put": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_CreateOrUpdate", + "description": "Creates or updates the specified Network Virtual Appliance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of Network Virtual Appliance." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkVirtualAppliance" + }, + "description": "Parameters supplied to the create or update Network Virtual Appliance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Network Virtual Appliance resource.", + "schema": { + "$ref": "#/definitions/NetworkVirtualAppliance" + } + }, + "201": { + "description": "Request received successfully. The operation returns the resulting Network Virtual Appliance resource.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/NetworkVirtualAppliance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create NetworkVirtualAppliance": { + "$ref": "./examples/NetworkVirtualAppliancePut.json" + }, + "Create SaaS NetworkVirtualAppliance": { + "$ref": "./examples/NetworkVirtualApplianceSaaSPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances": { + "get": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_ListByResourceGroup", + "description": "Lists all Network Virtual Appliances in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Network Virtual Appliance resources.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Network Virtual Appliance for a given resource group": { + "$ref": "./examples/NetworkVirtualApplianceListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualAppliances": { + "get": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_List", + "description": "Gets all Network Virtual Appliances in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Network Virtual Appliance resources.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Network Virtual Appliances for a given subscription": { + "$ref": "./examples/NetworkVirtualApplianceListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/virtualApplianceSites/{siteName}": { + "delete": { + "tags": [ + "VirtualApplianceSites" + ], + "operationId": "VirtualApplianceSites_Delete", + "description": "Deletes the specified site from a Virtual Appliance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "siteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the site." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Network Virtual Appliance Site": { + "$ref": "./examples/NetworkVirtualApplianceSiteDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualApplianceSites" + ], + "operationId": "VirtualApplianceSites_Get", + "description": "Gets the specified Virtual Appliance Site.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "siteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the site." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Network Virtual Appliance Site resource.", + "schema": { + "$ref": "#/definitions/VirtualApplianceSite" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetNetwork Virtual Appliance Site": { + "$ref": "./examples/NetworkVirtualApplianceSiteGet.json" + } + } + }, + "put": { + "tags": [ + "VirtualApplianceSites" + ], + "operationId": "VirtualApplianceSites_CreateOrUpdate", + "description": "Creates or updates the specified Network Virtual Appliance Site.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "siteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the site." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualApplianceSite" + }, + "description": "Parameters supplied to the create or update Network Virtual Appliance Site operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Network Virtual Appliance Site resource.", + "schema": { + "$ref": "#/definitions/VirtualApplianceSite" + } + }, + "201": { + "description": "Request received successfully. The operation returns the resulting Network Virtual Appliance Site resource.", + "schema": { + "$ref": "#/definitions/VirtualApplianceSite" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Network Virtual Appliance Site": { + "$ref": "./examples/NetworkVirtualApplianceSitePut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/virtualApplianceSites": { + "get": { + "tags": [ + "VirtualApplianceSites" + ], + "operationId": "VirtualApplianceSites_List", + "description": "Lists all Network Virtual Appliance Sites in a Network Virtual Appliance resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Network Virtual Appliance site resources.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceSiteListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Network Virtual Appliance sites for a given Network Virtual Appliance": { + "$ref": "./examples/NetworkVirtualApplianceSiteList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualApplianceSkus": { + "get": { + "tags": [ + "VirtualApplianceSkus" + ], + "operationId": "VirtualApplianceSkus_List", + "description": "List all SKUs available for a virtual appliance.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the list of all virtual appliance skus.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkVirtualApplianceSkuListResult": { + "$ref": "./examples/NetworkVirtualApplianceSkuList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualApplianceSkus/{skuName}": { + "get": { + "tags": [ + "VirtualApplianceSkus" + ], + "operationId": "VirtualApplianceSkus_Get", + "description": "Retrieves a single available sku for network virtual appliance.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Sku." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested NetworkVirtualAppliance sku information.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceSku" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkVirtualApplianceSkuGet": { + "$ref": "./examples/NetworkVirtualApplianceSkuGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/inboundSecurityRules/{ruleCollectionName}": { + "put": { + "operationId": "InboundSecurityRule_CreateOrUpdate", + "description": "Creates or updates the specified Network Virtual Appliance Inbound Security Rules.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "ruleCollectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of security rule collection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundSecurityRule" + }, + "description": "Parameters supplied to the create or update Network Virtual Appliance Inbound Security Rules operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Network Virtual Appliance Inbound Security Rules resource.", + "schema": { + "$ref": "#/definitions/InboundSecurityRule" + } + }, + "201": { + "description": "Request received successfully. The operation returns the resulting Network Virtual Appliance Inbound Security Rules resource.", + "schema": { + "$ref": "#/definitions/InboundSecurityRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Network Virtual Appliance Inbound Security Rules": { + "$ref": "./examples/InboundSecurityRulePut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + } + }, + "definitions": { + "NetworkVirtualAppliance": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkVirtualAppliancePropertiesFormat", + "description": "Properties of the Network Virtual Appliance." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The service principal that has read access to cloud-init and config blob." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "NetworkVirtualAppliance Resource." + }, + "NetworkVirtualAppliancePropertiesFormat": { + "properties": { + "nvaSku": { + "readOnly": false, + "description": "Network Virtual Appliance SKU.", + "$ref": "#/definitions/VirtualApplianceSkuProperties" + }, + "addressPrefix": { + "type": "string", + "readOnly": true, + "description": "Address Prefix." + }, + "bootStrapConfigurationBlobs": { + "type": "array", + "readOnly": false, + "description": "BootStrapConfigurationBlobs storage URLs.", + "items": { + "type": "string" + } + }, + "virtualHub": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The Virtual Hub where Network Virtual Appliance is being deployed." + }, + "cloudInitConfigurationBlobs": { + "type": "array", + "readOnly": false, + "description": "CloudInitConfigurationBlob storage URLs.", + "items": { + "type": "string" + } + }, + "cloudInitConfiguration": { + "type": "string", + "readOnly": false, + "description": "CloudInitConfiguration string in plain text." + }, + "virtualApplianceAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "VirtualAppliance ASN. Microsoft private, public and IANA reserved ASN are not supported." + }, + "sshPublicKey": { + "type": "string", + "readOnly": false, + "description": "Public key for SSH login." + }, + "virtualApplianceNics": { + "type": "array", + "readOnly": true, + "description": "List of Virtual Appliance Network Interfaces.", + "items": { + "$ref": "#/definitions/VirtualApplianceNicProperties" + } + }, + "additionalNics": { + "type": "array", + "readOnly": false, + "description": "Details required for Additional Network Interface.", + "items": { + "$ref": "#/definitions/VirtualApplianceAdditionalNicProperties" + }, + "x-ms-identifiers": [] + }, + "internetIngressPublicIps": { + "type": "array", + "readOnly": false, + "description": "List of Resource Uri of Public IPs for Internet Ingress Scenario.", + "items": { + "$ref": "#/definitions/InternetIngressPublicIpsProperties" + }, + "x-ms-identifiers": [] + }, + "virtualApplianceSites": { + "type": "array", + "readOnly": true, + "description": "List of references to VirtualApplianceSite.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "virtualApplianceConnections": { + "type": "array", + "readOnly": true, + "description": "List of references to VirtualApplianceConnections.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "inboundSecurityRules": { + "type": "array", + "readOnly": true, + "description": "List of references to InboundSecurityRules.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + }, + "deploymentType": { + "type": "string", + "readOnly": true, + "description": "The deployment type. PartnerManaged for the SaaS NVA" + }, + "delegation": { + "description": "The delegation for the Virtual Appliance", + "$ref": "#/definitions/DelegationProperties" + }, + "partnerManagedResource": { + "description": "The delegation for the Virtual Appliance", + "$ref": "#/definitions/PartnerManagedResourceProperties" + } + }, + "description": "Network Virtual Appliance definition." + }, + "VirtualApplianceSkuProperties": { + "properties": { + "vendor": { + "type": "string", + "readOnly": false, + "description": "Virtual Appliance Vendor." + }, + "bundledScaleUnit": { + "type": "string", + "readOnly": false, + "description": "Virtual Appliance Scale Unit." + }, + "marketPlaceVersion": { + "type": "string", + "readOnly": false, + "description": "Virtual Appliance Version." + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "VirtualApplianceNicProperties": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "NIC name." + }, + "publicIpAddress": { + "type": "string", + "readOnly": true, + "description": "Public IP address." + }, + "privateIpAddress": { + "type": "string", + "readOnly": true, + "description": "Private IP address." + }, + "instanceName": { + "type": "string", + "readOnly": true, + "description": "Instance on which nic is attached." + } + }, + "description": "Network Virtual Appliance NIC properties." + }, + "VirtualApplianceAdditionalNicProperties": { + "type": "object", + "title": "Network Virtual Appliance Additional Nic Properties", + "description": "Network Virtual Appliance Additional NIC properties.", + "properties": { + "name": { + "type": "string", + "readOnly": false, + "description": "Name of additional nic" + }, + "hasPublicIp": { + "type": "boolean", + "readOnly": false, + "description": "Flag (true or false) for Intent for Public Ip on additional nic" + } + } + }, + "InternetIngressPublicIpsProperties": { + "type": "object", + "title": "Internet Ingress Public Ip Properties", + "description": "Resource Uri of Public Ip for Standard Load Balancer Frontend End.", + "properties": { + "id": { + "type": "string", + "readOnly": false, + "description": "Resource Uri of Public Ip", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/publicIPAddresses" + } + ] + } + } + } + }, + "VirtualApplianceSite": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualApplianceSiteProperties", + "description": "The properties of the Virtual Appliance Sites." + }, + "name": { + "type": "string", + "description": "Name of the virtual appliance site." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Site type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Virtual Appliance Site resource." + }, + "VirtualApplianceSiteProperties": { + "properties": { + "addressPrefix": { + "type": "string", + "readOnly": false, + "description": "Address Prefix." + }, + "o365Policy": { + "readOnly": false, + "description": "Office 365 Policy.", + "$ref": "#/definitions/Office365PolicyProperties" + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the rule group." + }, + "Office365PolicyProperties": { + "properties": { + "breakOutCategories": { + "readOnly": false, + "description": "Office 365 breakout categories.", + "$ref": "#/definitions/BreakOutCategoryPolicies" + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "BreakOutCategoryPolicies": { + "properties": { + "allow": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control breakout of o365 allow category." + }, + "optimize": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control breakout of o365 optimize category." + }, + "default": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control breakout of o365 default category." + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "NetworkVirtualApplianceSku": { + "title": "Available NetworkVirtualApplianceSkus", + "description": "Definition of the NetworkVirtualApplianceSkus resource.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkVirtualApplianceSkuPropertiesFormat", + "description": "NetworkVirtualApplianceSku properties." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "NetworkVirtualApplianceSkuPropertiesFormat": { + "title": "Network Virtual Appliance Sku Properties", + "description": "Properties specific to NetworkVirtualApplianceSkus.", + "properties": { + "vendor": { + "type": "string", + "readOnly": true, + "description": "Network Virtual Appliance Sku vendor." + }, + "availableVersions": { + "type": "array", + "readOnly": true, + "description": "Available Network Virtual Appliance versions.", + "items": { + "type": "string" + } + }, + "availableScaleUnits": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualApplianceSkuInstances" + }, + "description": "The list of scale units available." + } + } + }, + "NetworkVirtualApplianceSkuInstances": { + "title": "Network Virtual Appliance Sku Instances", + "description": "List of available Sku and instances.", + "properties": { + "scaleUnit": { + "type": "string", + "readOnly": true, + "description": "Scale Unit." + }, + "instanceCount": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Instance Count." + } + } + }, + "NetworkVirtualApplianceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualAppliance" + }, + "description": "List of Network Virtual Appliances." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListNetworkVirtualAppliances API service call." + }, + "NetworkVirtualApplianceSiteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualApplianceSite" + }, + "description": "List of Network Virtual Appliance sites." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListNetworkVirtualApplianceSites API service call." + }, + "NetworkVirtualApplianceSkuListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualApplianceSku" + }, + "description": "List of Network Virtual Appliance Skus that are available." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListNetworkVirtualApplianceSkus API service call." + }, + "InboundSecurityRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundSecurityRuleProperties", + "description": "The properties of the Inbound Security Rules." + }, + "name": { + "type": "string", + "description": "Name of security rule collection." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "NVA inbound security rule type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "NVA Inbound Security Rule resource." + }, + "InboundSecurityRuleProperties": { + "properties": { + "rules": { + "type": "array", + "readOnly": false, + "description": "List of allowed rules.", + "items": { + "$ref": "#/definitions/InboundSecurityRules" + } + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the Inbound Security Rules resource." + }, + "InboundSecurityRules": { + "properties": { + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "InboundSecurityRulesProtocol", + "modelAsString": true + }, + "description": "Protocol. This should be either TCP or UDP." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Only /30, /31 and /32 Ip ranges are allowed." + }, + "destinationPortRange": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "NVA port ranges to be opened up. One needs to provide specific ports." + } + }, + "description": "Properties of the Inbound Security Rules resource." + }, + "DelegationProperties": { + "type": "object", + "properties": { + "serviceName": { + "type": "string", + "description": "The service name to which the NVA is delegated." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the delegation." + }, + "PartnerManagedResourceProperties": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "PaloAltoNetworks.Cloudngfw/firewalls" + } + ] + }, + "description": "The partner managed resource id." + }, + "internalLoadBalancerId": { + "readOnly": true, + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/loadBalancers" + } + ] + }, + "description": "The partner managed ILB resource id" + }, + "standardLoadBalancerId": { + "readOnly": true, + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/loadBalancers" + } + ] + }, + "description": "The partner managed SLB resource id" + } + }, + "description": "Properties of the partner managed resource." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkWatcher.json new file mode 100644 index 000000000000..4259fdcc3e33 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/networkWatcher.json @@ -0,0 +1,4782 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}": { + "put": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_CreateOrUpdate", + "description": "Creates or updates a network watcher in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkWatcher" + }, + "description": "Parameters that define the network watcher resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/NetworkWatcher" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/NetworkWatcher" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create network watcher": { + "$ref": "./examples/NetworkWatcherCreate.json" + } + } + }, + "get": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_Get", + "description": "Gets the specified network watcher by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a network watcher resource.", + "schema": { + "$ref": "#/definitions/NetworkWatcher" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get network watcher": { + "$ref": "./examples/NetworkWatcherGet.json" + } + } + }, + "delete": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_Delete", + "description": "Deletes the specified network watcher resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete network watcher": { + "$ref": "./examples/NetworkWatcherDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_UpdateTags", + "description": "Updates a network watcher tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update network watcher tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/NetworkWatcher" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update network watcher tags": { + "$ref": "./examples/NetworkWatcherUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers": { + "get": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_List", + "description": "Gets all network watchers by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of network watcher resources.", + "schema": { + "$ref": "#/definitions/NetworkWatcherListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List network watchers": { + "$ref": "./examples/NetworkWatcherList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers": { + "get": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_ListAll", + "description": "Gets all network watchers by subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of network watcher resources.", + "schema": { + "$ref": "#/definitions/NetworkWatcherListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List all network watchers": { + "$ref": "./examples/NetworkWatcherListAll.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetTopology", + "description": "Gets the current network topology by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TopologyParameters" + }, + "description": "Parameters that define the representation of topology." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the topology of resource group.", + "schema": { + "$ref": "#/definitions/Topology" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Topology": { + "$ref": "./examples/NetworkWatcherTopologyGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_VerifyIPFlow", + "description": "Verify IP flow from the specified VM to a location given the currently configured NSG rules.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VerificationIPFlowParameters" + }, + "description": "Parameters that define the IP flow to be verified." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the result of IP flow verification.", + "schema": { + "$ref": "#/definitions/VerificationIPFlowResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/VerificationIPFlowResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Ip flow verify": { + "$ref": "./examples/NetworkWatcherIpFlowVerify.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetNextHop", + "description": "Gets the next hop from the specified VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NextHopParameters" + }, + "description": "Parameters that define the source and destination endpoint." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the next hop from the VM.", + "schema": { + "$ref": "#/definitions/NextHopResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NextHopResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get next hop": { + "$ref": "./examples/NetworkWatcherNextHopGet.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetVMSecurityRules", + "description": "Gets the configured and effective security group rules on the specified VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityGroupViewParameters" + }, + "description": "Parameters that define the VM to check security groups for." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns security group rules on the VM.", + "schema": { + "$ref": "#/definitions/SecurityGroupViewResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/SecurityGroupViewResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get security group view": { + "$ref": "./examples/NetworkWatcherSecurityGroupViewGet.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}": { + "put": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_Create", + "description": "Create and start a packet capture on the specified VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the packet capture session." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PacketCapture" + }, + "description": "Parameters that define the create packet capture operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request successful. The operation returns the resulting packet capture session.", + "schema": { + "$ref": "#/definitions/PacketCaptureResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create packet capture": { + "$ref": "./examples/NetworkWatcherPacketCaptureCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_Get", + "description": "Gets a packet capture session by name.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the packet capture session." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a packet capture session.", + "schema": { + "$ref": "#/definitions/PacketCaptureResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get packet capture": { + "$ref": "./examples/NetworkWatcherPacketCaptureGet.json" + } + } + }, + "delete": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_Delete", + "description": "Deletes the specified packet capture session.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the packet capture session." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete packet capture": { + "$ref": "./examples/NetworkWatcherPacketCaptureDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop": { + "post": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_Stop", + "description": "Stops a specified packet capture session.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the packet capture session." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation stops the packet capture session." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Stop packet capture": { + "$ref": "./examples/NetworkWatcherPacketCaptureStop.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus": { + "post": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_GetStatus", + "description": "Query the status of a running packet capture session.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "packetCaptureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name given to the packet capture session." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful query of packet capture status.", + "schema": { + "$ref": "#/definitions/PacketCaptureQueryStatusResult" + } + }, + "202": { + "description": "Accepted query status of packet capture.", + "schema": { + "$ref": "#/definitions/PacketCaptureQueryStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Query packet capture status": { + "$ref": "./examples/NetworkWatcherPacketCaptureQueryStatus.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures": { + "get": { + "tags": [ + "PacketCaptures" + ], + "operationId": "PacketCaptures_List", + "description": "Lists all packet capture sessions within the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful packet capture enumeration request.", + "schema": { + "$ref": "#/definitions/PacketCaptureListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List packet captures": { + "$ref": "./examples/NetworkWatcherPacketCapturesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetTroubleshooting", + "description": "Initiate troubleshooting on a specified resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TroubleshootingParameters" + }, + "description": "Parameters that define the resource to troubleshoot." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful troubleshooting request.", + "schema": { + "$ref": "#/definitions/TroubleshootingResult" + } + }, + "202": { + "description": "Accepted get troubleshooting request.", + "schema": { + "$ref": "#/definitions/TroubleshootingResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get troubleshooting": { + "$ref": "./examples/NetworkWatcherTroubleshootGet.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetTroubleshootingResult", + "description": "Get the last completed troubleshooting result on a specified resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryTroubleshootingParameters" + }, + "description": "Parameters that define the resource to query the troubleshooting result." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful get troubleshooting result request.", + "schema": { + "$ref": "#/definitions/TroubleshootingResult" + } + }, + "202": { + "description": "Accepted get troubleshooting result request.", + "schema": { + "$ref": "#/definitions/TroubleshootingResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get troubleshoot result": { + "$ref": "./examples/NetworkWatcherTroubleshootResultQuery.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog": { + "post": { + "tags": [ + "NetworkWatchers", + "TrafficAnalytics" + ], + "operationId": "NetworkWatchers_SetFlowLogConfiguration", + "description": "Configures flow log and traffic analytics (optional) on a specified resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FlowLogInformation" + }, + "description": "Parameters that define the configuration of flow log." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for setting flow log and traffic analytics (optional) configuration.", + "schema": { + "$ref": "#/definitions/FlowLogInformation" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/FlowLogInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Configure flow log": { + "$ref": "./examples/NetworkWatcherFlowLogConfigure.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus": { + "post": { + "tags": [ + "NetworkWatchers", + "TrafficAnalytics" + ], + "operationId": "NetworkWatchers_GetFlowLogStatus", + "description": "Queries status of flow log and traffic analytics (optional) on a specified resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FlowLogStatusParameters" + }, + "description": "Parameters that define a resource to query flow log and traffic analytics (optional) status." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for query flow log and traffic analytics (optional) status.", + "schema": { + "$ref": "#/definitions/FlowLogInformation" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/FlowLogInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get flow log status": { + "$ref": "./examples/NetworkWatcherFlowLogStatusQuery.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_CheckConnectivity", + "description": "Verifies the possibility of establishing a direct TCP connection from a virtual machine to a given endpoint including another VM or an arbitrary remote server.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectivityParameters" + }, + "description": "Parameters that determine how the connectivity check will be performed." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for checking connectivity.", + "schema": { + "$ref": "#/definitions/ConnectivityInformation" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ConnectivityInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check connectivity": { + "$ref": "./examples/NetworkWatcherConnectivityCheck.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetAzureReachabilityReport", + "description": "NOTE: This feature is currently in preview and still being tested for stability. Gets the relative latency score for internet service providers from a specified location to Azure regions.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AzureReachabilityReportParameters" + }, + "description": "Parameters that determine Azure reachability report configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for Azure reachability report.", + "schema": { + "$ref": "#/definitions/AzureReachabilityReport" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/AzureReachabilityReport" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Azure Reachability Report": { + "$ref": "./examples/NetworkWatcherAzureReachabilityReportGet.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_ListAvailableProviders", + "description": "NOTE: This feature is currently in preview and still being tested for stability. Lists all available internet service providers for a specified Azure region.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AvailableProvidersListParameters" + }, + "description": "Parameters that scope the list of available providers." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for list of available providers.", + "schema": { + "$ref": "#/definitions/AvailableProvidersList" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/AvailableProvidersList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Available Providers List": { + "$ref": "./examples/NetworkWatcherAvailableProvidersListGet.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic": { + "post": { + "tags": [ + "NetworkWatchers" + ], + "operationId": "NetworkWatchers_GetNetworkConfigurationDiagnostic", + "description": "Gets Network Configuration Diagnostic data to help customers understand and debug network behavior. It provides detailed information on what security rules were applied to a specified traffic flow and the result of evaluating these rules. Customers must provide details of a flow like source, destination, protocol, etc. The API returns whether traffic was allowed or denied, the rules evaluated for the specified flow and the evaluation results.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticParameters" + }, + "description": "Parameters to get network configuration diagnostic." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the result of network configuration diagnostic.", + "schema": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticResponse" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Network configuration diagnostic": { + "$ref": "./examples/NetworkWatcherNetworkConfigurationDiagnostic.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}": { + "put": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_CreateOrUpdate", + "description": "Create or update a connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionMonitor" + }, + "description": "Parameters that define the operation to create a connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "migrate", + "in": "query", + "required": false, + "type": "string", + "description": "Value indicating whether connection monitor V1 should be migrated to V2 format." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorResult" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create connection monitor V1": { + "$ref": "./examples/NetworkWatcherConnectionMonitorCreate.json" + }, + "Create connection monitor V2": { + "$ref": "./examples/NetworkWatcherConnectionMonitorV2Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Get", + "description": "Gets a connection monitor by name.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a connection monitor.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorGet.json" + } + } + }, + "delete": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Delete", + "description": "Deletes the specified connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted. The operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_UpdateTags", + "description": "Update tags of the specified connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update connection monitor tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns updated connection monitor.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update connection monitor tags": { + "$ref": "./examples/NetworkWatcherConnectionMonitorUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop": { + "post": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Stop", + "description": "Stops the specified connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation stops the connection monitor." + }, + "202": { + "description": "Accepted. The operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Stop connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorStop.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start": { + "post": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Start", + "description": "Starts the specified connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation starts the connection monitor." + }, + "202": { + "description": "Accepted. The operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Start connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorStart.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query": { + "post": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Query", + "description": "Query a snapshot of the most recent connection states.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name given to the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful query of connection states.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorQueryResult" + } + }, + "202": { + "description": "Accepted query of connection states.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorQueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Query connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorQuery.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors": { + "get": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_List", + "description": "Lists all connection monitors for the specified Network Watcher.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful connection monitor enumeration request.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List connection monitors": { + "$ref": "./examples/NetworkWatcherConnectionMonitorList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs/{flowLogName}": { + "put": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_CreateOrUpdate", + "description": "Create or update a flow log for the specified network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "flowLogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the flow log." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FlowLog" + }, + "description": "Parameters that define the create or update flow log resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request successful. The operation returns the resulting flow log resource.", + "schema": { + "$ref": "#/definitions/FlowLog" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting flow log resource.", + "schema": { + "$ref": "#/definitions/FlowLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update flow log": { + "$ref": "./examples/NetworkWatcherFlowLogCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_UpdateTags", + "description": "Update tags of the specified flow log.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "flowLogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the flow log." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update flow log tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns updated flow log.", + "schema": { + "$ref": "#/definitions/FlowLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update flow log tags": { + "$ref": "./examples/NetworkWatcherFlowLogUpdateTags.json" + } + } + }, + "get": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_Get", + "description": "Gets a flow log resource by name.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "flowLogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the flow log resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a flow log resource.", + "schema": { + "$ref": "#/definitions/FlowLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get flow log": { + "$ref": "./examples/NetworkWatcherFlowLogGet.json" + } + } + }, + "delete": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_Delete", + "description": "Deletes the specified flow log resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "flowLogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the flow log resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete flow log": { + "$ref": "./examples/NetworkWatcherFlowLogDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs": { + "get": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_List", + "description": "Lists all flow log resources for the specified Network Watcher.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful flow log enumeration request.", + "schema": { + "$ref": "#/definitions/FlowLogListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List connection monitors": { + "$ref": "./examples/NetworkWatcherFlowLogList.json" + } + } + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "The error object.", + "properties": { + "error": { + "title": "Error", + "$ref": "./network.json#/definitions/ErrorDetails", + "description": "The error details object." + } + } + }, + "NetworkWatcher": { + "properties": { + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkWatcherPropertiesFormat", + "description": "Properties of the network watcher." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Network watcher in a resource group." + }, + "NetworkWatcherPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network watcher resource." + } + }, + "description": "The network watcher properties." + }, + "NetworkWatcherListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkWatcher" + }, + "description": "List of network watcher resources." + } + }, + "description": "Response for ListNetworkWatchers API service call." + }, + "TopologyParameters": { + "properties": { + "targetResourceGroupName": { + "type": "string", + "description": "The name of the target resource group to perform topology on." + }, + "targetVirtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the Virtual Network resource." + }, + "targetSubnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the Subnet resource." + } + }, + "description": "Parameters that define the representation of topology." + }, + "Topology": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "GUID representing the operation id." + }, + "createdDateTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The datetime when the topology was initially created for the resource group." + }, + "lastModified": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The datetime when the topology was last modified." + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/definitions/TopologyResource" + }, + "description": "A list of topology resources." + } + }, + "description": "Topology of the specified resource group." + }, + "TopologyResource": { + "properties": { + "name": { + "type": "string", + "description": "Name of the resource." + }, + "id": { + "type": "string", + "description": "ID of the resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "associations": { + "type": "array", + "description": "Holds the associations the resource has with other resources in the resource group.", + "items": { + "$ref": "#/definitions/TopologyAssociation" + } + } + }, + "description": "The network resource topology information for the given resource group." + }, + "TopologyAssociation": { + "properties": { + "name": { + "type": "string", + "description": "The name of the resource that is associated with the parent resource." + }, + "resourceId": { + "type": "string", + "description": "The ID of the resource that is associated with the parent resource." + }, + "associationType": { + "type": "string", + "enum": [ + "Associated", + "Contains" + ], + "x-ms-enum": { + "name": "AssociationType", + "modelAsString": true + }, + "description": "The association type of the child resource to the parent resource." + } + }, + "description": "Resources that have an association with the parent resource." + }, + "VerificationIPFlowParameters": { + "description": "Parameters that define the IP flow to be verified.", + "required": [ + "targetResourceId", + "direction", + "protocol", + "localPort", + "remotePort", + "localIPAddress", + "remoteIPAddress" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "The ID of the target resource to perform next-hop on." + }, + "direction": { + "$ref": "#/definitions/Direction", + "description": "The direction of the packet represented as a 5-tuple." + }, + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "IpFlowProtocol", + "modelAsString": true + }, + "description": "Protocol to be verified on." + }, + "localPort": { + "type": "string", + "description": "The local port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction." + }, + "remotePort": { + "type": "string", + "description": "The remote port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction." + }, + "localIPAddress": { + "type": "string", + "description": "The local IP address. Acceptable values are valid IPv4 addresses." + }, + "remoteIPAddress": { + "type": "string", + "description": "The remote IP address. Acceptable values are valid IPv4 addresses." + }, + "targetNicResourceId": { + "type": "string", + "description": "The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of them, then this parameter must be specified. Otherwise optional)." + } + } + }, + "VerificationIPFlowResult": { + "description": "Results of IP flow verification on the target resource.", + "properties": { + "access": { + "$ref": "./network.json#/definitions/Access", + "description": "Indicates whether the traffic is allowed or denied." + }, + "ruleName": { + "type": "string", + "description": "Name of the rule. If input is not matched against any security rule, it is not displayed." + } + } + }, + "NextHopParameters": { + "description": "Parameters that define the source and destination endpoint.", + "required": [ + "targetResourceId", + "sourceIPAddress", + "destinationIPAddress" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "The resource identifier of the target resource against which the action is to be performed." + }, + "sourceIPAddress": { + "type": "string", + "description": "The source IP address." + }, + "destinationIPAddress": { + "type": "string", + "description": "The destination IP address." + }, + "targetNicResourceId": { + "type": "string", + "description": "The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of the nics, then this parameter must be specified. Otherwise optional)." + } + } + }, + "NextHopResult": { + "description": "The information about next hop from the specified VM.", + "properties": { + "nextHopType": { + "type": "string", + "enum": [ + "Internet", + "VirtualAppliance", + "VirtualNetworkGateway", + "VnetLocal", + "HyperNetGateway", + "None" + ], + "x-ms-enum": { + "name": "NextHopType", + "modelAsString": true + }, + "description": "Next hop type." + }, + "nextHopIpAddress": { + "type": "string", + "description": "Next hop IP Address." + }, + "routeTableId": { + "type": "string", + "description": "The resource identifier for the route table associated with the route being returned. If the route being returned does not correspond to any user created routes then this field will be the string 'System Route'." + } + } + }, + "SecurityGroupViewParameters": { + "description": "Parameters that define the VM to check security groups for.", + "required": [ + "targetResourceId" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "ID of the target VM." + } + } + }, + "SecurityGroupViewResult": { + "description": "The information about security rules applied to the specified VM.", + "properties": { + "networkInterfaces": { + "type": "array", + "description": "List of network interfaces on the specified VM.", + "items": { + "$ref": "#/definitions/SecurityGroupNetworkInterface" + } + } + } + }, + "SecurityGroupNetworkInterface": { + "description": "Network interface and all its associated security rules.", + "properties": { + "id": { + "type": "string", + "description": "ID of the network interface." + }, + "securityRuleAssociations": { + "$ref": "#/definitions/SecurityRuleAssociations", + "description": "All security rules associated with the network interface." + } + } + }, + "SecurityRuleAssociations": { + "description": "All security rules associated with the network interface.", + "properties": { + "networkInterfaceAssociation": { + "$ref": "#/definitions/NetworkInterfaceAssociation", + "description": "Network interface and it's custom security rules." + }, + "subnetAssociation": { + "$ref": "#/definitions/SubnetAssociation", + "description": "Subnet and it's custom security rules." + }, + "defaultSecurityRules": { + "type": "array", + "items": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule" + }, + "description": "Collection of default security rules of the network security group." + }, + "effectiveSecurityRules": { + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/EffectiveNetworkSecurityRule" + }, + "description": "Collection of effective security rules." + } + } + }, + "NetworkInterfaceAssociation": { + "description": "Network interface and its custom security rules.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Network interface ID." + }, + "securityRules": { + "type": "array", + "description": "Collection of custom security rules.", + "items": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule" + } + } + } + }, + "SubnetAssociation": { + "description": "Subnet and it's custom security rules.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Subnet ID." + }, + "securityRules": { + "type": "array", + "description": "Collection of custom security rules.", + "items": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule" + } + } + } + }, + "PacketCapture": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PacketCaptureParameters", + "description": "Properties of the packet capture." + } + }, + "required": [ + "properties" + ], + "description": "Parameters that define the create packet capture operation." + }, + "PacketCaptureParameters": { + "properties": { + "target": { + "type": "string", + "description": "The ID of the targeted resource, only AzureVM and AzureVMSS as target type are currently supported." + }, + "scope": { + "$ref": "#/definitions/PacketCaptureMachineScope", + "description": "A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS." + }, + "targetType": { + "description": "Target type of the resource provided.", + "type": "string", + "enum": [ + "AzureVM", + "AzureVMSS" + ], + "x-ms-enum": { + "name": "PacketCaptureTargetType", + "modelAsString": false + } + }, + "bytesToCapturePerPacket": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "default": 0, + "description": "Number of bytes captured per packet, the remaining bytes are truncated." + }, + "totalBytesPerSession": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "default": 1073741824, + "description": "Maximum size of the capture output." + }, + "timeLimitInSeconds": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 18000, + "default": 18000, + "description": "Maximum duration of the capture session in seconds." + }, + "storageLocation": { + "$ref": "#/definitions/PacketCaptureStorageLocation", + "description": "The storage location for a packet capture session." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/PacketCaptureFilter" + }, + "description": "A list of packet capture filters." + } + }, + "required": [ + "target", + "storageLocation" + ], + "description": "Parameters that define the create packet capture operation." + }, + "PacketCaptureMachineScope": { + "type": "object", + "properties": { + "include": { + "type": "array", + "description": "List of AzureVMSS instances to run packet capture on.", + "items": { + "type": "string" + } + }, + "exclude": { + "type": "array", + "description": "List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture.", + "items": { + "type": "string" + } + } + }, + "description": "A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS." + }, + "PacketCaptureStorageLocation": { + "properties": { + "storageId": { + "type": "string", + "description": "The ID of the storage account to save the packet capture session. Required if no local file path is provided." + }, + "storagePath": { + "type": "string", + "description": "The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture." + }, + "filePath": { + "type": "string", + "description": "A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional." + } + }, + "description": "The storage location for a packet capture session." + }, + "PacketCaptureFilter": { + "properties": { + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP", + "Any" + ], + "x-ms-enum": { + "name": "PcProtocol", + "modelAsString": true + }, + "default": "Any", + "description": "Protocol to be filtered on." + }, + "localIPAddress": { + "type": "string", + "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5\"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "remoteIPAddress": { + "type": "string", + "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "localPort": { + "type": "string", + "description": "Local port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "remotePort": { + "type": "string", + "description": "Remote port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + } + }, + "description": "Filter that is applied to packet capture request. Multiple filters can be applied." + }, + "PacketCaptureListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PacketCaptureResult" + }, + "description": "Information about packet capture sessions." + } + }, + "description": "List of packet capture sessions." + }, + "PacketCaptureResult": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the packet capture session." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "ID of the packet capture operation." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PacketCaptureResultProperties", + "description": "Properties of the packet capture result." + } + }, + "description": "Information about packet capture session." + }, + "PacketCaptureResultProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the packet capture session." + } + }, + "allOf": [ + { + "$ref": "#/definitions/PacketCaptureParameters" + } + ], + "description": "The properties of a packet capture session." + }, + "PacketCaptureQueryStatusResult": { + "properties": { + "name": { + "type": "string", + "description": "The name of the packet capture resource." + }, + "id": { + "type": "string", + "description": "The ID of the packet capture resource." + }, + "captureStartTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the packet capture session." + }, + "packetCaptureStatus": { + "type": "string", + "enum": [ + "NotStarted", + "Running", + "Stopped", + "Error", + "Unknown" + ], + "x-ms-enum": { + "name": "PcStatus", + "modelAsString": true + }, + "description": "The status of the packet capture session." + }, + "stopReason": { + "type": "string", + "description": "The reason the current packet capture session was stopped." + }, + "packetCaptureError": { + "type": "array", + "description": "List of errors of packet capture session.", + "items": { + "type": "string", + "enum": [ + "InternalError", + "AgentStopped", + "CaptureFailed", + "LocalFileFailed", + "StorageFailed" + ], + "x-ms-enum": { + "name": "PcError", + "modelAsString": true + } + } + } + }, + "description": "Status of packet capture session." + }, + "TroubleshootingParameters": { + "description": "Parameters that define the resource to troubleshoot.", + "required": [ + "targetResourceId", + "properties" + ], + "properties": { + "targetResourceId": { + "description": "The target resource to troubleshoot.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TroubleshootingProperties", + "description": "Properties of the troubleshooting resource." + } + } + }, + "QueryTroubleshootingParameters": { + "description": "Parameters that define the resource to query the troubleshooting result.", + "required": [ + "targetResourceId" + ], + "properties": { + "targetResourceId": { + "description": "The target resource ID to query the troubleshooting result.", + "type": "string" + } + } + }, + "TroubleshootingProperties": { + "description": "Storage location provided for troubleshoot.", + "required": [ + "storageId", + "storagePath" + ], + "properties": { + "storageId": { + "description": "The ID for the storage account to save the troubleshoot result.", + "type": "string" + }, + "storagePath": { + "description": "The path to the blob to save the troubleshoot result in.", + "type": "string" + } + } + }, + "TroubleshootingResult": { + "description": "Troubleshooting information gained from specified resource.", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the troubleshooting." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the troubleshooting." + }, + "code": { + "type": "string", + "description": "The result code of the troubleshooting." + }, + "results": { + "type": "array", + "description": "Information from troubleshooting.", + "items": { + "$ref": "#/definitions/TroubleshootingDetails" + } + } + } + }, + "TroubleshootingDetails": { + "description": "Information gained from troubleshooting of specified resource.", + "properties": { + "id": { + "type": "string", + "description": "The id of the get troubleshoot operation." + }, + "reasonType": { + "type": "string", + "description": "Reason type of failure." + }, + "summary": { + "type": "string", + "description": "A summary of troubleshooting." + }, + "detail": { + "type": "string", + "description": "Details on troubleshooting results." + }, + "recommendedActions": { + "type": "array", + "description": "List of recommended actions.", + "items": { + "$ref": "#/definitions/TroubleshootingRecommendedActions" + } + } + } + }, + "TroubleshootingRecommendedActions": { + "description": "Recommended actions based on discovered issues.", + "properties": { + "actionId": { + "description": "ID of the recommended action.", + "type": "string" + }, + "actionText": { + "description": "Description of recommended actions.", + "type": "string" + }, + "actionUri": { + "description": "The uri linking to a documentation for the recommended troubleshooting actions.", + "type": "string" + }, + "actionUriText": { + "description": "The information from the URI for the recommended troubleshooting actions.", + "type": "string" + } + } + }, + "FlowLogListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FlowLog" + }, + "description": "Information about flow log resource." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "List of flow logs." + }, + "FlowLog": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FlowLogPropertiesFormat", + "description": "Properties of the flow log." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "A flow log resource." + }, + "FlowLogPropertiesFormat": { + "description": "Parameters that define the configuration of flow log.", + "required": [ + "targetResourceId", + "storageId" + ], + "properties": { + "targetResourceId": { + "description": "ID of network security group to which flow log will be applied.", + "type": "string" + }, + "targetResourceGuid": { + "readOnly": true, + "description": "Guid of network security group to which flow log will be applied.", + "type": "string" + }, + "storageId": { + "description": "ID of the storage account which is used to store the flow log.", + "type": "string" + }, + "enabled": { + "description": "Flag to enable/disable flow logging.", + "type": "boolean" + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicyParameters", + "description": "Parameters that define the retention policy for flow log." + }, + "format": { + "$ref": "#/definitions/FlowLogFormatParameters", + "description": "Parameters that define the flow log format." + }, + "flowAnalyticsConfiguration": { + "$ref": "#/definitions/TrafficAnalyticsProperties", + "description": "Parameters that define the configuration of traffic analytics." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the flow log." + } + } + }, + "FlowLogProperties": { + "description": "Parameters that define the configuration of flow log.", + "required": [ + "storageId", + "enabled" + ], + "properties": { + "storageId": { + "description": "ID of the storage account which is used to store the flow log.", + "type": "string" + }, + "enabled": { + "description": "Flag to enable/disable flow logging.", + "type": "boolean" + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicyParameters", + "description": "Parameters that define the retention policy for flow log." + }, + "format": { + "$ref": "#/definitions/FlowLogFormatParameters", + "description": "Parameters that define the flow log format." + } + } + }, + "FlowLogStatusParameters": { + "description": "Parameters that define a resource to query flow log and traffic analytics (optional) status.", + "required": [ + "targetResourceId" + ], + "properties": { + "targetResourceId": { + "description": "The target resource where getting the flow log and traffic analytics (optional) status.", + "type": "string" + } + } + }, + "RetentionPolicyParameters": { + "description": "Parameters that define the retention policy for flow log.", + "properties": { + "days": { + "description": "Number of days to retain flow log records.", + "type": "integer", + "format": "int32", + "default": 0 + }, + "enabled": { + "description": "Flag to enable/disable retention.", + "type": "boolean", + "default": false + } + } + }, + "FlowLogFormatParameters": { + "description": "Parameters that define the flow log format.", + "properties": { + "type": { + "type": "string", + "description": "The file type of flow log.", + "enum": [ + "JSON" + ], + "x-ms-enum": { + "name": "FlowLogFormatType", + "modelAsString": true + } + }, + "version": { + "description": "The version (revision) of the flow log.", + "type": "integer", + "format": "int32", + "default": 0 + } + } + }, + "FlowLogInformation": { + "description": "Information on the configuration of flow log and traffic analytics (optional) .", + "required": [ + "targetResourceId", + "properties" + ], + "properties": { + "targetResourceId": { + "description": "The ID of the resource to configure for flow log and traffic analytics (optional) .", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FlowLogProperties", + "description": "Properties of the flow log." + }, + "flowAnalyticsConfiguration": { + "$ref": "#/definitions/TrafficAnalyticsProperties", + "description": "Parameters that define the configuration of traffic analytics." + } + } + }, + "TrafficAnalyticsProperties": { + "description": "Parameters that define the configuration of traffic analytics.", + "properties": { + "networkWatcherFlowAnalyticsConfiguration": { + "$ref": "#/definitions/TrafficAnalyticsConfigurationProperties", + "description": "Parameters that define the configuration of traffic analytics." + } + } + }, + "TrafficAnalyticsConfigurationProperties": { + "description": "Parameters that define the configuration of traffic analytics.", + "properties": { + "enabled": { + "description": "Flag to enable/disable traffic analytics.", + "type": "boolean" + }, + "workspaceId": { + "description": "The resource guid of the attached workspace.", + "type": "string" + }, + "workspaceRegion": { + "description": "The location of the attached workspace.", + "type": "string" + }, + "workspaceResourceId": { + "description": "Resource Id of the attached workspace.", + "type": "string" + }, + "trafficAnalyticsInterval": { + "description": "The interval in minutes which would decide how frequently TA service should do flow analytics.", + "type": "integer", + "format": "int32" + } + } + }, + "ConnectivityParameters": { + "description": "Parameters that determine how the connectivity check will be performed.", + "required": [ + "source", + "destination" + ], + "properties": { + "source": { + "$ref": "#/definitions/ConnectivitySource", + "description": "The source of the connection." + }, + "destination": { + "$ref": "#/definitions/ConnectivityDestination", + "description": "The destination of connection." + }, + "protocol": { + "type": "string", + "description": "Network protocol.", + "enum": [ + "Tcp", + "Http", + "Https", + "Icmp" + ], + "x-ms-enum": { + "name": "Protocol", + "modelAsString": true + } + }, + "protocolConfiguration": { + "$ref": "#/definitions/ProtocolConfiguration", + "description": "Configuration of the protocol." + }, + "preferredIPVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "Preferred IP version of the connection." + } + } + }, + "ConnectivitySource": { + "description": "Parameters that define the source of the connection.", + "required": [ + "resourceId" + ], + "properties": { + "resourceId": { + "description": "The ID of the resource from which a connectivity check will be initiated.", + "type": "string" + }, + "port": { + "description": "The source port from which a connectivity check will be performed.", + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535 + } + } + }, + "ConnectivityDestination": { + "description": "Parameters that define destination of connection.", + "properties": { + "resourceId": { + "description": "The ID of the resource to which a connection attempt will be made.", + "type": "string" + }, + "address": { + "description": "The IP address or URI the resource to which a connection attempt will be made.", + "type": "string" + }, + "port": { + "description": "Port on which check connectivity will be performed.", + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535 + } + } + }, + "ConnectivityInformation": { + "description": "Information on the connectivity status.", + "properties": { + "hops": { + "readOnly": true, + "type": "array", + "description": "List of hops between the source and the destination.", + "items": { + "$ref": "#/definitions/ConnectivityHop" + } + }, + "connectionStatus": { + "readOnly": true, + "type": "string", + "enum": [ + "Unknown", + "Connected", + "Disconnected", + "Degraded" + ], + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + }, + "description": "The connection status." + }, + "avgLatencyInMs": { + "description": "Average latency in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "minLatencyInMs": { + "description": "Minimum latency in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "maxLatencyInMs": { + "description": "Maximum latency in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "probesSent": { + "description": "Total number of probes sent.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "probesFailed": { + "description": "Number of failed probes.", + "readOnly": true, + "type": "integer", + "format": "int32" + } + } + }, + "ConnectivityHop": { + "description": "Information about a hop between the source and the destination.", + "properties": { + "type": { + "description": "The type of the hop.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "The ID of the hop.", + "readOnly": true, + "type": "string" + }, + "address": { + "description": "The IP address of the hop.", + "readOnly": true, + "type": "string" + }, + "resourceId": { + "description": "The ID of the resource corresponding to this hop.", + "readOnly": true, + "type": "string" + }, + "nextHopIds": { + "readOnly": true, + "type": "array", + "description": "List of next hop identifiers.", + "items": { + "type": "string" + } + }, + "previousHopIds": { + "readOnly": true, + "type": "array", + "description": "List of previous hop identifiers.", + "items": { + "type": "string" + } + }, + "links": { + "readOnly": true, + "type": "array", + "description": "List of hop links.", + "items": { + "$ref": "#/definitions/HopLink" + } + }, + "previousLinks": { + "readOnly": true, + "type": "array", + "description": "List of previous hop links.", + "items": { + "$ref": "#/definitions/HopLink" + } + }, + "issues": { + "readOnly": true, + "type": "array", + "description": "List of issues.", + "items": { + "$ref": "#/definitions/ConnectivityIssue" + } + } + } + }, + "HopLink": { + "description": "Hop link.", + "properties": { + "nextHopId": { + "description": "The ID of the next hop.", + "readOnly": true, + "type": "string" + }, + "linkType": { + "description": "Link type.", + "readOnly": true, + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HopLinkProperties", + "description": "Hop link properties." + }, + "issues": { + "readOnly": true, + "type": "array", + "description": "List of issues.", + "items": { + "$ref": "#/definitions/ConnectivityIssue" + } + }, + "context": { + "readOnly": true, + "type": "object", + "description": "Provides additional context on links.", + "additionalProperties": { + "type": "string" + } + }, + "resourceId": { + "description": "Resource ID.", + "readOnly": true, + "type": "string" + } + } + }, + "HopLinkProperties": { + "description": "Hop link properties.", + "properties": { + "roundTripTimeMin": { + "description": "Minimum roundtrip time in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295 + }, + "roundTripTimeAvg": { + "description": "Average roundtrip time in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295 + }, + "roundTripTimeMax": { + "description": "Maximum roundtrip time in milliseconds.", + "readOnly": true, + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295 + } + } + }, + "ConnectivityIssue": { + "description": "Information about an issue encountered in the process of checking for connectivity.", + "properties": { + "origin": { + "readOnly": true, + "type": "string", + "enum": [ + "Local", + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "Origin", + "modelAsString": true + }, + "description": "The origin of the issue." + }, + "severity": { + "readOnly": true, + "type": "string", + "enum": [ + "Error", + "Warning" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + }, + "description": "The severity of the issue." + }, + "type": { + "readOnly": true, + "type": "string", + "enum": [ + "Unknown", + "AgentStopped", + "GuestFirewall", + "DnsResolution", + "SocketBind", + "NetworkSecurityRule", + "UserDefinedRoute", + "PortThrottled", + "Platform" + ], + "x-ms-enum": { + "name": "IssueType", + "modelAsString": true + }, + "description": "The type of issue." + }, + "context": { + "readOnly": true, + "type": "array", + "description": "Provides additional context on the issue.", + "items": { + "$ref": "#/definitions/IssueContext" + } + } + } + }, + "IssueContext": { + "description": "A key-value pair that provides additional context on the issue.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "ProtocolConfiguration": { + "description": "Configuration of the protocol.", + "properties": { + "HTTPConfiguration": { + "$ref": "#/definitions/HTTPConfiguration", + "description": "HTTP configuration of the connectivity check." + } + } + }, + "HTTPConfiguration": { + "properties": { + "method": { + "type": "string", + "description": "HTTP method.", + "enum": [ + "Get" + ], + "x-ms-enum": { + "name": "HTTPMethod", + "modelAsString": true + } + }, + "headers": { + "type": "array", + "description": "List of HTTP headers.", + "items": { + "$ref": "#/definitions/HTTPHeader" + } + }, + "validStatusCodes": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "Valid status codes." + } + }, + "description": "HTTP configuration of the connectivity check." + }, + "HTTPHeader": { + "properties": { + "name": { + "type": "string", + "description": "The name in HTTP header." + }, + "value": { + "type": "string", + "description": "The value in HTTP header." + } + }, + "description": "The HTTP header." + }, + "AzureReachabilityReportParameters": { + "properties": { + "providerLocation": { + "$ref": "#/definitions/AzureReachabilityReportLocation", + "description": "Parameters that define a geographic location." + }, + "providers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Internet service providers." + }, + "azureLocations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional Azure regions to scope the query to." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time for the Azure reachability report." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time for the Azure reachability report." + } + }, + "required": [ + "providerLocation", + "startTime", + "endTime" + ], + "description": "Geographic and time constraints for Azure reachability report." + }, + "AzureReachabilityReportLocation": { + "properties": { + "country": { + "type": "string", + "description": "The name of the country." + }, + "state": { + "type": "string", + "description": "The name of the state." + }, + "city": { + "type": "string", + "description": "The name of the city or town." + } + }, + "required": [ + "country" + ], + "description": "Parameters that define a geographic location." + }, + "AzureReachabilityReport": { + "properties": { + "aggregationLevel": { + "type": "string", + "description": "The aggregation level of Azure reachability report. Can be Country, State or City." + }, + "providerLocation": { + "$ref": "#/definitions/AzureReachabilityReportLocation", + "description": "Parameters that define a geographic location." + }, + "reachabilityReport": { + "type": "array", + "description": "List of Azure reachability report items.", + "items": { + "$ref": "#/definitions/AzureReachabilityReportItem" + } + } + }, + "required": [ + "aggregationLevel", + "providerLocation", + "reachabilityReport" + ], + "description": "Azure reachability report details." + }, + "AzureReachabilityReportItem": { + "properties": { + "provider": { + "type": "string", + "description": "The Internet service provider." + }, + "azureLocation": { + "type": "string", + "description": "The Azure region." + }, + "latencies": { + "type": "array", + "description": "List of latency details for each of the time series.", + "items": { + "$ref": "#/definitions/AzureReachabilityReportLatencyInfo" + } + } + }, + "description": "Azure reachability report details for a given provider location." + }, + "AzureReachabilityReportLatencyInfo": { + "properties": { + "timeStamp": { + "type": "string", + "format": "date-time", + "description": "The time stamp." + }, + "score": { + "type": "integer", + "format": "int32", + "description": "The relative latency score between 1 and 100, higher values indicating a faster connection.", + "minimum": 1, + "maximum": 100 + } + }, + "description": "Details on latency for a time series." + }, + "AvailableProvidersListParameters": { + "properties": { + "azureLocations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of Azure regions." + }, + "country": { + "type": "string", + "description": "The country for available providers list." + }, + "state": { + "type": "string", + "description": "The state for available providers list." + }, + "city": { + "type": "string", + "description": "The city or town for available providers list." + } + }, + "description": "Constraints that determine the list of available Internet service providers." + }, + "AvailableProvidersList": { + "properties": { + "countries": { + "type": "array", + "description": "List of available countries.", + "items": { + "$ref": "#/definitions/AvailableProvidersListCountry" + } + } + }, + "required": [ + "countries" + ], + "description": "List of available countries with details." + }, + "AvailableProvidersListCountry": { + "properties": { + "countryName": { + "type": "string", + "description": "The country name." + }, + "providers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of Internet service providers." + }, + "states": { + "type": "array", + "description": "List of available states in the country.", + "items": { + "$ref": "#/definitions/AvailableProvidersListState" + } + } + }, + "description": "Country details." + }, + "AvailableProvidersListState": { + "properties": { + "stateName": { + "type": "string", + "description": "The state name." + }, + "providers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of Internet service providers." + }, + "cities": { + "type": "array", + "description": "List of available cities or towns in the state.", + "items": { + "$ref": "#/definitions/AvailableProvidersListCity" + } + } + }, + "description": "State details." + }, + "AvailableProvidersListCity": { + "properties": { + "cityName": { + "type": "string", + "description": "The city or town name." + }, + "providers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of Internet service providers." + } + }, + "description": "City or town details." + }, + "NetworkConfigurationDiagnosticParameters": { + "description": "Parameters to get network configuration diagnostic.", + "required": [ + "targetResourceId", + "profiles" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and Application Gateway." + }, + "verbosityLevel": { + "type": "string", + "enum": [ + "Normal", + "Minimum", + "Full" + ], + "x-ms-enum": { + "name": "VerbosityLevel", + "modelAsString": true + }, + "description": "Verbosity level." + }, + "profiles": { + "type": "array", + "description": "List of network configuration diagnostic profiles.", + "items": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticProfile" + } + } + } + }, + "NetworkConfigurationDiagnosticProfile": { + "description": "Parameters to compare with network configuration.", + "required": [ + "direction", + "protocol", + "source", + "destination", + "destinationPort" + ], + "properties": { + "direction": { + "$ref": "#/definitions/Direction", + "description": "The direction of the traffic." + }, + "protocol": { + "type": "string", + "description": "Protocol to be verified on. Accepted values are '*', TCP, UDP." + }, + "source": { + "type": "string", + "description": "Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag." + }, + "destination": { + "type": "string", + "description": "Traffic destination. Accepted values are: '*', IP Address/CIDR, Service Tag." + }, + "destinationPort": { + "type": "string", + "description": "Traffic destination port. Accepted values are '*' and a single port in the range (0 - 65535)." + } + } + }, + "NetworkConfigurationDiagnosticResponse": { + "description": "Results of network configuration diagnostic on the target resource.", + "properties": { + "results": { + "readOnly": true, + "type": "array", + "description": "List of network configuration diagnostic results.", + "items": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticResult" + } + } + } + }, + "NetworkConfigurationDiagnosticResult": { + "description": "Network configuration diagnostic result corresponded to provided traffic query.", + "properties": { + "profile": { + "$ref": "#/definitions/NetworkConfigurationDiagnosticProfile", + "description": "Network configuration diagnostic profile." + }, + "networkSecurityGroupResult": { + "$ref": "#/definitions/NetworkSecurityGroupResult", + "description": "Network security group result." + } + } + }, + "NetworkSecurityGroupResult": { + "description": "Network configuration diagnostic result corresponded provided traffic query.", + "properties": { + "securityRuleAccessResult": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRuleAccess", + "description": "The network traffic is allowed or denied." + }, + "evaluatedNetworkSecurityGroups": { + "readOnly": true, + "type": "array", + "description": "List of results network security groups diagnostic.", + "items": { + "$ref": "#/definitions/EvaluatedNetworkSecurityGroup" + } + } + } + }, + "EvaluatedNetworkSecurityGroup": { + "description": "Results of network security group evaluation.", + "properties": { + "networkSecurityGroupId": { + "type": "string", + "description": "Network security group ID." + }, + "appliedTo": { + "type": "string", + "description": "Resource ID of nic or subnet to which network security group is applied." + }, + "matchedRule": { + "$ref": "#/definitions/MatchedRule", + "description": "Matched network security rule." + }, + "rulesEvaluationResult": { + "readOnly": true, + "type": "array", + "description": "List of network security rules evaluation results.", + "items": { + "$ref": "#/definitions/NetworkSecurityRulesEvaluationResult" + } + } + } + }, + "MatchedRule": { + "description": "Matched rule.", + "properties": { + "ruleName": { + "type": "string", + "description": "Name of the matched network security rule." + }, + "action": { + "type": "string", + "description": "The network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'." + } + } + }, + "NetworkSecurityRulesEvaluationResult": { + "description": "Network security rules evaluation result.", + "properties": { + "name": { + "type": "string", + "description": "Name of the network security rule." + }, + "protocolMatched": { + "type": "boolean", + "description": "Value indicating whether protocol is matched." + }, + "sourceMatched": { + "type": "boolean", + "description": "Value indicating whether source is matched." + }, + "sourcePortMatched": { + "type": "boolean", + "description": "Value indicating whether source port is matched." + }, + "destinationMatched": { + "type": "boolean", + "description": "Value indicating whether destination is matched." + }, + "destinationPortMatched": { + "type": "boolean", + "description": "Value indicating whether destination port is matched." + } + } + }, + "Direction": { + "type": "string", + "description": "The direction of the traffic.", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "Direction", + "modelAsString": true + } + }, + "ConnectionMonitor": { + "properties": { + "location": { + "type": "string", + "description": "Connection monitor location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Connection monitor tags." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConnectionMonitorParameters", + "description": "Properties of the connection monitor." + } + }, + "required": [ + "properties" + ], + "description": "Parameters that define the operation to create a connection monitor." + }, + "ConnectionMonitorParameters": { + "properties": { + "source": { + "$ref": "#/definitions/ConnectionMonitorSource", + "description": "Describes the source of connection monitor." + }, + "destination": { + "$ref": "#/definitions/ConnectionMonitorDestination", + "description": "Describes the destination of connection monitor." + }, + "autoStart": { + "type": "boolean", + "default": true, + "description": "Determines if the connection monitor will start automatically once created." + }, + "monitoringIntervalInSeconds": { + "type": "integer", + "format": "int32", + "minimum": 30, + "maximum": 1800, + "default": 60, + "description": "Monitoring interval in seconds." + }, + "endpoints": { + "type": "array", + "description": "List of connection monitor endpoints.", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpoint" + } + }, + "testConfigurations": { + "type": "array", + "description": "List of connection monitor test configurations.", + "items": { + "$ref": "#/definitions/ConnectionMonitorTestConfiguration" + } + }, + "testGroups": { + "type": "array", + "description": "List of connection monitor test groups.", + "items": { + "$ref": "#/definitions/ConnectionMonitorTestGroup" + } + }, + "outputs": { + "type": "array", + "description": "List of connection monitor outputs.", + "items": { + "$ref": "#/definitions/ConnectionMonitorOutput" + } + }, + "notes": { + "type": "string", + "description": "Optional notes to be associated with the connection monitor." + } + }, + "description": "Parameters that define the operation to create a connection monitor." + }, + "ConnectionMonitorSource": { + "properties": { + "resourceId": { + "type": "string", + "description": "The ID of the resource used as the source by connection monitor." + }, + "port": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "The source port used by connection monitor." + } + }, + "required": [ + "resourceId" + ], + "description": "Describes the source of connection monitor." + }, + "ConnectionMonitorDestination": { + "properties": { + "resourceId": { + "type": "string", + "description": "The ID of the resource used as the destination by connection monitor." + }, + "address": { + "type": "string", + "description": "Address of the connection monitor destination (IP or domain name)." + }, + "port": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "The destination port used by connection monitor." + } + }, + "description": "Describes the destination of connection monitor." + }, + "ConnectionMonitorEndpoint": { + "properties": { + "name": { + "type": "string", + "description": "The name of the connection monitor endpoint." + }, + "type": { + "type": "string", + "enum": [ + "AzureVM", + "AzureVNet", + "AzureSubnet", + "ExternalAddress", + "MMAWorkspaceMachine", + "MMAWorkspaceNetwork", + "AzureArcVM", + "AzureVMSS" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + }, + "description": "The endpoint type." + }, + "resourceId": { + "type": "string", + "description": "Resource ID of the connection monitor endpoint." + }, + "address": { + "type": "string", + "description": "Address of the connection monitor endpoint (IP or domain name)." + }, + "filter": { + "$ref": "#/definitions/ConnectionMonitorEndpointFilter", + "description": "Filter for sub-items within the endpoint." + }, + "scope": { + "$ref": "#/definitions/ConnectionMonitorEndpointScope", + "description": "Endpoint scope." + }, + "coverageLevel": { + "type": "string", + "enum": [ + "Default", + "Low", + "BelowAverage", + "Average", + "AboveAverage", + "Full" + ], + "x-ms-enum": { + "name": "CoverageLevel", + "modelAsString": true + }, + "description": "Test coverage for the endpoint." + } + }, + "required": [ + "name" + ], + "description": "Describes the connection monitor endpoint." + }, + "ConnectionMonitorEndpointScope": { + "properties": { + "include": { + "type": "array", + "description": "List of items which needs to be included to the endpoint scope.", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpointScopeItem" + } + }, + "exclude": { + "type": "array", + "description": "List of items which needs to be excluded from the endpoint scope.", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpointScopeItem" + } + } + }, + "description": "Describes the connection monitor endpoint scope." + }, + "ConnectionMonitorEndpointScopeItem": { + "properties": { + "address": { + "type": "string", + "description": "The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address." + } + }, + "description": "Describes the connection monitor endpoint scope item." + }, + "ConnectionMonitorEndpointFilter": { + "properties": { + "type": { + "type": "string", + "enum": [ + "Include" + ], + "x-ms-enum": { + "name": "ConnectionMonitorEndpointFilterType", + "modelAsString": true + }, + "description": "The behavior of the endpoint filter. Currently only 'Include' is supported." + }, + "items": { + "type": "array", + "description": "List of items in the filter.", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpointFilterItem" + } + } + }, + "description": "Describes the connection monitor endpoint filter." + }, + "ConnectionMonitorEndpointFilterItem": { + "properties": { + "type": { + "type": "string", + "enum": [ + "AgentAddress" + ], + "x-ms-enum": { + "name": "ConnectionMonitorEndpointFilterItemType", + "modelAsString": true + }, + "description": "The type of item included in the filter. Currently only 'AgentAddress' is supported." + }, + "address": { + "type": "string", + "description": "The address of the filter item." + } + }, + "description": "Describes the connection monitor endpoint filter item." + }, + "ConnectionMonitorTestGroup": { + "properties": { + "name": { + "type": "string", + "description": "The name of the connection monitor test group." + }, + "disable": { + "type": "boolean", + "description": "Value indicating whether test group is disabled." + }, + "testConfigurations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of test configuration names." + }, + "sources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of source endpoint names." + }, + "destinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of destination endpoint names." + } + }, + "required": [ + "name", + "testConfigurations", + "sources", + "destinations" + ], + "description": "Describes the connection monitor test group." + }, + "ConnectionMonitorTestConfiguration": { + "properties": { + "name": { + "type": "string", + "description": "The name of the connection monitor test configuration." + }, + "testFrequencySec": { + "type": "integer", + "format": "int32", + "description": "The frequency of test evaluation, in seconds." + }, + "protocol": { + "type": "string", + "enum": [ + "Tcp", + "Http", + "Icmp" + ], + "x-ms-enum": { + "name": "ConnectionMonitorTestConfigurationProtocol", + "modelAsString": true + }, + "description": "The protocol to use in test evaluation." + }, + "preferredIPVersion": { + "type": "string", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "PreferredIPVersion", + "modelAsString": true + }, + "description": "The preferred IP version to use in test evaluation. The connection monitor may choose to use a different version depending on other parameters." + }, + "httpConfiguration": { + "$ref": "#/definitions/ConnectionMonitorHttpConfiguration", + "description": "The parameters used to perform test evaluation over HTTP." + }, + "tcpConfiguration": { + "$ref": "#/definitions/ConnectionMonitorTcpConfiguration", + "description": "The parameters used to perform test evaluation over TCP." + }, + "icmpConfiguration": { + "$ref": "#/definitions/ConnectionMonitorIcmpConfiguration", + "description": "The parameters used to perform test evaluation over ICMP." + }, + "successThreshold": { + "$ref": "#/definitions/ConnectionMonitorSuccessThreshold", + "description": "The threshold for declaring a test successful." + } + }, + "required": [ + "name", + "protocol" + ], + "description": "Describes a connection monitor test configuration." + }, + "ConnectionMonitorHttpConfiguration": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "The port to connect to." + }, + "method": { + "type": "string", + "description": "The HTTP method to use.", + "enum": [ + "Get", + "Post" + ], + "x-ms-enum": { + "name": "HTTPConfigurationMethod", + "modelAsString": true + } + }, + "path": { + "type": "string", + "description": "The path component of the URI. For instance, \"/dir1/dir2\"." + }, + "requestHeaders": { + "type": "array", + "description": "The HTTP headers to transmit with the request.", + "items": { + "$ref": "#/definitions/HTTPHeader" + } + }, + "validStatusCodeRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "HTTP status codes to consider successful. For instance, \"2xx,301-304,418\"." + }, + "preferHTTPS": { + "type": "boolean", + "description": "Value indicating whether HTTPS is preferred over HTTP in cases where the choice is not explicit." + } + }, + "description": "Describes the HTTP configuration." + }, + "ConnectionMonitorTcpConfiguration": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "The port to connect to." + }, + "disableTraceRoute": { + "type": "boolean", + "description": "Value indicating whether path evaluation with trace route should be disabled." + }, + "destinationPortBehavior": { + "type": "string", + "description": "Destination port behavior.", + "enum": [ + "None", + "ListenIfAvailable" + ], + "x-ms-enum": { + "name": "DestinationPortBehavior", + "modelAsString": true + } + } + }, + "description": "Describes the TCP configuration." + }, + "ConnectionMonitorIcmpConfiguration": { + "properties": { + "disableTraceRoute": { + "type": "boolean", + "description": "Value indicating whether path evaluation with trace route should be disabled." + } + }, + "description": "Describes the ICMP configuration." + }, + "ConnectionMonitorSuccessThreshold": { + "properties": { + "checksFailedPercent": { + "type": "integer", + "format": "int32", + "description": "The maximum percentage of failed checks permitted for a test to evaluate as successful." + }, + "roundTripTimeMs": { + "type": "number", + "description": "The maximum round-trip time in milliseconds permitted for a test to evaluate as successful." + } + }, + "description": "Describes the threshold for declaring a test successful." + }, + "ConnectionMonitorOutput": { + "properties": { + "type": { + "type": "string", + "description": "Connection monitor output destination type. Currently, only \"Workspace\" is supported.", + "enum": [ + "Workspace" + ], + "x-ms-enum": { + "name": "OutputType", + "modelAsString": true + } + }, + "workspaceSettings": { + "$ref": "#/definitions/ConnectionMonitorWorkspaceSettings", + "description": "Describes the settings for producing output into a log analytics workspace." + } + }, + "description": "Describes a connection monitor output destination." + }, + "ConnectionMonitorWorkspaceSettings": { + "properties": { + "workspaceResourceId": { + "type": "string", + "description": "Log analytics workspace resource ID." + } + }, + "description": "Describes the settings for producing output into a log analytics workspace." + }, + "ConnectionStateSnapshot": { + "properties": { + "connectionState": { + "type": "string", + "enum": [ + "Reachable", + "Unreachable", + "Unknown" + ], + "x-ms-enum": { + "name": "ConnectionState", + "modelAsString": true + }, + "description": "The connection state." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the connection snapshot." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the connection snapshot." + }, + "evaluationState": { + "type": "string", + "enum": [ + "NotStarted", + "InProgress", + "Completed" + ], + "x-ms-enum": { + "name": "EvaluationState", + "modelAsString": true + }, + "description": "Connectivity analysis evaluation state." + }, + "avgLatencyInMs": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Average latency in ms." + }, + "minLatencyInMs": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Minimum latency in ms." + }, + "maxLatencyInMs": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Maximum latency in ms." + }, + "probesSent": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The number of sent probes." + }, + "probesFailed": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The number of failed probes." + }, + "hops": { + "readOnly": true, + "type": "array", + "description": "List of hops between the source and the destination.", + "items": { + "$ref": "./networkWatcher.json#/definitions/ConnectivityHop" + } + } + }, + "description": "Connection state snapshot." + }, + "ConnectionMonitorListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionMonitorResult" + }, + "description": "Information about connection monitors." + } + }, + "description": "List of connection monitors." + }, + "ConnectionMonitorResult": { + "x-ms-azure-resource": true, + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the connection monitor." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "ID of the connection monitor." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Connection monitor type." + }, + "location": { + "type": "string", + "description": "Connection monitor location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Connection monitor tags." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConnectionMonitorResultProperties", + "description": "Properties of the connection monitor result." + } + }, + "description": "Information about the connection monitor." + }, + "ConnectionMonitorResultProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the connection monitor." + }, + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The date and time when the connection monitor was started." + }, + "monitoringStatus": { + "readOnly": true, + "type": "string", + "description": "The monitoring status of the connection monitor." + }, + "connectionMonitorType": { + "readOnly": true, + "type": "string", + "enum": [ + "MultiEndpoint", + "SingleSourceDestination" + ], + "x-ms-enum": { + "name": "ConnectionMonitorType", + "modelAsString": true + }, + "description": "Type of connection monitor." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectionMonitorParameters" + } + ], + "description": "Describes the properties of a connection monitor." + }, + "ConnectionMonitorQueryResult": { + "properties": { + "sourceStatus": { + "type": "string", + "enum": [ + "Unknown", + "Active", + "Inactive" + ], + "x-ms-enum": { + "name": "ConnectionMonitorSourceStatus", + "modelAsString": true + }, + "description": "Status of connection monitor source." + }, + "states": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionStateSnapshot" + }, + "description": "Information about connection states." + } + }, + "description": "List of connection states snapshots." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/operation.json new file mode 100644 index 000000000000..45363a125ea2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/operation.json @@ -0,0 +1,271 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Network/operations": { + "get": { + "operationId": "Operations_List", + "description": "Lists all of the available Network Rest API operations.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of operations for a resource provider": { + "$ref": "./examples/OperationList.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Network operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Network operations supported by the Network resource provider." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "Network REST API operation definition.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft Network.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Type of the operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of the operation.", + "type": "string" + } + } + }, + "origin": { + "description": "Origin of the operation.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationPropertiesFormat", + "description": "Operation properties format." + } + } + }, + "OperationPropertiesFormat": { + "description": "Description of operation properties format.", + "properties": { + "serviceSpecification": { + "description": "Specification of the service.", + "properties": { + "metricSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "description": "Operation service specification." + }, + "logSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "description": "Operation log specification." + } + } + } + } + }, + "LogSpecification": { + "description": "Description of logging specification.", + "properties": { + "name": { + "type": "string", + "description": "The name of the specification." + }, + "displayName": { + "type": "string", + "description": "The display name of the specification." + }, + "blobDuration": { + "type": "string", + "description": "Duration of the blob." + } + } + }, + "MetricSpecification": { + "description": "Description of metrics specification.", + "properties": { + "name": { + "type": "string", + "description": "The name of the metric." + }, + "displayName": { + "type": "string", + "description": "The display name of the metric." + }, + "displayDescription": { + "type": "string", + "description": "The description of the metric." + }, + "unit": { + "type": "string", + "description": "Units the metric to be displayed in." + }, + "aggregationType": { + "type": "string", + "description": "The aggregation type." + }, + "availabilities": { + "type": "array", + "items": { + "$ref": "#/definitions/Availability" + }, + "description": "List of availability." + }, + "enableRegionalMdmAccount": { + "type": "boolean", + "description": "Whether regional MDM account enabled." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "Whether gaps would be filled with zeros." + }, + "metricFilterPattern": { + "type": "string", + "description": "Pattern for the filter of the metric." + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + }, + "description": "List of dimensions." + }, + "isInternal": { + "type": "boolean", + "description": "Whether the metric is internal." + }, + "sourceMdmAccount": { + "type": "string", + "description": "The source MDM account." + }, + "sourceMdmNamespace": { + "type": "string", + "description": "The source MDM namespace." + }, + "resourceIdDimensionNameOverride": { + "type": "string", + "description": "The resource Id dimension name override." + } + } + }, + "Dimension": { + "description": "Dimension of the metric.", + "properties": { + "name": { + "type": "string", + "description": "The name of the dimension." + }, + "displayName": { + "type": "string", + "description": "The display name of the dimension." + }, + "internalName": { + "type": "string", + "description": "The internal name of the dimension." + } + } + }, + "Availability": { + "description": "Availability of the metric.", + "properties": { + "timeGrain": { + "type": "string", + "description": "The time grain of the availability." + }, + "retention": { + "type": "string", + "description": "The retention of the availability." + }, + "blobDuration": { + "type": "string", + "description": "Duration of the availability blob." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/privateEndpoint.json new file mode 100644 index 000000000000..cfb5337ed13d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/privateEndpoint.json @@ -0,0 +1,1038 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}": { + "delete": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_Delete", + "description": "Deletes the specified private endpoint.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete private endpoint": { + "$ref": "./examples/PrivateEndpointDelete.json" + } + } + }, + "get": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_Get", + "description": "Gets the specified private endpoint by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting private endpoint resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get private endpoint": { + "$ref": "./examples/PrivateEndpointGet.json" + }, + "Get private endpoint with manual approval connection": { + "$ref": "./examples/PrivateEndpointGetForManualApproval.json" + }, + "Get private endpoint with application security groups": { + "$ref": "./examples/PrivateEndpointGetWithASG.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_CreateOrUpdate", + "description": "Creates or updates an private endpoint in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "description": "Parameters supplied to the create or update private endpoint operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting private endpoint resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting private endpoint resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create private endpoint": { + "$ref": "./examples/PrivateEndpointCreate.json" + }, + "Create private endpoint with manual approval connection": { + "$ref": "./examples/PrivateEndpointCreateForManualApproval.json" + }, + "Create private endpoint with application security groups": { + "$ref": "./examples/PrivateEndpointCreateWithASG.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints": { + "get": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_List", + "description": "Gets all private endpoints in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of private endpoint resources.", + "schema": { + "$ref": "#/definitions/PrivateEndpointListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List private endpoints in resource group": { + "$ref": "./examples/PrivateEndpointList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints": { + "get": { + "tags": [ + "PrivateEndpoints" + ], + "operationId": "PrivateEndpoints_ListBySubscription", + "description": "Gets all private endpoints in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of private endpoint resources.", + "schema": { + "$ref": "#/definitions/PrivateEndpointListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all private endpoints": { + "$ref": "./examples/PrivateEndpointListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes": { + "get": { + "operationId": "AvailablePrivateEndpointTypes_List", + "description": "Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", + "schema": { + "$ref": "#/definitions/AvailablePrivateEndpointTypesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available PrivateEndpoint types": { + "$ref": "./examples/AvailablePrivateEndpointTypesGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes": { + "get": { + "operationId": "AvailablePrivateEndpointTypes_ListByResourceGroup", + "description": "Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.", + "schema": { + "$ref": "#/definitions/AvailablePrivateEndpointTypesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available PrivateEndpoint types in the resource group": { + "$ref": "./examples/AvailablePrivateEndpointTypesResourceGroupGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName}": { + "delete": { + "tags": [ + "PrivateDnsZoneGroups" + ], + "operationId": "PrivateDnsZoneGroups_Delete", + "description": "Deletes the specified private dns zone group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "name": "privateDnsZoneGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private dns zone group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete private dns zone group": { + "$ref": "./examples/PrivateEndpointDnsZoneGroupDelete.json" + } + } + }, + "get": { + "tags": [ + "PrivateDnsZoneGroups" + ], + "operationId": "PrivateDnsZoneGroups_Get", + "description": "Gets the private dns zone group resource by specified private dns zone group name.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "name": "privateDnsZoneGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private dns zone group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting privateDnsZoneGroup resource.", + "schema": { + "$ref": "#/definitions/PrivateDnsZoneGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get private dns zone group": { + "$ref": "./examples/PrivateEndpointDnsZoneGroupGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateDnsZoneGroups" + ], + "operationId": "PrivateDnsZoneGroups_CreateOrUpdate", + "description": "Creates or updates a private dns zone group in the specified private endpoint.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "name": "privateDnsZoneGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private dns zone group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateDnsZoneGroup" + }, + "description": "Parameters supplied to the create or update private dns zone group operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting PrivateDnsZoneGroup resource.", + "schema": { + "$ref": "#/definitions/PrivateDnsZoneGroup" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting PrivateDnsZoneGroup resource.", + "schema": { + "$ref": "#/definitions/PrivateDnsZoneGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create private dns zone group": { + "$ref": "./examples/PrivateEndpointDnsZoneGroupCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups": { + "get": { + "tags": [ + "PrivateDnsZoneGroups" + ], + "operationId": "PrivateDnsZoneGroups_List", + "description": "Gets all private dns zone groups in a private endpoint.", + "parameters": [ + { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint." + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of private dns zone group resources.", + "schema": { + "$ref": "#/definitions/PrivateDnsZoneGroupListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List private endpoints in resource group": { + "$ref": "./examples/PrivateEndpointDnsZoneGroupList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PrivateEndpoint": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the load balancer." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointProperties", + "description": "Properties of the private endpoint." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Private endpoint resource." + }, + "PrivateEndpointProperties": { + "properties": { + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The ID of the subnet from which the private IP will be allocated." + }, + "networkInterfaces": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + }, + "description": "An array of references to the network interfaces created for this private endpoint." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the private endpoint resource." + }, + "privateLinkServiceConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" + }, + "description": "A grouping of information about the connection to the remote resource." + }, + "manualPrivateLinkServiceConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" + }, + "description": "A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource." + }, + "customDnsConfigs": { + "type": "array", + "items": { + "$ref": "#/definitions/CustomDnsConfigPropertiesFormat" + }, + "description": "An array of custom dns configurations." + }, + "applicationSecurityGroups": { + "type": "array", + "items": { + "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup" + }, + "description": "Application security groups in which the private endpoint IP configuration is included." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointIPConfiguration" + }, + "description": "A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints." + }, + "customNetworkInterfaceName": { + "type": "string", + "description": "The custom name of the network interface attached to the private endpoint." + } + }, + "description": "Properties of the private endpoint." + }, + "CustomDnsConfigPropertiesFormat": { + "properties": { + "fqdn": { + "type": "string", + "description": "Fqdn that resolves to private endpoint ip address." + }, + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of private ip addresses of the private endpoint." + } + }, + "description": "Contains custom Dns resolution configuration from customer." + }, + "PrivateLinkServiceConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkServiceConnectionProperties", + "description": "Properties of the private link service connection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "PrivateLinkServiceConnection resource." + }, + "PrivateLinkServiceConnectionProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the private link service connection resource." + }, + "privateLinkServiceId": { + "type": "string", + "description": "The resource id of private link service." + }, + "groupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to." + }, + "requestMessage": { + "type": "string", + "description": "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars." + }, + "privateLinkServiceConnectionState": { + "$ref": "./privateLinkService.json#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of read-only information about the state of the connection to the remote resource." + } + }, + "description": "Properties of the PrivateLinkServiceConnection." + }, + "PrivateEndpointListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "description": "A list of private endpoint resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListPrivateEndpoints API service call." + }, + "PrivateDnsZoneGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateDnsZoneGroup" + }, + "description": "A list of private dns zone group resources in a private endpoint." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListPrivateDnsZoneGroups API service call." + }, + "AvailablePrivateEndpointTypesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailablePrivateEndpointType" + }, + "description": "An array of available privateEndpoint type." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "An array of available PrivateEndpoint types." + }, + "AvailablePrivateEndpointType": { + "properties": { + "name": { + "type": "string", + "description": "The name of the service and resource." + }, + "id": { + "type": "string", + "description": "A unique identifier of the AvailablePrivateEndpoint Type resource." + }, + "type": { + "type": "string", + "description": "Resource type." + }, + "resourceName": { + "type": "string", + "description": "The name of the service and resource." + }, + "displayName": { + "type": "string", + "description": "Display name of the resource." + } + }, + "description": "The information of an AvailablePrivateEndpointType." + }, + "PrivateDnsZoneGroup": { + "properties": { + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateDnsZoneGroupPropertiesFormat", + "description": "Properties of the private dns zone group." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Private dns zone group resource." + }, + "PrivateDnsZoneGroupPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the private dns zone group resource." + }, + "privateDnsZoneConfigs": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateDnsZoneConfig" + }, + "description": "A collection of private dns zone configurations of the private dns zone group." + } + }, + "description": "Properties of the private dns zone group." + }, + "PrivateDnsZoneConfig": { + "properties": { + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateDnsZonePropertiesFormat", + "description": "Properties of the private dns zone configuration." + } + }, + "description": "PrivateDnsZoneConfig resource." + }, + "PrivateDnsZonePropertiesFormat": { + "properties": { + "privateDnsZoneId": { + "type": "string", + "description": "The resource id of the private dns zone." + }, + "recordSets": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RecordSet" + }, + "description": "A collection of information regarding a recordSet, holding information to identify private resources." + } + }, + "description": "Properties of the private dns zone configuration resource." + }, + "RecordSet": { + "properties": { + "recordType": { + "type": "string", + "description": "Resource record type." + }, + "recordSetName": { + "type": "string", + "description": "Recordset name." + }, + "fqdn": { + "type": "string", + "description": "Fqdn that resolves to private endpoint ip address." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the recordset." + }, + "ttl": { + "type": "integer", + "description": "Recordset time to live." + }, + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private ip address of the private endpoint." + } + }, + "description": "A collective group of information about the record set information." + }, + "PrivateEndpointIPConfiguration": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointIPConfigurationProperties", + "description": "Properties of private endpoint IP configurations." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "An IP Configuration of the private endpoint." + }, + "PrivateEndpointIPConfigurationProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The ID of a group obtained from the remote resource that this private endpoint should connect to." + }, + "memberName": { + "type": "string", + "description": "The member name of a group obtained from the remote resource that this private endpoint should connect to." + }, + "privateIPAddress": { + "type": "string", + "description": "A private ip address obtained from the private endpoint's subnet." + } + }, + "description": "Properties of an IP Configuration of the private endpoint." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/privateLinkService.json new file mode 100644 index 000000000000..404deb809aa3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/privateLinkService.json @@ -0,0 +1,1091 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}": { + "delete": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_Delete", + "description": "Deletes the specified private link service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete private link service": { + "$ref": "./examples/PrivateLinkServiceDelete.json" + } + } + }, + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_Get", + "description": "Gets the specified private link service by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting PrivateLinkService resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkService" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get private link service": { + "$ref": "./examples/PrivateLinkServiceGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateLinkService" + ], + "operationId": "PrivateLinkServices_CreateOrUpdate", + "description": "Creates or updates an private link service in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkService" + }, + "description": "Parameters supplied to the create or update private link service operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting privateLinkService resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkService" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting privateLinkService resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkService" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create private link service": { + "$ref": "./examples/PrivateLinkServiceCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_List", + "description": "Gets all private link services in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of privateLinkService resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkServiceListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List private link service in resource group": { + "$ref": "./examples/PrivateLinkServiceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateLinkServices": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_ListBySubscription", + "description": "Gets all private link service in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PrivateLinkService resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkServiceListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all private list service": { + "$ref": "./examples/PrivateLinkServiceListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_GetPrivateEndpointConnection", + "description": "Get the specific private end point connection by specific private link service in the resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "name": "peConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private end point connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting private end point connection resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get private end point connection": { + "$ref": "./examples/PrivateLinkServiceGetPrivateEndpointConnection.json" + } + } + }, + "put": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_UpdatePrivateEndpointConnection", + "description": "Approve or reject private end point connection for a private link service in a subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "name": "peConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private end point connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Parameters supplied to approve or reject the private end point connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting PrivateEndpointConnection resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "approve or reject private end point connection for a private link service": { + "$ref": "./examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json" + } + } + }, + "delete": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_DeletePrivateEndpointConnection", + "description": "Delete private end point connection for a private link service in a subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "name": "peConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private end point connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "delete private end point connection for a private link service": { + "$ref": "./examples/PrivateLinkServiceDeletePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_ListPrivateEndpointConnections", + "description": "Gets all private end point connections for a specific private link service.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private link service." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of private end point connection resources.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List private link service in resource group": { + "$ref": "./examples/PrivateLinkServiceListPrivateEndpointConnection.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility": { + "post": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_CheckPrivateLinkServiceVisibility", + "description": "Checks whether the subscription is visible to private link service.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckPrivateLinkServiceVisibilityRequest" + }, + "description": "The request body of CheckPrivateLinkService API call." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns whether the subscription is visible to private link service.", + "schema": { + "$ref": "#/definitions/PrivateLinkServiceVisibility" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Check private link service visibility": { + "$ref": "./examples/CheckPrivateLinkServiceVisibility.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility": { + "post": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_CheckPrivateLinkServiceVisibilityByResourceGroup", + "description": "Checks whether the subscription is visible to private link service in the specified resource group.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckPrivateLinkServiceVisibilityRequest" + }, + "description": "The request body of CheckPrivateLinkService API call." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns whether the subscription is visible to private link service.", + "schema": { + "$ref": "#/definitions/PrivateLinkServiceVisibility" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Check private link service visibility": { + "$ref": "./examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_ListAutoApprovedPrivateLinkServices", + "description": "Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.", + "schema": { + "$ref": "#/definitions/AutoApprovedPrivateLinkServicesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get list of private link service id that can be linked to a private end point with auto approved": { + "$ref": "./examples/AutoApprovedPrivateLinkServicesGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices": { + "get": { + "tags": [ + "PrivateLinkServices" + ], + "operationId": "PrivateLinkServices_ListAutoApprovedPrivateLinkServicesByResourceGroup", + "description": "Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the domain name." + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all of the private link service ids that can be linked to a Private Endpoint with auto approved in this subscription in this region.", + "schema": { + "$ref": "#/definitions/AutoApprovedPrivateLinkServicesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get list of private link service id that can be linked to a private end point with auto approved": { + "$ref": "./examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PrivateLinkService": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the load balancer." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkServiceProperties", + "description": "Properties of the private link service." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Private link service resource." + }, + "PrivateLinkServiceProperties": { + "properties": { + "loadBalancerFrontendIpConfigurations": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/FrontendIPConfiguration" + }, + "description": "An array of references to the load balancer IP configurations." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceIpConfiguration" + }, + "description": "An array of private link service IP configurations." + }, + "networkInterfaces": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + }, + "description": "An array of references to the network interfaces created for this private link service." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the private link service resource." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "An array of list about connections to the private endpoint." + }, + "visibility": { + "allOf": [ + { + "$ref": "#/definitions/ResourceSet" + } + ], + "description": "The visibility list of the private link service." + }, + "autoApproval": { + "allOf": [ + { + "$ref": "#/definitions/ResourceSet" + } + ], + "description": "The auto-approval list of the private link service." + }, + "fqdns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of Fqdn." + }, + "alias": { + "readOnly": true, + "type": "string", + "description": "The alias of the private link service." + }, + "enableProxyProtocol": { + "type": "boolean", + "description": "Whether the private link service is enabled for proxy protocol or not." + } + }, + "description": "Properties of the private link service." + }, + "ResourceSet": { + "properties": { + "subscriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of subscriptions." + } + }, + "description": "The base resource set for visibility and auto-approval." + }, + "PrivateLinkServiceIpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkServiceIpConfigurationProperties", + "description": "Properties of the private link service ip configuration." + }, + "name": { + "type": "string", + "description": "The name of private link service ip configuration." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "The private link service ip configuration." + }, + "PrivateLinkServiceIpConfigurationProperties": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference to the subnet resource." + }, + "primary": { + "type": "boolean", + "description": "Whether the ip configuration is primary or not." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the private link service IP configuration resource." + }, + "privateIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4." + } + }, + "description": "Properties of private link service IP configuration." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the private end point connection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "PrivateEndpointConnection resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "readOnly": true, + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + }, + "linkIdentifier": { + "readOnly": true, + "type": "string", + "description": "The consumer link id." + }, + "privateEndpointLocation": { + "readOnly": true, + "type": "string", + "description": "The location of the private endpoint." + } + }, + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "type": "string", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "actionsRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + } + }, + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "PrivateLinkServiceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkService" + }, + "description": "A list of PrivateLinkService resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListPrivateLinkService API service call." + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "A list of PrivateEndpointConnection resources for a specific private link service." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results.", + "readOnly": true + } + }, + "description": "Response for the ListPrivateEndpointConnection API service call." + }, + "CheckPrivateLinkServiceVisibilityRequest": { + "properties": { + "privateLinkServiceAlias": { + "type": "string", + "description": "The alias of the private link service." + } + }, + "description": "Request body of the CheckPrivateLinkServiceVisibility API service call." + }, + "PrivateLinkServiceVisibility": { + "properties": { + "visible": { + "type": "boolean", + "description": "Private Link Service Visibility (True/False)." + } + }, + "description": "Response for the CheckPrivateLinkServiceVisibility API service call." + }, + "AutoApprovedPrivateLinkServicesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoApprovedPrivateLinkService" + }, + "description": "An array of auto approved private link service." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "An array of private link service id that can be linked to a private end point with auto approved." + }, + "AutoApprovedPrivateLinkService": { + "properties": { + "privateLinkService": { + "type": "string", + "description": "The id of the private link service resource." + } + }, + "description": "The information of an AutoApprovedPrivateLinkService." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/publicIpAddress.json new file mode 100644 index 000000000000..2f60461cc121 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/publicIpAddress.json @@ -0,0 +1,712 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}": { + "delete": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_Delete", + "description": "Deletes the specified public IP address.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP address." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete public IP address": { + "$ref": "./examples/PublicIpAddressDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_Get", + "description": "Gets the specified public IP address in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP address." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "#/definitions/PublicIPAddress" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get public IP address": { + "$ref": "./examples/PublicIpAddressGet.json" + } + } + }, + "put": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_CreateOrUpdate", + "description": "Creates or updates a static or dynamic public IP address.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP address." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PublicIPAddress" + }, + "description": "Parameters supplied to the create or update public IP address operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "#/definitions/PublicIPAddress" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "#/definitions/PublicIPAddress" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create public IP address defaults": { + "$ref": "./examples/PublicIpAddressCreateDefaults.json" + }, + "Create public IP address allocation method": { + "$ref": "./examples/PublicIpAddressCreateCustomizedValues.json" + }, + "Create public IP address DNS": { + "$ref": "./examples/PublicIpAddressCreateDns.json" + }, + "Create public IP address DNS with Domain Name Label Scope": { + "$ref": "./examples/PublicIpAddressCreateDnsWithDomainNameLabelScope.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_UpdateTags", + "description": "Updates public IP address tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP address." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update public IP address tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "#/definitions/PublicIPAddress" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update public IP address tags": { + "$ref": "./examples/PublicIpAddressUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses": { + "get": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_ListAll", + "description": "Gets all the public IP addresses in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPAddress resources.", + "schema": { + "$ref": "#/definitions/PublicIPAddressListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all public IP addresses": { + "$ref": "./examples/PublicIpAddressListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses": { + "get": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_List", + "description": "Gets all public IP addresses in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPAddress resources.", + "schema": { + "$ref": "#/definitions/PublicIPAddressListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List resource group public IP addresses": { + "$ref": "./examples/PublicIpAddressList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}/ddosProtectionStatus": { + "post": { + "tags": [ + "PublicIPAddresses" + ], + "operationId": "PublicIPAddresses_DdosProtectionStatus", + "description": "Gets the Ddos Protection Status of a Public IP Address", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP address." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the Ddos Protection Status of this Public IP.", + "schema": { + "$ref": "#/definitions/PublicIpDdosProtectionStatusResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Get Ddos Protection Status of a Public IP Address": { + "$ref": "./examples/PublicIpAddressGetDdosProtectionStatus.json" + } + } + } + } + }, + "definitions": { + "PublicIPAddressSku": { + "properties": { + "name": { + "type": "string", + "description": "Name of a public IP address SKU.", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "PublicIPAddressSkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of a public IP address SKU.", + "enum": [ + "Regional", + "Global" + ], + "x-ms-enum": { + "name": "PublicIPAddressSkuTier", + "modelAsString": true + } + } + }, + "description": "SKU of a public IP address." + }, + "PublicIPAddressPropertiesFormat": { + "properties": { + "publicIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The public IP address allocation method." + }, + "publicIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "The public IP address version." + }, + "ipConfiguration": { + "readOnly": true, + "$ref": "./networkInterface.json#/definitions/IPConfiguration", + "description": "The IP configuration associated with the public IP address." + }, + "dnsSettings": { + "$ref": "#/definitions/PublicIPAddressDnsSettings", + "description": "The FQDN of the DNS record associated with the public IP address." + }, + "ddosSettings": { + "$ref": "#/definitions/DdosSettings", + "description": "The DDoS protection custom policy associated with the public IP address." + }, + "ipTags": { + "type": "array", + "items": { + "$ref": "#/definitions/IpTag" + }, + "description": "The list of tags associated with the public IP address." + }, + "ipAddress": { + "type": "string", + "description": "The IP address associated with the public IP address resource." + }, + "publicIPPrefix": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The Public IP Prefix this Public IP Address should be allocated from." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The idle timeout of the public IP address." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the public IP address resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the public IP address resource." + }, + "servicePublicIPAddress": { + "$ref": "#/definitions/PublicIPAddress", + "description": "The service public IP address of the public IP address resource." + }, + "natGateway": { + "$ref": "./natGateway.json#/definitions/NatGateway", + "description": "The NatGateway for the Public IP address." + }, + "migrationPhase": { + "type": "string", + "description": "Migration phase of Public IP Address.", + "enum": [ + "None", + "Prepare", + "Commit", + "Abort", + "Committed" + ], + "x-ms-enum": { + "name": "PublicIPAddressMigrationPhase", + "modelAsString": true + } + }, + "linkedPublicIPAddress": { + "$ref": "#/definitions/PublicIPAddress", + "description": "The linked public IP address of the public IP address resource." + }, + "deleteOption": { + "type": "string", + "description": "Specify what happens to the public IP address when the VM using it is deleted", + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "DeleteOptions", + "modelAsString": true + } + } + }, + "description": "Public IP address properties." + }, + "PublicIPAddress": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the public ip address." + }, + "sku": { + "$ref": "#/definitions/PublicIPAddressSku", + "description": "The public IP address SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PublicIPAddressPropertiesFormat", + "description": "Public IP address properties." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Public IP address resource." + }, + "PublicIPAddressListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PublicIPAddress" + }, + "description": "A list of public IP addresses that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPublicIpAddresses API service call." + }, + "PublicIPAddressDnsSettings": { + "properties": { + "domainNameLabel": { + "type": "string", + "description": "The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system." + }, + "domainNameLabelScope": { + "type": "string", + "description": "The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN.", + "enum": [ + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "NoReuse" + ], + "x-ms-enum": { + "name": "PublicIpAddressDnsSettingsDomainNameLabelScope", + "modelAsString": false + } + }, + "fqdn": { + "type": "string", + "description": "The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone." + }, + "reverseFqdn": { + "type": "string", + "description": "The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN." + } + }, + "description": "Contains FQDN of the DNS record associated with the public IP address." + }, + "DdosSettings": { + "properties": { + "protectionMode": { + "readOnly": false, + "type": "string", + "enum": [ + "VirtualNetworkInherited", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "DdosSettingsProtectionMode", + "modelAsString": true + }, + "description": "The DDoS protection mode of the public IP" + }, + "ddosProtectionPlan": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled" + } + }, + "description": "Contains the DDoS protection settings of the public IP." + }, + "IpTag": { + "properties": { + "ipTagType": { + "type": "string", + "description": "The IP tag type. Example: FirstPartyUsage." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag associated with the public IP. Example: SQL." + } + }, + "description": "Contains the IpTag associated with the object." + }, + "PublicIpDdosProtectionStatusResult": { + "type": "object", + "properties": { + "publicIpAddressId": { + "type": "string", + "description": "Public IP ARM resource ID" + }, + "publicIpAddress": { + "type": "string", + "description": "IP Address of the Public IP Resource" + }, + "isWorkloadProtected": { + "type": "string", + "enum": [ + "False", + "True" + ], + "x-ms-enum": { + "name": "IsWorkloadProtected", + "modelAsString": true + }, + "description": "Value indicating whether the IP address is DDoS workload protected or not." + }, + "ddosProtectionPlanId": { + "type": "string", + "description": " DDoS protection plan Resource Id of a if IP address is protected through a plan." + } + }, + "description": "Response for GetPublicIpAddressDdosProtectionStatusOperation API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/publicIpPrefix.json new file mode 100644 index 000000000000..241904e8bbd8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/publicIpPrefix.json @@ -0,0 +1,509 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}": { + "delete": { + "tags": [ + "PublicIPPrefixes" + ], + "operationId": "PublicIPPrefixes_Delete", + "description": "Deletes the specified public IP prefix.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the PublicIpPrefix." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete public IP prefix": { + "$ref": "./examples/PublicIpPrefixDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "PublicIPPrefixes" + ], + "operationId": "PublicIPPrefixes_Get", + "description": "Gets the specified public IP prefix in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP prefix." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting PublicIPPrefix resource.", + "schema": { + "$ref": "#/definitions/PublicIPPrefix" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get public IP prefix": { + "$ref": "./examples/PublicIpPrefixGet.json" + } + } + }, + "put": { + "tags": [ + "PublicIPPrefixes" + ], + "operationId": "PublicIPPrefixes_CreateOrUpdate", + "description": "Creates or updates a static or dynamic public IP prefix.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP prefix." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PublicIPPrefix" + }, + "description": "Parameters supplied to the create or update public IP prefix operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting PublicIPPrefix resource.", + "schema": { + "$ref": "#/definitions/PublicIPPrefix" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting PublicIPPrefix resource.", + "schema": { + "$ref": "#/definitions/PublicIPPrefix" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create public IP prefix defaults": { + "$ref": "./examples/PublicIpPrefixCreateDefaults.json" + }, + "Create public IP prefix allocation method": { + "$ref": "./examples/PublicIpPrefixCreateCustomizedValues.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "PublicIPPrefixes" + ], + "operationId": "PublicIPPrefixes_UpdateTags", + "description": "Updates public IP prefix tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "publicIpPrefixName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP prefix." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update public IP prefix tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting PublicIPPrefix resource.", + "schema": { + "$ref": "#/definitions/PublicIPPrefix" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update public IP prefix tags": { + "$ref": "./examples/PublicIpPrefixUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes": { + "get": { + "tags": [ + "PublicIPPrefixes" + ], + "operationId": "PublicIPPrefixes_ListAll", + "description": "Gets all the public IP prefixes in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPPrefix resources.", + "schema": { + "$ref": "#/definitions/PublicIPPrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all public IP prefixes": { + "$ref": "./examples/PublicIpPrefixListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes": { + "get": { + "tags": [ + "PublicIPPrefixes" + ], + "operationId": "PublicIPPrefixes_List", + "description": "Gets all public IP prefixes in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPPrefix resources.", + "schema": { + "$ref": "#/definitions/PublicIPPrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List resource group public IP prefixes": { + "$ref": "./examples/PublicIpPrefixList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PublicIPPrefixSku": { + "properties": { + "name": { + "type": "string", + "description": "Name of a public IP prefix SKU.", + "enum": [ + "Standard" + ], + "x-ms-enum": { + "name": "PublicIPPrefixSkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of a public IP prefix SKU.", + "enum": [ + "Regional", + "Global" + ], + "x-ms-enum": { + "name": "PublicIPPrefixSkuTier", + "modelAsString": true + } + } + }, + "description": "SKU of a public IP prefix." + }, + "PublicIPPrefixPropertiesFormat": { + "properties": { + "publicIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "The public IP address version." + }, + "ipTags": { + "type": "array", + "items": { + "$ref": "./publicIpAddress.json#/definitions/IpTag" + }, + "description": "The list of tags associated with the public IP prefix." + }, + "prefixLength": { + "type": "integer", + "format": "int32", + "description": "The Length of the Public IP Prefix." + }, + "ipPrefix": { + "readOnly": true, + "type": "string", + "description": "The allocated Prefix." + }, + "publicIPAddresses": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ReferencedPublicIpAddress" + }, + "description": "The list of all referenced PublicIPAddresses." + }, + "loadBalancerFrontendIpConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to load balancer frontend IP configuration associated with the public IP prefix." + }, + "customIPPrefix": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The customIpPrefix that this prefix is associated with." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the public IP prefix resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the public IP prefix resource." + }, + "natGateway": { + "$ref": "./natGateway.json#/definitions/NatGateway", + "description": "NatGateway of Public IP Prefix." + } + }, + "description": "Public IP prefix properties." + }, + "PublicIPPrefix": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the public ip address." + }, + "sku": { + "$ref": "#/definitions/PublicIPPrefixSku", + "description": "The public IP prefix SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PublicIPPrefixPropertiesFormat", + "description": "Public IP prefix properties." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Public IP prefix resource." + }, + "PublicIPPrefixListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PublicIPPrefix" + }, + "description": "A list of public IP prefixes that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPublicIpPrefixes API service call." + }, + "ReferencedPublicIpAddress": { + "properties": { + "id": { + "type": "string", + "description": "The PublicIPAddress Reference." + } + }, + "description": "Reference to a public IP address." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/routeFilter.json new file mode 100644 index 000000000000..5139f7bee21b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/routeFilter.json @@ -0,0 +1,822 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}": { + "delete": { + "tags": [ + "RouteFilters" + ], + "operationId": "RouteFilters_Delete", + "x-ms-examples": { + "RouteFilterDelete": { + "$ref": "./examples/RouteFilterDelete.json" + } + }, + "description": "Deletes the specified route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "RouteFilters" + ], + "operationId": "RouteFilters_Get", + "x-ms-examples": { + "RouteFilterGet": { + "$ref": "./examples/RouteFilterGet.json" + } + }, + "description": "Gets the specified route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced express route bgp peering resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Route Filter resource.", + "schema": { + "$ref": "#/definitions/RouteFilter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "RouteFilters" + ], + "operationId": "RouteFilters_CreateOrUpdate", + "x-ms-examples": { + "RouteFilterCreate": { + "$ref": "./examples/RouteFilterCreate.json" + } + }, + "description": "Creates or updates a route filter in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "name": "routeFilterParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RouteFilter" + }, + "description": "Parameters supplied to the create or update route filter operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Route Filter resource.", + "schema": { + "$ref": "#/definitions/RouteFilter" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Route Filter resource.", + "schema": { + "$ref": "#/definitions/RouteFilter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "RouteFilters" + ], + "operationId": "RouteFilters_UpdateTags", + "description": "Updates tags of a route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update route filter tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Route Filter resource.", + "schema": { + "$ref": "#/definitions/RouteFilter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update route filter tags": { + "$ref": "./examples/RouteFilterUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters": { + "get": { + "tags": [ + "RouteFilters" + ], + "operationId": "RouteFilters_ListByResourceGroup", + "x-ms-examples": { + "RouteFilterListByResourceGroup": { + "$ref": "./examples/RouteFilterListByResourceGroup.json" + } + }, + "description": "Gets all route filters in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Route Filter resources.", + "schema": { + "$ref": "#/definitions/RouteFilterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters": { + "get": { + "tags": [ + "RouteFilters" + ], + "operationId": "RouteFilters_List", + "x-ms-examples": { + "RouteFilterList": { + "$ref": "./examples/RouteFilterList.json" + } + }, + "description": "Gets all route filters in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Route Filter resources.", + "schema": { + "$ref": "#/definitions/RouteFilterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}": { + "delete": { + "tags": [ + "RouteFilterRules" + ], + "operationId": "RouteFilterRules_Delete", + "x-ms-examples": { + "RouteFilterRuleDelete": { + "$ref": "./examples/RouteFilterRuleDelete.json" + } + }, + "description": "Deletes the specified rule from a route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Accepted." + }, + "204": { + "description": "Rule was deleted or not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "RouteFilterRules" + ], + "operationId": "RouteFilterRules_Get", + "x-ms-examples": { + "RouteFilterRuleGet": { + "$ref": "./examples/RouteFilterRuleGet.json" + } + }, + "description": "Gets the specified rule from a route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Route Filter Rule resource.", + "schema": { + "$ref": "#/definitions/RouteFilterRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "RouteFilterRules" + ], + "operationId": "RouteFilterRules_CreateOrUpdate", + "x-ms-examples": { + "RouteFilterRuleCreate": { + "$ref": "./examples/RouteFilterRuleCreate.json" + } + }, + "description": "Creates or updates a route in the specified route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter rule." + }, + { + "name": "routeFilterRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RouteFilterRule" + }, + "description": "Parameters supplied to the create or update route filter rule operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Route Filter Rule resource.", + "schema": { + "$ref": "#/definitions/RouteFilterRule" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Route Filter Rule resource.", + "schema": { + "$ref": "#/definitions/RouteFilterRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules": { + "get": { + "tags": [ + "RouteFilterRules" + ], + "operationId": "RouteFilterRules_ListByRouteFilter", + "x-ms-examples": { + "RouteFilterRuleListByRouteFilter": { + "$ref": "./examples/RouteFilterRuleListByRouteFilter.json" + } + }, + "description": "Gets all RouteFilterRules in a route filter.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeFilterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route filter." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Route Filter Rule resources.", + "schema": { + "$ref": "#/definitions/RouteFilterRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "RouteFilterRulePropertiesFormat": { + "required": [ + "access", + "routeFilterRuleType", + "communities" + ], + "properties": { + "access": { + "$ref": "./network.json#/definitions/Access", + "description": "The access type of the rule." + }, + "routeFilterRuleType": { + "type": "string", + "description": "The rule type of the rule.", + "enum": [ + "Community" + ], + "x-ms-enum": { + "name": "RouteFilterRuleType", + "modelAsString": true + } + }, + "communities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the route filter rule resource." + } + }, + "description": "Route Filter Rule Resource." + }, + "RouteFilterRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteFilterRulePropertiesFormat", + "description": "Properties of the route filter rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Route Filter Rule Resource." + }, + "PatchRouteFilterRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteFilterRulePropertiesFormat", + "description": "Properties of the route filter rule." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Route Filter Rule Resource." + }, + "RouteFilterPropertiesFormat": { + "properties": { + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/RouteFilterRule" + }, + "description": "Collection of RouteFilterRules contained within a route filter." + }, + "peerings": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeering" + }, + "description": "A collection of references to express route circuit peerings." + }, + "ipv6Peerings": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeering" + }, + "description": "A collection of references to express route circuit ipv6 peerings." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the route filter resource." + } + }, + "description": "Route Filter Resource." + }, + "RouteFilter": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteFilterPropertiesFormat", + "description": "Properties of the route filter." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Route Filter Resource." + }, + "PatchRouteFilter": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteFilterPropertiesFormat", + "description": "Properties of the route filter." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Route Filter Resource." + }, + "RouteFilterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RouteFilter" + }, + "description": "A list of route filters in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListRouteFilters API service call." + }, + "RouteFilterRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RouteFilterRule" + }, + "description": "A list of RouteFilterRules in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListRouteFilterRules API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/routeTable.json new file mode 100644 index 000000000000..a5f147dfc4ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/routeTable.json @@ -0,0 +1,768 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}": { + "delete": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_Delete", + "description": "Deletes the specified route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "200": { + "description": "Request successful. Operation to delete was accepted." + }, + "202": { + "description": "Accepted. If route table not found returned synchronously, otherwise if found returned asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete route table": { + "$ref": "./examples/RouteTableDelete.json" + } + } + }, + "get": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_Get", + "description": "Gets the specified route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting RouteTable resource.", + "schema": { + "$ref": "#/definitions/RouteTable" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get route table": { + "$ref": "./examples/RouteTableGet.json" + } + } + }, + "put": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_CreateOrUpdate", + "description": "Create or updates a route table in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RouteTable" + }, + "description": "Parameters supplied to the create or update route table operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting RouteTable resource.", + "schema": { + "$ref": "#/definitions/RouteTable" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting RouteTable resource.", + "schema": { + "$ref": "#/definitions/RouteTable" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create route table": { + "$ref": "./examples/RouteTableCreate.json" + }, + "Create route table with route": { + "$ref": "./examples/RouteTableCreateWithRoute.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_UpdateTags", + "description": "Updates a route table tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update route table tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting RouteTable resource.", + "schema": { + "$ref": "#/definitions/RouteTable" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update route table tags": { + "$ref": "./examples/RouteTableUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables": { + "get": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_List", + "description": "Gets all route tables in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of RouteTable resources.", + "schema": { + "$ref": "#/definitions/RouteTableListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List route tables in resource group": { + "$ref": "./examples/RouteTableList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables": { + "get": { + "tags": [ + "RouteTables" + ], + "operationId": "RouteTables_ListAll", + "description": "Gets all route tables in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of RouteTable resources.", + "schema": { + "$ref": "#/definitions/RouteTableListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all route tables": { + "$ref": "./examples/RouteTableListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}": { + "delete": { + "tags": [ + "Routes" + ], + "operationId": "Routes_Delete", + "description": "Deletes the specified route from a route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "routeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Accepted." + }, + "204": { + "description": "Route was deleted or not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete route": { + "$ref": "./examples/RouteTableRouteDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Routes" + ], + "operationId": "Routes_Get", + "description": "Gets the specified route from a route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "routeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Route resource.", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get route": { + "$ref": "./examples/RouteTableRouteGet.json" + } + } + }, + "put": { + "tags": [ + "Routes" + ], + "operationId": "Routes_CreateOrUpdate", + "description": "Creates or updates a route in the specified route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "name": "routeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route." + }, + { + "name": "routeParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Route" + }, + "description": "Parameters supplied to the create or update route operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Route resource.", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Route resource.", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create route": { + "$ref": "./examples/RouteTableRouteCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes": { + "get": { + "tags": [ + "Routes" + ], + "operationId": "Routes_List", + "description": "Gets all routes in a route table.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the route table." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Route resources.", + "schema": { + "$ref": "#/definitions/RouteListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List routes": { + "$ref": "./examples/RouteTableRouteList.json" + } + } + } + } + }, + "definitions": { + "RoutePropertiesFormat": { + "properties": { + "addressPrefix": { + "type": "string", + "description": "The destination CIDR to which the route applies." + }, + "nextHopType": { + "$ref": "#/definitions/RouteNextHopType", + "description": "The type of Azure hop the packet should be sent to." + }, + "nextHopIpAddress": { + "type": "string", + "description": "The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the route resource." + }, + "hasBgpOverride": { + "type": "boolean", + "description": "A value indicating whether this route overrides overlapping BGP routes regardless of LPM." + } + }, + "required": [ + "nextHopType" + ], + "description": "Route resource." + }, + "Route": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoutePropertiesFormat", + "description": "Properties of the route." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "The type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Route resource." + }, + "RouteTablePropertiesFormat": { + "properties": { + "routes": { + "type": "array", + "items": { + "$ref": "#/definitions/Route" + }, + "description": "Collection of routes contained within a route table." + }, + "subnets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./virtualNetwork.json#/definitions/Subnet" + }, + "description": "A collection of references to subnets." + }, + "disableBgpRoutePropagation": { + "type": "boolean", + "description": "Whether to disable the routes learned by BGP on that route table. True means disable." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the route table resource." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "The resource GUID property of the route table." + } + }, + "description": "Route Table resource." + }, + "RouteTable": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteTablePropertiesFormat", + "description": "Properties of the route table." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Route table resource." + }, + "RouteTableListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RouteTable" + }, + "description": "A list of route tables in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListRouteTable API service call." + }, + "RouteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Route" + }, + "description": "A list of routes in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListRoute API service call." + }, + "RouteNextHopType": { + "type": "string", + "description": "The type of Azure hop the packet should be sent to.", + "enum": [ + "VirtualNetworkGateway", + "VnetLocal", + "Internet", + "VirtualAppliance", + "None" + ], + "x-ms-enum": { + "name": "RouteNextHopType", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/securityPartnerProvider.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/securityPartnerProvider.json new file mode 100644 index 000000000000..4abc652d5dd5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/securityPartnerProvider.json @@ -0,0 +1,441 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders/{securityPartnerProviderName}": { + "delete": { + "tags": [ + "SecurityPartnerProviders" + ], + "operationId": "SecurityPartnerProviders_Delete", + "description": "Deletes the specified Security Partner Provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "securityPartnerProviderName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Security Partner Provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Security Partner Provider": { + "$ref": "./examples/SecurityPartnerProviderDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "SecurityPartnerProviders" + ], + "operationId": "SecurityPartnerProviders_Get", + "description": "Gets the specified Security Partner Provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "securityPartnerProviderName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Security Partner Provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a SecurityPartnerProvider resource.", + "schema": { + "$ref": "#/definitions/SecurityPartnerProvider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Security Partner Provider": { + "$ref": "./examples/SecurityPartnerProviderGet.json" + } + } + }, + "put": { + "tags": [ + "SecurityPartnerProviders" + ], + "operationId": "SecurityPartnerProviders_CreateOrUpdate", + "description": "Creates or updates the specified Security Partner Provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "securityPartnerProviderName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Security Partner Provider." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityPartnerProvider" + }, + "description": "Parameters supplied to the create or update Security Partner Provider operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting SecurityPartnerProvider resource.", + "schema": { + "$ref": "#/definitions/SecurityPartnerProvider" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting SecurityPartnerProvider resource.", + "schema": { + "$ref": "#/definitions/SecurityPartnerProvider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Security Partner Provider": { + "$ref": "./examples/SecurityPartnerProviderPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "SecurityPartnerProviders" + ], + "operationId": "SecurityPartnerProviders_UpdateTags", + "description": "Updates tags of a Security Partner Provider resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "securityPartnerProviderName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Security Partner Provider." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update Security Partner Provider tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting SecurityPartnerProvider resource.", + "schema": { + "$ref": "#/definitions/SecurityPartnerProvider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Security Partner Provider Tags": { + "$ref": "./examples/SecurityPartnerProviderUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/securityPartnerProviders": { + "get": { + "tags": [ + "SecurityPartnerProviders" + ], + "operationId": "SecurityPartnerProviders_ListByResourceGroup", + "description": "Lists all Security Partner Providers in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of SecurityPartnerProvider resources.", + "schema": { + "$ref": "#/definitions/SecurityPartnerProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Security Partner Providers for a given resource group": { + "$ref": "./examples/SecurityPartnerProviderListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/securityPartnerProviders": { + "get": { + "tags": [ + "SecurityPartnerProviders" + ], + "operationId": "SecurityPartnerProviders_List", + "description": "Gets all the Security Partner Providers in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of SecurityPartnerProvider resources.", + "schema": { + "$ref": "#/definitions/SecurityPartnerProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Security Partner Providers for a given subscription": { + "$ref": "./examples/SecurityPartnerProviderListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SecurityPartnerProviderPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the Security Partner Provider resource." + }, + "securityProviderName": { + "description": "The security provider name.", + "$ref": "#/definitions/SecurityPartnerProvidersecurityProviderName" + }, + "connectionStatus": { + "readOnly": true, + "description": "The connection status with the Security Partner Provider.", + "$ref": "#/definitions/SecurityPartnerProviderConnectionStatus" + }, + "virtualHub": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The virtualHub to which the Security Partner Provider belongs." + } + }, + "description": "Properties of the Security Partner Provider." + }, + "SecurityPartnerProvider": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityPartnerProviderPropertiesFormat", + "description": "Properties of the Security Partner Provider." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Security Partner Provider resource." + }, + "SecurityPartnerProviderListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityPartnerProvider" + }, + "description": "List of Security Partner Providers in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListSecurityPartnerProviders API service call." + }, + "SecurityPartnerProvidersecurityProviderName": { + "type": "string", + "description": "The Security Providers.", + "enum": [ + "ZScaler", + "IBoss", + "Checkpoint" + ], + "x-ms-enum": { + "name": "SecurityProviderName", + "modelAsString": true + } + }, + "SecurityPartnerProviderConnectionStatus": { + "type": "string", + "description": "The current state of the connection with Security Partner Provider.", + "readOnly": true, + "enum": [ + "Unknown", + "PartiallyConnected", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "SecurityPartnerProviderConnectionStatus", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/serviceCommunity.json new file mode 100644 index 000000000000..bd238128e797 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/serviceCommunity.json @@ -0,0 +1,158 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities": { + "get": { + "tags": [ + "BgpServiceCommunities" + ], + "operationId": "BgpServiceCommunities_List", + "x-ms-examples": { + "ServiceCommunityList": { + "$ref": "./examples/ServiceCommunityList.json" + } + }, + "description": "Gets all the available bgp service communities.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of BgpServiceCommunity resources.", + "schema": { + "$ref": "#/definitions/BgpServiceCommunityListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "BGPCommunity": { + "properties": { + "serviceSupportedRegion": { + "type": "string", + "description": "The region which the service support. e.g. For O365, region is Global." + }, + "communityName": { + "type": "string", + "description": "The name of the bgp community. e.g. Skype." + }, + "communityValue": { + "type": "string", + "description": "The value of the bgp community. For more information: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing." + }, + "communityPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The prefixes that the bgp community contains." + }, + "isAuthorizedToUse": { + "type": "boolean", + "description": "Customer is authorized to use bgp community or not." + }, + "serviceGroup": { + "type": "string", + "description": "The service group of the bgp community contains." + } + }, + "description": "Contains bgp community information offered in Service Community resources." + }, + "BgpServiceCommunityPropertiesFormat": { + "properties": { + "serviceName": { + "type": "string", + "description": "The name of the bgp community. e.g. Skype." + }, + "bgpCommunities": { + "type": "array", + "items": { + "$ref": "#/definitions/BGPCommunity" + }, + "description": "A list of bgp communities." + } + }, + "description": "Properties of Service Community." + }, + "BgpServiceCommunity": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BgpServiceCommunityPropertiesFormat", + "description": "Properties of the BGP service community." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Service Community Properties." + }, + "BgpServiceCommunityListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BgpServiceCommunity" + }, + "description": "A list of service community resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListServiceCommunity API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/serviceEndpointPolicy.json new file mode 100644 index 000000000000..df9a14221c85 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/serviceEndpointPolicy.json @@ -0,0 +1,762 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}": { + "delete": { + "tags": [ + "ServiceEndpointPolicies" + ], + "operationId": "ServiceEndpointPolicies_Delete", + "description": "Deletes the specified service endpoint policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete service endpoint policy": { + "$ref": "./examples/ServiceEndpointPolicyDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "ServiceEndpointPolicies" + ], + "operationId": "ServiceEndpointPolicies_Get", + "description": "Gets the specified service Endpoint Policies in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ServiceEndpointPolicy resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get service endPoint Policy": { + "$ref": "./examples/ServiceEndpointPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "ServiceEndpointPolicies" + ], + "operationId": "ServiceEndpointPolicies_CreateOrUpdate", + "description": "Creates or updates a service Endpoint Policies.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicy" + }, + "description": "Parameters supplied to the create or update service endpoint policy operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting ServiceEndpointPolicy resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicy" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting ServiceEndpointPolicy resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create service endpoint policy": { + "$ref": "./examples/ServiceEndpointPolicyCreate.json" + }, + "Create service endpoint policy with definition": { + "$ref": "./examples/ServiceEndpointPolicyCreateWithDefinition.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ServiceEndpointPolicies" + ], + "operationId": "ServiceEndpointPolicies_UpdateTags", + "description": "Updates tags of a service endpoint policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update service endpoint policy tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ServiceEndpointPolicy resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update service endpoint policy tags": { + "$ref": "./examples/ServiceEndpointPolicyUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies": { + "get": { + "tags": [ + "ServiceEndpointPolicies" + ], + "operationId": "ServiceEndpointPolicies_List", + "description": "Gets all the service endpoint policies in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ServiceEndpointPolicy resources.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all service endpoint policy": { + "$ref": "./examples/ServiceEndpointPolicyListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies": { + "get": { + "tags": [ + "ServiceEndpointPolicies" + ], + "operationId": "ServiceEndpointPolicies_ListByResourceGroup", + "description": "Gets all service endpoint Policies in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ServiceEndpointPolicy resources.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List resource group service endpoint policies": { + "$ref": "./examples/ServiceEndpointPolicyList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}": { + "delete": { + "tags": [ + "ServiceEndpointPolicyDefinitions" + ], + "operationId": "ServiceEndpointPolicyDefinitions_Delete", + "description": "Deletes the specified ServiceEndpoint policy definitions.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Service Endpoint Policy." + }, + { + "name": "serviceEndpointPolicyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy definition." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete service endpoint policy definitions from service endpoint policy": { + "$ref": "./examples/ServiceEndpointPolicyDefinitionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "serviceEndpointPolicyDefinitions" + ], + "operationId": "ServiceEndpointPolicyDefinitions_Get", + "description": "Get the specified service endpoint policy definitions from service endpoint policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy name." + }, + { + "name": "serviceEndpointPolicyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy definition name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get service endpoint definition in service endpoint policy": { + "$ref": "./examples/ServiceEndpointPolicyDefinitionGet.json" + } + } + }, + "put": { + "tags": [ + "serviceEndpointPolicyDefinitions" + ], + "operationId": "ServiceEndpointPolicyDefinitions_CreateOrUpdate", + "description": "Creates or updates a service endpoint policy definition in the specified service endpoint policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy." + }, + { + "name": "serviceEndpointPolicyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy definition name." + }, + { + "name": "ServiceEndpointPolicyDefinitions", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + }, + "description": "Parameters supplied to the create or update service endpoint policy operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create service endpoint policy definition": { + "$ref": "./examples/ServiceEndpointPolicyDefinitionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions": { + "get": { + "tags": [ + "ServiceEndpointPolicyDefinitions" + ], + "operationId": "ServiceEndpointPolicyDefinitions_ListByResourceGroup", + "description": "Gets all service endpoint policy definitions in a service end point policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "serviceEndpointPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the service endpoint policy name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ServiceEndpointPolicyDefinition resources.", + "schema": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List service endpoint definitions in service end point policy": { + "$ref": "./examples/ServiceEndpointPolicyDefinitionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ServiceEndpointPolicyDefinitionPropertiesFormat": { + "properties": { + "description": { + "type": "string", + "description": "A description for this rule. Restricted to 140 chars." + }, + "service": { + "type": "string", + "description": "Service endpoint name." + }, + "serviceResources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of service resources." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the service endpoint policy definition resource." + } + }, + "description": "Service Endpoint policy definition resource." + }, + "ServiceEndpointPolicyDefinition": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceEndpointPolicyDefinitionPropertiesFormat", + "description": "Properties of the service endpoint policy definition." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "The type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Service Endpoint policy definitions." + }, + "ServiceEndpointPolicyDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + }, + "description": "The service endpoint policy definition in a service endpoint policy." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service endpoint policy definition that belongs to a service endpoint policy." + }, + "ServiceEndpointPolicyPropertiesFormat": { + "properties": { + "serviceEndpointPolicyDefinitions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPolicyDefinition" + }, + "description": "A collection of service endpoint policy definitions of the service endpoint policy." + }, + "subnets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./virtualNetwork.json#/definitions/Subnet" + }, + "description": "A collection of references to subnets." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "The resource GUID property of the service endpoint policy resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the service endpoint policy resource." + }, + "serviceAlias": { + "type": "string", + "description": "The alias indicating if the policy belongs to a service" + }, + "contextualServiceEndpointPolicies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A collection of contextual service endpoint policy." + } + }, + "description": "Service Endpoint Policy resource." + }, + "ServiceEndpointPolicy": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceEndpointPolicyPropertiesFormat", + "description": "Properties of the service end point policy." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Kind of service endpoint policy. This is metadata used for the Azure portal experience." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Service End point policy resource." + }, + "ServiceEndpointPolicyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPolicy" + }, + "description": "A list of ServiceEndpointPolicy resources." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListServiceEndpointPolicies API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/serviceTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/serviceTags.json new file mode 100644 index 000000000000..324f23df842d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/serviceTags.json @@ -0,0 +1,262 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/serviceTags": { + "get": { + "operationId": "ServiceTags_List", + "description": "Gets a list of service tag information resources.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location that will be used as a reference for version (not as a filter based on location, you will get the list of service tags with prefix details across all regions but limited to the cloud that your subscription belongs to)." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns a list of service tag information resources.", + "schema": { + "$ref": "#/definitions/ServiceTagsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get list of service tags": { + "$ref": "./examples/ServiceTagsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/serviceTagDetails": { + "get": { + "operationId": "ServiceTagInformation_List", + "description": "Gets a list of service tag information resources with pagination.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location that will be used as a reference for cloud (not as a filter based on location, you will get the list of service tags with prefix details across all regions but limited to the cloud that your subscription belongs to)." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "noAddressPrefixes", + "in": "query", + "required": false, + "type": "boolean", + "description": "Do not return address prefixes for the tag(s)." + }, + { + "name": "tagName", + "in": "query", + "required": false, + "type": "string", + "description": "Return tag information for a particular tag." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns a list of service tag information resources.", + "schema": { + "$ref": "#/definitions/ServiceTagInformationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get list of service tags": { + "$ref": "./examples/ServiceTagInformationListResult.json" + }, + "Get list of service tags with no address prefixes": { + "$ref": "./examples/ServiceTagInformationListResultWithNoAddressPrefixes.json" + }, + "Get list of service tags with tag name.": { + "$ref": "./examples/ServiceTagInformationListResultWithTagname.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ServiceTagsListResult": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the cloud." + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The ID of the cloud." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The azure resource type." + }, + "changeNumber": { + "type": "string", + "readOnly": true, + "description": "The iteration number." + }, + "cloud": { + "type": "string", + "readOnly": true, + "description": "The name of the cloud." + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTagInformation" + }, + "readOnly": true, + "description": "The list of service tag information resources." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get next page of service tag information resources." + } + }, + "description": "Response for the ListServiceTags API service call." + }, + "ServiceTagInformationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceTagInformation" + }, + "description": "The list of service tag information resources." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for Get ServiceTagInformation API service call. Retrieves the list of service tag information resources." + }, + "ServiceTagInformation": { + "properties": { + "properties": { + "$ref": "#/definitions/ServiceTagInformationPropertiesFormat", + "readOnly": true, + "description": "Properties of the service tag information." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of service tag." + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The ID of service tag." + }, + "serviceTagChangeNumber": { + "type": "string", + "readOnly": true, + "description": "The iteration number of service tag object for region." + } + }, + "description": "The service tag information." + }, + "ServiceTagInformationPropertiesFormat": { + "properties": { + "changeNumber": { + "type": "string", + "readOnly": true, + "description": "The iteration number of service tag." + }, + "region": { + "type": "string", + "readOnly": true, + "description": "The region of service tag." + }, + "systemService": { + "type": "string", + "readOnly": true, + "description": "The name of system service." + }, + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "The list of IP address prefixes." + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The state of the service tag." + } + }, + "description": "Properties of the service tag information." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/usage.json new file mode 100644 index 000000000000..108a26e2d991 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/usage.json @@ -0,0 +1,160 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages": { + "get": { + "tags": [ + "Usages" + ], + "operationId": "Usages_List", + "description": "List network usages for a subscription.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location where resource usage is queried.", + "pattern": "^[-\\w\\._ ]+$" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Usage resources.", + "schema": { + "$ref": "#/definitions/UsagesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List usages": { + "$ref": "./examples/UsageList.json" + }, + "List usages spaced location": { + "$ref": "./examples/UsageListSpacedLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "UsageName": { + "properties": { + "value": { + "type": "string", + "description": "A string describing the resource name." + }, + "localizedValue": { + "type": "string", + "description": "A localized string describing the resource name." + } + }, + "description": "The usage names." + }, + "Usage": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource identifier." + }, + "unit": { + "type": "string", + "description": "An enum describing the unit of measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "type": "integer", + "format": "int64", + "description": "The current value of the usage." + }, + "limit": { + "type": "integer", + "format": "int64", + "description": "The limit of usage." + }, + "name": { + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "required": [ + "unit", + "currentValue", + "limit", + "name" + ], + "description": "The network resource usage." + }, + "UsagesListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list network resource usages." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "The list usages operation response." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualNetwork.json new file mode 100644 index 000000000000..927f81bb91e9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualNetwork.json @@ -0,0 +1,2216 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}": { + "delete": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_Delete", + "description": "Deletes the specified virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete virtual network": { + "$ref": "./examples/VirtualNetworkDelete.json" + } + } + }, + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_Get", + "description": "Gets the specified virtual network by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetwork resource.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get virtual network": { + "$ref": "./examples/VirtualNetworkGet.json" + }, + "Get virtual network with a delegated subnet": { + "$ref": "./examples/VirtualNetworkGetWithSubnetDelegation.json" + }, + "Get virtual network with service association links": { + "$ref": "./examples/VirtualNetworkGetWithServiceAssociationLink.json" + } + } + }, + "put": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_CreateOrUpdate", + "description": "Creates or updates a virtual network in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetwork" + }, + "description": "Parameters supplied to the create or update virtual network operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetwork resource.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetwork resource.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create virtual network": { + "$ref": "./examples/VirtualNetworkCreate.json" + }, + "Create virtual network with subnet": { + "$ref": "./examples/VirtualNetworkCreateSubnet.json" + }, + "Create virtual network with subnet containing address prefixes": { + "$ref": "./examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json" + }, + "Create virtual network with Bgp Communities": { + "$ref": "./examples/VirtualNetworkCreateWithBgpCommunities.json" + }, + "Create virtual network with service endpoints": { + "$ref": "./examples/VirtualNetworkCreateServiceEndpoints.json" + }, + "Create virtual network with service endpoints and service endpoint policy": { + "$ref": "./examples/VirtualNetworkCreateServiceEndpointPolicy.json" + }, + "Create virtual network with delegated subnets": { + "$ref": "./examples/VirtualNetworkCreateSubnetWithDelegation.json" + }, + "Create virtual network with encryption": { + "$ref": "./examples/VirtualNetworkCreateWithEncryption.json" + } + } + }, + "patch": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_UpdateTags", + "description": "Updates a virtual network tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update virtual network tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetwork resource.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update virtual network tags": { + "$ref": "./examples/VirtualNetworkUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks": { + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_ListAll", + "description": "Gets all virtual networks in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetwork resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all virtual networks": { + "$ref": "./examples/VirtualNetworkListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks": { + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_List", + "description": "Gets all virtual networks in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetwork resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual networks in resource group": { + "$ref": "./examples/VirtualNetworkList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}": { + "delete": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_Delete", + "description": "Deletes the specified subnet.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete subnet": { + "$ref": "./examples/SubnetDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_Get", + "description": "Gets the specified subnet by virtual network and resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Subnet resource.", + "schema": { + "$ref": "#/definitions/Subnet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get subnet": { + "$ref": "./examples/SubnetGet.json" + }, + "Get subnet with a delegation": { + "$ref": "./examples/SubnetGetWithDelegation.json" + } + } + }, + "put": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_CreateOrUpdate", + "description": "Creates or updates a subnet in the specified virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "name": "subnetParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Subnet" + }, + "description": "Parameters supplied to the create or update subnet operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Subnet resource.", + "schema": { + "$ref": "#/definitions/Subnet" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Subnet resource.", + "schema": { + "$ref": "#/definitions/Subnet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create subnet": { + "$ref": "./examples/SubnetCreate.json" + }, + "Create subnet with service endpoints": { + "$ref": "./examples/SubnetCreateServiceEndpoint.json" + }, + "Create subnet with a delegation": { + "$ref": "./examples/SubnetCreateWithDelegation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies": { + "post": { + "operationId": "Subnets_PrepareNetworkPolicies", + "description": "Prepares a subnet by applying network intent policies.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "name": "prepareNetworkPoliciesRequestParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrepareNetworkPoliciesRequest" + }, + "description": "Parameters supplied to prepare subnet by applying network intent policies." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Preparing subnet by applying network intent policies is successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Prepare Network Policies": { + "$ref": "./examples/SubnetPrepareNetworkPolicies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies": { + "post": { + "operationId": "Subnets_UnprepareNetworkPolicies", + "description": "Unprepares a subnet by removing network intent policies.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "name": "unprepareNetworkPoliciesRequestParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UnprepareNetworkPoliciesRequest" + }, + "description": "Parameters supplied to unprepare subnet to remove network intent policies." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Unpreparing subnet by removing network intent policies is successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Unprepare Network Policies": { + "$ref": "./examples/SubnetUnprepareNetworkPolicies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks": { + "get": { + "operationId": "ResourceNavigationLinks_List", + "description": "Gets a list of resource navigation links for a subnet.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of resource navigation links for the subnet.", + "schema": { + "$ref": "#/definitions/ResourceNavigationLinksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Resource Navigation Links": { + "$ref": "./examples/VirtualNetworkGetResourceNavigationLinks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks": { + "get": { + "operationId": "ServiceAssociationLinks_List", + "description": "Gets a list of service association links for a subnet.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of service association links for the subnet.", + "schema": { + "$ref": "#/definitions/ServiceAssociationLinksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Service Association Links": { + "$ref": "./examples/VirtualNetworkGetServiceAssociationLinks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets": { + "get": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_List", + "description": "Gets all subnets in a virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Subnet resources.", + "schema": { + "$ref": "#/definitions/SubnetListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List subnets": { + "$ref": "./examples/SubnetList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}": { + "delete": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_Delete", + "description": "Deletes the specified virtual network peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "virtualNetworkPeeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete peering": { + "$ref": "./examples/VirtualNetworkPeeringDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_Get", + "description": "Gets the specified virtual network peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "virtualNetworkPeeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetworkPeering resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get peering": { + "$ref": "./examples/VirtualNetworkPeeringGet.json" + }, + "Get peering with remote virtual network encryption": { + "$ref": "./examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json" + } + } + }, + "put": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_CreateOrUpdate", + "description": "Creates or updates a peering in the specified virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "virtualNetworkPeeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "VirtualNetworkPeeringParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "Parameters supplied to the create or update virtual network peering operation." + }, + { + "name": "syncRemoteAddressSpace", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "true" + ], + "x-ms-enum": { + "name": "SyncRemoteAddressSpace", + "modelAsString": true + }, + "description": "Parameter indicates the intention to sync the peering with the current address space on the remote vNet after it's updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkPeering resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkPeering resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create peering": { + "$ref": "./examples/VirtualNetworkPeeringCreate.json" + }, + "Sync Peering": { + "$ref": "./examples/VirtualNetworkPeeringSync.json" + }, + "Create peering with remote virtual network encryption": { + "$ref": "./examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings": { + "get": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_List", + "description": "Gets all virtual network peerings in a virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkPeering resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List peerings": { + "$ref": "./examples/VirtualNetworkPeeringList.json" + }, + "List peerings with remote virtual network encryption": { + "$ref": "./examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability": { + "get": { + "operationId": "VirtualNetworks_CheckIPAddressAvailability", + "description": "Checks whether a private IP address is available for use.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "ipAddress", + "in": "query", + "required": true, + "type": "string", + "description": "The private IP address to be verified." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Private IP address availability and list of other free addresses if the requested one is not available.", + "schema": { + "$ref": "#/definitions/IPAddressAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check IP address availability": { + "$ref": "./examples/VirtualNetworkCheckIPAddressAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages": { + "get": { + "operationId": "VirtualNetworks_ListUsage", + "description": "Lists usage stats.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Usage stats for vnet.", + "schema": { + "$ref": "#/definitions/VirtualNetworkListUsageResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VnetGetUsage": { + "$ref": "./examples/VirtualNetworkListUsage.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/ddosProtectionStatus": { + "post": { + "operationId": "VirtualNetworks_ListDdosProtectionStatus", + "description": "Gets the Ddos Protection Status of all IP Addresses under the Virtual Network", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The max number of ip addresses to return." + }, + { + "name": "skipToken", + "in": "query", + "required": false, + "type": "string", + "description": "The skipToken that is given with nextLink." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the Ddos Protection Status of all IP Addresses under this Virtual Network.", + "schema": { + "$ref": "#/definitions/VirtualNetworkDdosProtectionStatusResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Ddos Protection Status of a Virtual Network": { + "$ref": "./examples/VirtualNetworkGetDdosProtectionStatus.json" + } + } + } + } + }, + "definitions": { + "ServiceAssociationLinkPropertiesFormat": { + "properties": { + "linkedResourceType": { + "type": "string", + "description": "Resource type of the linked resource." + }, + "link": { + "type": "string", + "description": "Link to the external resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the service association link resource." + }, + "allowDelete": { + "type": "boolean", + "description": "If true, the resource can be deleted." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of locations." + } + }, + "description": "Properties of ServiceAssociationLink." + }, + "ServiceAssociationLink": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceAssociationLinkPropertiesFormat", + "description": "Resource navigation link properties format." + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "ServiceAssociationLink resource." + }, + "ResourceNavigationLinkFormat": { + "properties": { + "linkedResourceType": { + "type": "string", + "description": "Resource type of the linked resource." + }, + "link": { + "type": "string", + "description": "Link to the external resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource navigation link resource." + } + }, + "description": "Properties of ResourceNavigationLink." + }, + "ResourceNavigationLink": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ResourceNavigationLinkFormat", + "description": "Resource navigation link properties format." + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource navigation link identifier." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "ResourceNavigationLink resource." + }, + "ServiceDelegationPropertiesFormat": { + "properties": { + "serviceName": { + "type": "string", + "description": "The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers)." + }, + "actions": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The actions permitted to the service upon delegation." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the service delegation resource." + } + }, + "description": "Properties of a service delegation." + }, + "Delegation": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceDelegationPropertiesFormat", + "description": "Properties of the subnet." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a subnet. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Details the service to which the subnet is delegated." + }, + "SubnetPropertiesFormat": { + "properties": { + "addressPrefix": { + "type": "string", + "description": "The address prefix for the subnet." + }, + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of address prefixes for the subnet." + }, + "networkSecurityGroup": { + "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup", + "description": "The reference to the NetworkSecurityGroup resource." + }, + "routeTable": { + "$ref": "./routeTable.json#/definitions/RouteTable", + "description": "The reference to the RouteTable resource." + }, + "natGateway": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Nat gateway associated with this subnet." + }, + "serviceEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPropertiesFormat" + }, + "description": "An array of service endpoints." + }, + "serviceEndpointPolicies": { + "type": "array", + "items": { + "$ref": "./serviceEndpointPolicy.json#/definitions/ServiceEndpointPolicy" + }, + "description": "An array of service endpoint policies." + }, + "privateEndpoints": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint" + }, + "description": "An array of references to private endpoints." + }, + "ipConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/IPConfiguration" + }, + "description": "An array of references to the network interface IP configurations using subnet." + }, + "ipConfigurationProfiles": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkProfile.json#/definitions/IPConfigurationProfile" + }, + "description": "Array of IP configuration profiles which reference this subnet." + }, + "ipAllocations": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of IpAllocation which reference this subnet." + }, + "resourceNavigationLinks": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceNavigationLink" + }, + "description": "An array of references to the external resources using subnet." + }, + "serviceAssociationLinks": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceAssociationLink" + }, + "description": "An array of references to services injecting into this subnet." + }, + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/Delegation" + }, + "description": "An array of references to the delegations on the subnet." + }, + "purpose": { + "type": "string", + "readOnly": true, + "description": "A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the subnet resource." + }, + "privateEndpointNetworkPolicies": { + "type": "string", + "default": "Disabled", + "description": "Enable or Disable apply network policies on private end point in the subnet.", + "enum": [ + "Enabled", + "Disabled", + "NetworkSecurityGroupEnabled", + "RouteTableEnabled" + ], + "x-ms-enum": { + "name": "VirtualNetworkPrivateEndpointNetworkPolicies", + "modelAsString": true + } + }, + "privateLinkServiceNetworkPolicies": { + "type": "string", + "default": "Enabled", + "description": "Enable or Disable apply network policies on private link service in the subnet.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "VirtualNetworkPrivateLinkServiceNetworkPolicies", + "modelAsString": true + } + }, + "applicationGatewayIPConfigurations": { + "type": "array", + "items": { + "$ref": "./applicationGateway.json#/definitions/ApplicationGatewayIPConfiguration" + }, + "description": "Application gateway IP configurations of virtual network resource." + }, + "defaultOutboundAccess": { + "type": "boolean", + "description": "Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet." + } + }, + "description": "Properties of the subnet." + }, + "ServiceEndpointPropertiesFormat": { + "properties": { + "service": { + "type": "string", + "description": "The type of the endpoint service." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of locations." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the service endpoint resource." + } + }, + "description": "The service endpoint properties." + }, + "VirtualNetworkPeeringPropertiesFormat": { + "properties": { + "allowVirtualNetworkAccess": { + "type": "boolean", + "description": "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space." + }, + "allowForwardedTraffic": { + "type": "boolean", + "description": "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network." + }, + "allowGatewayTransit": { + "type": "boolean", + "description": "If gateway links can be used in remote virtual networking to link to this virtual network." + }, + "useRemoteGateways": { + "type": "boolean", + "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway." + }, + "remoteVirtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering)." + }, + "remoteAddressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The reference to the address space peered with the remote virtual network." + }, + "remoteVirtualNetworkAddressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The reference to the current address space of the remote virtual network." + }, + "remoteBgpCommunities": { + "$ref": "#/definitions/VirtualNetworkBgpCommunities", + "default": null, + "description": "The reference to the remote virtual network's Bgp Communities." + }, + "remoteVirtualNetworkEncryption": { + "readOnly": true, + "$ref": "#/definitions/VirtualNetworkEncryption", + "default": null, + "description": "The reference to the remote virtual network's encryption" + }, + "peeringState": { + "type": "string", + "description": "The status of the virtual network peering.", + "enum": [ + "Initiated", + "Connected", + "Disconnected" + ], + "x-ms-enum": { + "name": "VirtualNetworkPeeringState", + "modelAsString": true + } + }, + "peeringSyncLevel": { + "type": "string", + "description": "The peering sync status of the virtual network peering.", + "enum": [ + "FullyInSync", + "RemoteNotInSync", + "LocalNotInSync", + "LocalAndRemoteNotInSync" + ], + "x-ms-enum": { + "name": "VirtualNetworkPeeringLevel", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network peering resource." + }, + "doNotVerifyRemoteGateways": { + "type": "boolean", + "description": "If we need to verify the provisioning state of the remote gateway." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resourceGuid property of the Virtual Network peering resource." + } + }, + "description": "Properties of the virtual network peering." + }, + "Subnet": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubnetPropertiesFormat", + "description": "Properties of the subnet." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Subnet in a virtual network resource." + }, + "VirtualNetworkPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat", + "description": "Properties of the virtual network peering." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Peerings in a virtual network resource." + }, + "SubnetListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + }, + "description": "The subnets in a virtual network." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network." + }, + "ResourceNavigationLinksListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceNavigationLink" + }, + "description": "The resource navigation links in a subnet." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ResourceNavigationLinks_List operation." + }, + "ServiceAssociationLinksListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceAssociationLink" + }, + "description": "The service association links in a subnet." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ServiceAssociationLinks_List operation." + }, + "VirtualNetworkPeeringListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "The peerings in a virtual network." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network." + }, + "VirtualNetworkPropertiesFormat": { + "properties": { + "addressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The AddressSpace that contains an array of IP address ranges that can be used by subnets." + }, + "dhcpOptions": { + "$ref": "#/definitions/DhcpOptions", + "description": "The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network." + }, + "flowTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The FlowTimeout value (in minutes) for the Virtual Network" + }, + "subnets": { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + }, + "description": "A list of subnets in a Virtual Network." + }, + "virtualNetworkPeerings": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkPeering" + }, + "description": "A list of peerings in a Virtual Network." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resourceGuid property of the Virtual Network resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network resource." + }, + "enableDdosProtection": { + "type": "boolean", + "default": false, + "description": "Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the resource." + }, + "enableVmProtection": { + "type": "boolean", + "default": false, + "description": "Indicates if VM protection is enabled for all the subnets in the virtual network." + }, + "ddosProtectionPlan": { + "$ref": "./network.json#/definitions/SubResource", + "default": null, + "description": "The DDoS protection plan associated with the virtual network." + }, + "bgpCommunities": { + "$ref": "#/definitions/VirtualNetworkBgpCommunities", + "default": null, + "description": "Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET." + }, + "encryption": { + "$ref": "#/definitions/VirtualNetworkEncryption", + "default": null, + "description": "Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet." + }, + "ipAllocations": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of IpAllocation which reference this VNET." + }, + "flowLogs": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkWatcher.json#/definitions/FlowLog" + }, + "description": "A collection of references to flow log resources." + } + }, + "description": "Properties of the virtual network." + }, + "VirtualNetwork": { + "properties": { + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of the virtual network." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkPropertiesFormat", + "description": "Properties of the virtual network." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Virtual Network resource." + }, + "VirtualNetworkListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetwork" + }, + "description": "A list of VirtualNetwork resources in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListVirtualNetworks API service call." + }, + "AddressSpace": { + "properties": { + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of address blocks reserved for this virtual network in CIDR notation." + } + }, + "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network." + }, + "DhcpOptions": { + "properties": { + "dnsServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of DNS servers IP addresses." + } + }, + "description": "DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP options." + }, + "VirtualNetworkBgpCommunities": { + "properties": { + "virtualNetworkCommunity": { + "type": "string", + "description": "The BGP community associated with the virtual network." + }, + "regionalCommunity": { + "type": "string", + "readOnly": true, + "description": "The BGP community associated with the region of the virtual network." + } + }, + "required": [ + "virtualNetworkCommunity" + ], + "description": "Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET." + }, + "VirtualNetworkEncryption": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if encryption is enabled on the virtual network." + }, + "enforcement": { + "type": "string", + "description": "If the encrypted VNet allows VM that does not support encryption", + "enum": [ + "DropUnencrypted", + "AllowUnencrypted" + ], + "x-ms-enum": { + "name": "VirtualNetworkEncryptionEnforcement", + "modelAsString": true + } + } + }, + "required": [ + "enabled" + ], + "description": "Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet." + }, + "IPAddressAvailabilityResult": { + "properties": { + "available": { + "type": "boolean", + "description": "Private IP address availability." + }, + "availableIPAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Contains other available private IP addresses if the asked for address is taken." + }, + "isPlatformReserved": { + "type": "boolean", + "description": "Private IP address platform reserved." + } + }, + "description": "Response for CheckIPAddressAvailability API service call." + }, + "VirtualNetworkListUsageResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/VirtualNetworkUsage" + }, + "description": "VirtualNetwork usage stats." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the virtual networks GetUsage API service call." + }, + "VirtualNetworkUsage": { + "properties": { + "currentValue": { + "type": "number", + "format": "double", + "readOnly": true, + "description": "Indicates number of IPs used from the Subnet." + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Subnet identifier." + }, + "limit": { + "type": "number", + "format": "double", + "readOnly": true, + "description": "Indicates the size of the subnet." + }, + "name": { + "$ref": "#/definitions/VirtualNetworkUsageName", + "readOnly": true, + "description": "The name containing common and localized value for usage." + }, + "unit": { + "type": "string", + "readOnly": true, + "description": "Usage units. Returns 'Count'." + } + }, + "description": "Usage details for subnet." + }, + "VirtualNetworkUsageName": { + "properties": { + "localizedValue": { + "type": "string", + "readOnly": true, + "description": "Localized subnet size and usage string." + }, + "value": { + "type": "string", + "readOnly": true, + "description": "Subnet size and usage string." + } + }, + "description": "Usage strings container." + }, + "PrepareNetworkPoliciesRequest": { + "properties": { + "serviceName": { + "type": "string", + "description": "The name of the service for which subnet is being prepared for." + }, + "networkIntentPolicyConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkIntentPolicyConfiguration" + }, + "description": "A list of NetworkIntentPolicyConfiguration." + } + }, + "description": "Details of PrepareNetworkPolicies for Subnet." + }, + "UnprepareNetworkPoliciesRequest": { + "properties": { + "serviceName": { + "type": "string", + "description": "The name of the service for which subnet is being unprepared for." + } + }, + "description": "Details of UnprepareNetworkPolicies for Subnet." + }, + "NetworkIntentPolicyConfiguration": { + "properties": { + "networkIntentPolicyName": { + "type": "string", + "description": "The name of the Network Intent Policy for storing in target subscription." + }, + "sourceNetworkIntentPolicy": { + "$ref": "#/definitions/NetworkIntentPolicy", + "description": "Source network intent policy." + } + }, + "description": "Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest." + }, + "NetworkIntentPolicy": { + "properties": { + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Network Intent Policy resource." + }, + "VirtualNetworkDdosProtectionStatusResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "./publicIpAddress.json#/definitions/PublicIpDdosProtectionStatusResult" + }, + "x-ms-identifiers": [], + "description": "The Ddos Protection Status Result for each public ip under a virtual network." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for GetVirtualNetworkDdosProtectionStatusOperation." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualNetworkGateway.json new file mode 100644 index 000000000000..e80b0a1cab10 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualNetworkGateway.json @@ -0,0 +1,4485 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}": { + "put": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_CreateOrUpdate", + "description": "Creates or updates a virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + "description": "Parameters supplied to create or update virtual network gateway operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayUpdate.json" + }, + "UpdateVirtualNetworkScalableGateway": { + "$ref": "./examples/VirtualNetworkScalableGatewayUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Get", + "description": "Gets the specified virtual network gateway by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayGet.json" + }, + "GetVirtualNetworkScalableGateway": { + "$ref": "./examples/VirtualNetworkScalableGatewayGet.json" + } + } + }, + "delete": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Delete", + "description": "Deletes the specified virtual network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_UpdateTags", + "description": "Updates a virtual network gateway tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update virtual network gateway tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateVirtualNetworkGatewayTags": { + "$ref": "./examples/VirtualNetworkGatewayUpdateTags.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways": { + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_List", + "description": "Gets all virtual network gateways by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGateway resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVirtualNetworkGatewaysinResourceGroup": { + "$ref": "./examples/VirtualNetworkGatewayList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections": { + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_ListConnections", + "description": "Gets all the connections in a virtual network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayListConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "VirtualNetworkGatewaysListConnections": { + "$ref": "./examples/VirtualNetworkGatewaysListConnections.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Reset", + "description": "Resets the primary of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "gatewayVip", + "in": "query", + "required": false, + "type": "string", + "description": "Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation reset the primary of the virtual network gateway.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_ResetVpnClientSharedKey", + "description": "Resets the VPN client shared key of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation reset the vpn client shared key of the virtual network gateway." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetVpnClientSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayResetVpnClientSharedKey.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Generatevpnclientpackage", + "description": "Generates VPN client package for P2S client of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientParameters" + }, + "description": "Parameters supplied to the generate virtual network gateway VPN client package operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN client package URL.", + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GenerateVPNClientPackage": { + "$ref": "./examples/VirtualNetworkGatewayGenerateVpnClientPackage.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GenerateVpnProfile", + "description": "Generates VPN profile for P2S client of the virtual network gateway in the specified resource group. Used for IKEV2 and radius based authentication.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientParameters" + }, + "description": "Parameters supplied to the generate virtual network gateway VPN client package operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN profile package URL.", + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GenerateVirtualNetworkGatewayVPNProfile": { + "$ref": "./examples/VirtualNetworkGatewayGenerateVpnProfile.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetVpnProfilePackageUrl", + "description": "Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN profile package URL.", + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayVPNProfilePackageURL": { + "$ref": "./examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetBgpPeerStatus", + "description": "The GetBgpPeerStatus operation retrieves the status of all BGP peers.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "peer", + "in": "query", + "required": false, + "type": "string", + "description": "The IP address of the peer to retrieve the status of." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of BGP peer statuses.", + "schema": { + "$ref": "#/definitions/BgpPeerStatusListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayBGPPeerStatus": { + "$ref": "./examples/VirtualNetworkGatewayGetBGPPeerStatus.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_SupportedVpnDevices", + "description": "Gets a xml format representation for supported vpn devices.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Xml format representation for supported vpn devices.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVirtualNetworkGatewaySupportedVPNDevices": { + "$ref": "./examples/VirtualNetworkGatewaySupportedVpnDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetLearnedRoutes", + "description": "This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of advertised BGP routes.", + "schema": { + "$ref": "#/definitions/GatewayRouteListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayLearnedRoutes": { + "$ref": "./examples/VirtualNetworkGatewayLearnedRoutes.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetAdvertisedRoutes", + "description": "This operation retrieves a list of routes the virtual network gateway is advertising to the specified peer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "peer", + "in": "query", + "required": true, + "type": "string", + "description": "The IP address of the peer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of learned BGP routes.", + "schema": { + "$ref": "#/definitions/GatewayRouteListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayAdvertisedRoutes": { + "$ref": "./examples/VirtualNetworkGatewayGetAdvertisedRoutes.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_SetVpnclientIpsecParameters", + "description": "The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "vpnclientIpsecParams", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientIPsecParameters" + }, + "description": "Parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network Gateway P2S client operation through Network resource provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.", + "schema": { + "$ref": "#/definitions/VpnClientIPsecParameters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Set VirtualNetworkGateway VpnClientIpsecParameters": { + "$ref": "./examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetVpnclientIpsecParameters", + "description": "The Get VpnclientIpsecParameters operation retrieves information about the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the set vpnclient ipsec parameters for P2S client of VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VpnClientIPsecParameters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Get VirtualNetworkGateway VpnClientIpsecParameters": { + "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_VpnDeviceConfigurationScript", + "description": "Gets a xml format representation for vpn device configuration script.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection for which the configuration script is generated." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnDeviceScriptParameters" + }, + "description": "Parameters supplied to the generate vpn device script operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Xml format representation for vpn device configuration script.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVPNDeviceConfigurationScript": { + "$ref": "./examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_StartPacketCapture", + "description": "Starts packet capture on virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStartParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to start packet capture on gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture started on virtual network gateway.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Start packet capture on virtual network gateway without filter": { + "$ref": "./examples/VirtualNetworkGatewayStartPacketCapture.json" + }, + "Start packet capture on virtual network gateway with filter": { + "$ref": "./examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_StopPacketCapture", + "description": "Stops packet capture on virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStopParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to stop packet capture on gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture stopped on virtual network gateway.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Stop packet capture on virtual network gateway": { + "$ref": "./examples/VirtualNetworkGatewayStopPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}": { + "put": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_CreateOrUpdate", + "description": "Creates or updates a virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + }, + "description": "Parameters supplied to the create or update virtual network gateway connection operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CreateVirtualNetworkGatewayConnection_S2S": { + "$ref": "./examples/VirtualNetworkGatewayConnectionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_Get", + "description": "Gets the specified virtual network gateway connection by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayConnection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionGet.json" + } + } + }, + "delete": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_Delete", + "description": "Deletes the specified virtual network Gateway connection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteVirtualNetworkGatewayConnection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_UpdateTags", + "description": "Updates a virtual network gateway connection tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update virtual network gateway connection tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateVirtualNetworkGatewayConnectionTags": { + "$ref": "./examples/VirtualNetworkGatewayConnectionUpdateTags.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey": { + "put": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_SetSharedKey", + "description": "The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + }, + "description": "Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation throughNetwork resource provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request successful. The operation returns the resulting ConnectionSharedKey resource.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting ConnectionSharedKey resource.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "SetVirtualNetworkGatewayConnectionSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayConnectionSetSharedKey.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_GetSharedKey", + "description": "The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified virtual network gateway connection shared key through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection shared key name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resources.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayConnectionSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayConnectionGetSharedKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": { + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_List", + "description": "The List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections created.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation resets the virtual network gateway connection shared key.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVirtualNetworkGatewayConnectionsinResourceGroup": { + "$ref": "./examples/VirtualNetworkGatewayConnectionsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_ResetSharedKey", + "description": "The VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection reset shared key Name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionResetSharedKey" + }, + "description": "Parameters supplied to the begin reset virtual network gateway connection shared key operation through network resource provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation sets the virtual network gateway connection shared key.", + "schema": { + "$ref": "#/definitions/ConnectionResetSharedKey" + } + }, + "202": { + "description": "Request successful. The operation sets the virtual network gateway connection shared key." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetVirtualNetworkGatewayConnectionSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayConnectionResetSharedKey.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_StartPacketCapture", + "description": "Starts packet capture on virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStartParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to start packet capture on gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture started on virtual network gateway connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Start packet capture on virtual network gateway connection without filter": { + "$ref": "./examples/VirtualNetworkGatewayConnectionStartPacketCapture.json" + }, + "Start packet capture on virtual network gateway connection with filter": { + "$ref": "./examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_StopPacketCapture", + "description": "Stops packet capture on virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway Connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStopParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to stop packet capture on gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture stopped on virtual network gateway connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Stop packet capture on virtual network gateway connection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionStopPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/getikesas": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_GetIkeSas", + "description": "Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway Connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation GetIkeSas will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation getikesas completed on virtual network gateway connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "The operation GetIkeSas could not be completed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayConnectionIkeSa": { + "$ref": "./examples/VirtualNetworkGatewayConnectionGetIkeSas.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/resetconnection": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_ResetConnection", + "description": "Resets the virtual network gateway connection specified.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway Connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "The operation resetconnection could not be completed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ResetVirtualNetworkGatewayConnection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}": { + "put": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_CreateOrUpdate", + "description": "Creates or updates a local network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "minLength": 1, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + }, + "description": "Parameters supplied to the create or update local network gateway operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CreateLocalNetworkGateway": { + "$ref": "./examples/LocalNetworkGatewayCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_Get", + "description": "Gets the specified local network gateway in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "minLength": 1, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetLocalNetworkGateway": { + "$ref": "./examples/LocalNetworkGatewayGet.json" + } + } + }, + "delete": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_Delete", + "description": "Deletes the specified local network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "minLength": 1, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteLocalNetworkGateway": { + "$ref": "./examples/LocalNetworkGatewayDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_UpdateTags", + "description": "Updates a local network gateway tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "minLength": 1, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update local network gateway tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateLocalNetworkGatewayTags": { + "$ref": "./examples/LocalNetworkGatewayUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways": { + "get": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_List", + "description": "Gets all the local network gateways in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LocalNetworkGateway resources.", + "schema": { + "$ref": "#/definitions/LocalNetworkGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListLocalNetworkGateways": { + "$ref": "./examples/LocalNetworkGatewayList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetVpnclientConnectionHealth", + "description": "Get VPN client connection health detail per P2S client connection of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of VPN client connection health details.", + "schema": { + "$ref": "#/definitions/VpnClientConnectionHealthDetailListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayVpnclientConnectionHealth": { + "$ref": "./examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/disconnectVirtualNetworkGatewayVpnConnections": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_DisconnectVirtualNetworkGatewayVpnConnections", + "description": "Disconnect vpn connections of virtual network gateway in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "./virtualWan.json#/definitions/P2SVpnConnectionRequest" + }, + "description": "The parameters are supplied to disconnect vpn connections." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation disconnects the requested vpn connections." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Disconnect VpnConnections from Virtual Network Gateway": { + "$ref": "./examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/natRules/{natRuleName}": { + "get": { + "operationId": "VirtualNetworkGatewayNatRules_Get", + "x-ms-examples": { + "VirtualNetworkGatewayNatRuleGet": { + "$ref": "./examples/VirtualNetworkGatewayNatRuleGet.json" + } + }, + "description": "Retrieves the details of a nat rule.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the Virtual Network Gateway." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the nat rule.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VirtualNetworkGatewayNatRules_CreateOrUpdate", + "x-ms-examples": { + "VirtualNetworkGatewayNatRulePut": { + "$ref": "./examples/VirtualNetworkGatewayNatRulePut.json" + } + }, + "description": "Creates a nat rule to a scalable virtual network gateway if it doesn't exist else updates the existing nat rules.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the Virtual Network Gateway." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "NatRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + }, + "description": "Parameters supplied to create or Update a Nat Rule." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the nat rule created or updated.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + } + }, + "201": { + "description": "Request successful. Returns the details of the nat rule created or updated.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "VirtualNetworkGatewayNatRules_Delete", + "x-ms-examples": { + "VirtualNetworkGatewayNatRuleDelete": { + "$ref": "./examples/VirtualNetworkGatewayNatRuleDelete.json" + } + }, + "description": "Deletes a nat rule.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the Virtual Network Gateway." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Nat Rule deleted." + }, + "202": { + "description": "Request received successfully. Nat Rule deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No nat rules exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/natRules": { + "get": { + "operationId": "VirtualNetworkGatewayNatRules_ListByVirtualNetworkGateway", + "x-ms-examples": { + "VirtualNetworkGatewayNatRuleList": { + "$ref": "./examples/VirtualNetworkGatewayNatRuleList.json" + } + }, + "description": "Retrieves all nat rules for a particular virtual network gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the virtual network gateway." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all Nat rules for a virtual network gateway.", + "schema": { + "$ref": "#/definitions/ListVirtualNetworkGatewayNatRulesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VirtualNetworkGatewayIPConfigurationPropertiesFormat": { + "properties": { + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the public IP resource." + }, + "privateIPAddress": { + "readOnly": true, + "type": "string", + "description": "Private IP Address for this gateway." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network gateway IP configuration resource." + } + }, + "description": "Properties of VirtualNetworkGatewayIPConfiguration." + }, + "VirtualNetworkGatewayIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayIPConfigurationPropertiesFormat", + "description": "Properties of the virtual network gateway ip configuration." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration for virtual network gateway." + }, + "VirtualNetworkGatewayNatRuleProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the NAT Rule resource." + }, + "type": { + "type": "string", + "description": "The type of NAT rule for VPN NAT.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "VpnNatRuleType", + "modelAsString": true + } + }, + "mode": { + "type": "string", + "description": "The Source NAT direction of a VPN NAT.", + "enum": [ + "EgressSnat", + "IngressSnat" + ], + "x-ms-enum": { + "name": "VpnNatRuleMode", + "modelAsString": true + } + }, + "internalMappings": { + "type": "array", + "items": { + "$ref": "./virtualWan.json#/definitions/VpnNatRuleMapping" + }, + "description": "The private IP address internal mapping for NAT." + }, + "externalMappings": { + "type": "array", + "items": { + "$ref": "./virtualWan.json#/definitions/VpnNatRuleMapping" + }, + "description": "The private IP address external mapping for NAT." + }, + "ipConfigurationId": { + "type": "string", + "description": "The IP Configuration ID this NAT rule applies to." + } + }, + "description": "Parameters for VirtualNetworkGatewayNatRule." + }, + "VirtualNetworkGatewayNatRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayNatRuleProperties", + "description": "Properties of the Virtual Network Gateway NAT rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VirtualNetworkGatewayNatRule Resource." + }, + "VirtualNetworkGatewayPropertiesFormat": { + "properties": { + "autoScaleConfiguration": { + "$ref": "#/definitions/VirtualNetworkGatewayAutoScaleConfiguration", + "description": "Autoscale configuration for virutal network gateway" + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayIPConfiguration" + }, + "description": "IP configurations for virtual network gateway." + }, + "gatewayType": { + "type": "string", + "description": "The type of this virtual network gateway.", + "enum": [ + "Vpn", + "ExpressRoute", + "LocalGateway" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayType", + "modelAsString": true + } + }, + "vpnType": { + "type": "string", + "description": "The type of this virtual network gateway.", + "enum": [ + "PolicyBased", + "RouteBased" + ], + "x-ms-enum": { + "name": "VpnType", + "modelAsString": true + } + }, + "vpnGatewayGeneration": { + "type": "string", + "description": "The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN.", + "enum": [ + "None", + "Generation1", + "Generation2" + ], + "x-ms-enum": { + "name": "VpnGatewayGeneration", + "modelAsString": true + } + }, + "enableBgp": { + "type": "boolean", + "description": "Whether BGP is enabled for this virtual network gateway or not." + }, + "enablePrivateIpAddress": { + "type": "boolean", + "description": "Whether private IP needs to be enabled on this gateway for connections or not." + }, + "activeActive": { + "type": "boolean", + "description": "ActiveActive flag." + }, + "disableIPSecReplayProtection": { + "type": "boolean", + "description": "disableIPSecReplayProtection flag." + }, + "gatewayDefaultSite": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting." + }, + "sku": { + "$ref": "#/definitions/VirtualNetworkGatewaySku", + "description": "The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway." + }, + "vpnClientConfiguration": { + "$ref": "#/definitions/VpnClientConfiguration", + "description": "The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations." + }, + "virtualNetworkGatewayPolicyGroups": { + "type": "array", + "description": "The reference to the VirtualNetworkGatewayPolicyGroup resource which represents the available VirtualNetworkGatewayPolicyGroup for the gateway.", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayPolicyGroup" + } + }, + "bgpSettings": { + "$ref": "#/definitions/BgpSettings", + "description": "Virtual network gateway's BGP speaker settings." + }, + "customRoutes": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The reference to the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the virtual network gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network gateway resource." + }, + "enableDnsForwarding": { + "type": "boolean", + "description": "Whether dns forwarding is enabled or not." + }, + "inboundDnsForwardingEndpoint": { + "type": "string", + "readOnly": true, + "description": "The IP address allocated by the gateway to which dns requests can be sent." + }, + "vNetExtendedLocationResourceId": { + "type": "string", + "description": "Customer vnet resource id. VirtualNetworkGateway of type local gateway is associated with the customer vnet." + }, + "natRules": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + }, + "description": "NatRules for virtual network gateway." + }, + "enableBgpRouteTranslationForNat": { + "type": "boolean", + "description": "EnableBgpRouteTranslationForNat flag." + }, + "allowVirtualWanTraffic": { + "type": "boolean", + "description": "Configures this gateway to accept traffic from remote Virtual WAN networks." + }, + "allowRemoteVnetTraffic": { + "type": "boolean", + "description": "Configure this gateway to accept traffic from other Azure Virtual Networks. This configuration does not support connectivity to Azure Virtual WAN." + }, + "adminState": { + "type": "string", + "description": "Property to indicate if the Express Route Gateway serves traffic when there are multiple Express Route Gateways in the vnet", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "adminState", + "modelAsString": true + } + } + }, + "description": "VirtualNetworkGateway properties." + }, + "VirtualNetworkGatewayAutoScaleConfiguration": { + "properties": { + "bounds": { + "$ref": "#/definitions/VirtualNetworkGatewayAutoScaleBounds", + "description": "The bounds of the autoscale configuration" + } + }, + "description": "Virtual Network Gateway Autoscale Configuration details" + }, + "VirtualNetworkGatewayAutoScaleBounds": { + "properties": { + "min": { + "type": "integer", + "description": "Minimum scale Units for Autoscale configuration" + }, + "max": { + "type": "integer", + "description": "Maximum Scale Units for Autoscale configuration" + } + } + }, + "VpnClientRootCertificatePropertiesFormat": { + "properties": { + "publicCertData": { + "type": "string", + "description": "The certificate public data." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN client root certificate resource." + } + }, + "required": [ + "publicCertData" + ], + "description": "Properties of SSL certificates of application gateway." + }, + "VpnClientRootCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnClientRootCertificatePropertiesFormat", + "description": "Properties of the vpn client root certificate." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "required": [ + "properties" + ], + "description": "VPN client root certificate of virtual network gateway." + }, + "VpnClientRevokedCertificatePropertiesFormat": { + "properties": { + "thumbprint": { + "type": "string", + "description": "The revoked VPN client certificate thumbprint." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN client revoked certificate resource." + } + }, + "description": "Properties of the revoked VPN client certificate of virtual network gateway." + }, + "VpnClientRevokedCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnClientRevokedCertificatePropertiesFormat", + "description": "Properties of the vpn client revoked certificate." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VPN client revoked certificate of virtual network gateway." + }, + "RadiusServer": { + "properties": { + "radiusServerAddress": { + "type": "string", + "description": "The address of this radius server." + }, + "radiusServerScore": { + "type": "integer", + "format": "int64", + "description": "The initial score assigned to this radius server." + }, + "radiusServerSecret": { + "type": "string", + "description": "The secret used for this radius server." + } + }, + "required": [ + "radiusServerAddress" + ], + "description": "Radius Server Settings." + }, + "VpnClientConfiguration": { + "properties": { + "vpnClientAddressPool": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The reference to the address space resource which represents Address space for P2S VpnClient." + }, + "vpnClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientRootCertificate" + }, + "description": "VpnClientRootCertificate for virtual network gateway." + }, + "vpnClientRevokedCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientRevokedCertificate" + }, + "description": "VpnClientRevokedCertificate for Virtual network gateway." + }, + "vpnClientProtocols": { + "type": "array", + "items": { + "type": "string", + "description": "VPN client protocol enabled for the virtual network gateway.", + "enum": [ + "IkeV2", + "SSTP", + "OpenVPN" + ], + "x-ms-enum": { + "name": "VpnClientProtocol", + "modelAsString": true + } + }, + "description": "VpnClientProtocols for Virtual network gateway." + }, + "vpnAuthenticationTypes": { + "type": "array", + "items": { + "type": "string", + "description": "VPN authentication types enabled for the virtual network gateway.", + "enum": [ + "Certificate", + "Radius", + "AAD" + ], + "x-ms-enum": { + "name": "VpnAuthenticationType", + "modelAsString": true + } + }, + "description": "VPN authentication types for the virtual network gateway.." + }, + "vpnClientIpsecPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/IpsecPolicy" + }, + "description": "VpnClientIpsecPolicies for virtual network gateway P2S client." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection." + }, + "radiusServers": { + "type": "array", + "items": { + "$ref": "#/definitions/RadiusServer" + }, + "description": "The radiusServers property for multiple radius server configuration." + }, + "aadTenant": { + "type": "string", + "description": "The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication." + }, + "aadAudience": { + "type": "string", + "description": "The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication." + }, + "aadIssuer": { + "type": "string", + "description": "The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication." + }, + "vngClientConnectionConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VngClientConnectionConfiguration" + }, + "description": "per ip address pool connection policy for virtual network gateway P2S client." + } + }, + "description": "VpnClientConfiguration for P2S client." + }, + "VirtualNetworkGatewaySku": { + "properties": { + "name": { + "type": "string", + "description": "Gateway SKU name.", + "enum": [ + "Basic", + "HighPerformance", + "Standard", + "UltraPerformance", + "VpnGw1", + "VpnGw2", + "VpnGw3", + "VpnGw4", + "VpnGw5", + "VpnGw1AZ", + "VpnGw2AZ", + "VpnGw3AZ", + "VpnGw4AZ", + "VpnGw5AZ", + "ErGw1AZ", + "ErGw2AZ", + "ErGw3AZ", + "ErGwScale" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewaySkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Gateway SKU tier.", + "enum": [ + "Basic", + "HighPerformance", + "Standard", + "UltraPerformance", + "VpnGw1", + "VpnGw2", + "VpnGw3", + "VpnGw4", + "VpnGw5", + "VpnGw1AZ", + "VpnGw2AZ", + "VpnGw3AZ", + "VpnGw4AZ", + "VpnGw5AZ", + "ErGw1AZ", + "ErGw2AZ", + "ErGw3AZ", + "ErGwScale" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewaySkuTier", + "modelAsString": true + } + }, + "capacity": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The capacity." + } + }, + "description": "VirtualNetworkGatewaySku details." + }, + "BgpSettings": { + "properties": { + "asn": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The BGP speaker's ASN." + }, + "bgpPeeringAddress": { + "type": "string", + "description": "The BGP peering address and BGP identifier of this BGP speaker." + }, + "peerWeight": { + "type": "integer", + "format": "int32", + "description": "The weight added to routes learned from this BGP speaker." + }, + "bgpPeeringAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/IPConfigurationBgpPeeringAddress" + }, + "description": "BGP peering address with IP configuration ID for virtual network gateway." + } + }, + "description": "BGP settings details." + }, + "BgpPeerStatus": { + "properties": { + "localAddress": { + "type": "string", + "readOnly": true, + "description": "The virtual network gateway's local address." + }, + "neighbor": { + "type": "string", + "readOnly": true, + "description": "The remote BGP peer." + }, + "asn": { + "type": "integer", + "format": "int64", + "readOnly": true, + "minimum": 0, + "maximum": 4294967295, + "description": "The autonomous system number of the remote BGP peer." + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The BGP peer state.", + "enum": [ + "Unknown", + "Stopped", + "Idle", + "Connecting", + "Connected" + ], + "x-ms-enum": { + "name": "BgpPeerState", + "modelAsString": true + } + }, + "connectedDuration": { + "type": "string", + "readOnly": true, + "description": "For how long the peering has been up." + }, + "routesReceived": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of routes learned from this peer." + }, + "messagesSent": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of BGP messages sent." + }, + "messagesReceived": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of BGP messages received." + } + }, + "description": "BGP peer status details." + }, + "GatewayRoute": { + "properties": { + "localAddress": { + "type": "string", + "readOnly": true, + "description": "The gateway's local address." + }, + "network": { + "type": "string", + "readOnly": true, + "description": "The route's network prefix." + }, + "nextHop": { + "type": "string", + "readOnly": true, + "description": "The route's next hop." + }, + "sourcePeer": { + "type": "string", + "readOnly": true, + "description": "The peer this route was learned from." + }, + "origin": { + "type": "string", + "readOnly": true, + "description": "The source this route was learned from." + }, + "asPath": { + "type": "string", + "readOnly": true, + "description": "The route's AS path sequence." + }, + "weight": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The route's weight." + } + }, + "description": "Gateway routing details." + }, + "VirtualNetworkGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayPropertiesFormat", + "description": "Properties of the virtual network gateway." + }, + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of type local virtual network gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "description": "A common class for general resource information." + }, + "VpnClientParameters": { + "properties": { + "processorArchitecture": { + "type": "string", + "description": "VPN client Processor Architecture.", + "enum": [ + "Amd64", + "X86" + ], + "x-ms-enum": { + "name": "ProcessorArchitecture", + "modelAsString": true + } + }, + "authenticationMethod": { + "$ref": "./network.json#/definitions/AuthenticationMethod", + "description": "VPN client authentication method." + }, + "radiusServerAuthCertificate": { + "type": "string", + "description": "The public certificate data for the radius server authentication certificate as a Base-64 encoded string. Required only if external radius authentication has been configured with EAPTLS authentication." + }, + "clientRootCertificates": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of client root certificates public certificate data encoded as Base-64 strings. Optional parameter for external radius based authentication with EAPTLS." + } + }, + "description": "Vpn Client Parameters for package generation." + }, + "VirtualNetworkGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + "description": "A list of VirtualNetworkGateway resources that exists in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListVirtualNetworkGateways API service call." + }, + "ListVirtualNetworkGatewayNatRulesResult": { + "description": "Result of the request to list all nat rules to a virtual network gateway. It contains a list of Nat rules and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + }, + "description": "List of Nat Rules." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "BgpPeerStatusListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BgpPeerStatus" + }, + "description": "List of BGP peers." + } + }, + "description": "Response for list BGP peer status API service call." + }, + "GatewayRouteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayRoute" + }, + "description": "List of gateway routes." + } + }, + "description": "List of virtual network gateway routes." + }, + "TunnelConnectionHealth": { + "properties": { + "tunnel": { + "readOnly": true, + "type": "string", + "description": "Tunnel name." + }, + "connectionStatus": { + "readOnly": true, + "$ref": "#/definitions/VirtualNetworkGatewayConnectionStatus", + "description": "Virtual Network Gateway connection status." + }, + "ingressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The Ingress Bytes Transferred in this connection." + }, + "egressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The Egress Bytes Transferred in this connection." + }, + "lastConnectionEstablishedUtcTime": { + "readOnly": true, + "type": "string", + "description": "The time at which connection was established in Utc format." + } + }, + "description": "VirtualNetworkGatewayConnection properties." + }, + "VirtualNetworkGatewayConnectionPropertiesFormat": { + "properties": { + "authorizationKey": { + "type": "string", + "description": "The authorizationKey." + }, + "virtualNetworkGateway1": { + "$ref": "#/definitions/VirtualNetworkGateway", + "description": "The reference to virtual network gateway resource." + }, + "virtualNetworkGateway2": { + "$ref": "#/definitions/VirtualNetworkGateway", + "description": "The reference to virtual network gateway resource." + }, + "localNetworkGateway2": { + "$ref": "#/definitions/LocalNetworkGateway", + "description": "The reference to local network gateway resource." + }, + "ingressNatRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of ingress NatRules." + }, + "egressNatRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of egress NatRules." + }, + "connectionType": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionType", + "description": "Gateway connection type." + }, + "connectionProtocol": { + "$ref": "#/definitions/ConnectionProtocol", + "description": "Connection protocol used for this connection." + }, + "routingWeight": { + "type": "integer", + "format": "int32", + "description": "The routing weight." + }, + "dpdTimeoutSeconds": { + "type": "integer", + "format": "int32", + "description": "The dead peer detection timeout of this connection in seconds." + }, + "connectionMode": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionMode", + "description": "The connection mode for this connection." + }, + "sharedKey": { + "type": "string", + "description": "The IPSec shared key." + }, + "connectionStatus": { + "readOnly": true, + "$ref": "#/definitions/VirtualNetworkGatewayConnectionStatus", + "description": "Virtual Network Gateway connection status." + }, + "tunnelConnectionStatus": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TunnelConnectionHealth" + }, + "description": "Collection of all tunnels' connection health status." + }, + "egressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The egress bytes transferred in this connection." + }, + "ingressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The ingress bytes transferred in this connection." + }, + "peer": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to peerings resource." + }, + "enableBgp": { + "type": "boolean", + "description": "EnableBgp flag." + }, + "gatewayCustomBgpIpAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayCustomBgpIpAddressIpConfiguration" + }, + "description": "GatewayCustomBgpIpAddresses to be used for virtual network gateway Connection.", + "x-ms-identifiers": [] + }, + "useLocalAzureIpAddress": { + "type": "boolean", + "description": "Use private local Azure IP for the connection." + }, + "usePolicyBasedTrafficSelectors": { + "type": "boolean", + "description": "Enable policy-based traffic selectors." + }, + "ipsecPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/IpsecPolicy" + }, + "description": "The IPSec Policies to be considered by this connection." + }, + "trafficSelectorPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/TrafficSelectorPolicy" + }, + "description": "The Traffic Selector Policies to be considered by this connection." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the virtual network gateway connection resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network gateway connection resource." + }, + "expressRouteGatewayBypass": { + "type": "boolean", + "description": "Bypass ExpressRoute Gateway for data forwarding." + }, + "enablePrivateLinkFastPath": { + "type": "boolean", + "description": "Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled." + } + }, + "required": [ + "virtualNetworkGateway1", + "connectionType" + ], + "description": "VirtualNetworkGatewayConnection properties." + }, + "VirtualNetworkGatewayConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayConnectionPropertiesFormat", + "description": "Properties of the virtual network gateway connection." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "description": "A common class for general resource information." + }, + "VirtualNetworkGatewayConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + }, + "description": "A list of VirtualNetworkGatewayConnection resources that exists in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListVirtualNetworkGatewayConnections API service call." + }, + "ConnectionResetSharedKey": { + "properties": { + "keyLength": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 128, + "description": "The virtual network connection reset shared key length, should between 1 and 128." + } + }, + "required": [ + "keyLength" + ], + "description": "The virtual network connection reset shared key." + }, + "ConnectionSharedKey": { + "properties": { + "value": { + "type": "string", + "description": "The virtual network connection shared key value." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "required": [ + "value" + ], + "description": "Response for GetConnectionSharedKey API service call." + }, + "IpsecPolicy": { + "properties": { + "saLifeTimeSeconds": { + "type": "integer", + "format": "int32", + "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel." + }, + "saDataSizeKilobytes": { + "type": "integer", + "format": "int32", + "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel." + }, + "ipsecEncryption": { + "$ref": "#/definitions/IpsecEncryption", + "description": "The IPSec encryption algorithm (IKE phase 1)." + }, + "ipsecIntegrity": { + "$ref": "#/definitions/IpsecIntegrity", + "description": "The IPSec integrity algorithm (IKE phase 1)." + }, + "ikeEncryption": { + "$ref": "#/definitions/IkeEncryption", + "description": "The IKE encryption algorithm (IKE phase 2)." + }, + "ikeIntegrity": { + "$ref": "#/definitions/IkeIntegrity", + "description": "The IKE integrity algorithm (IKE phase 2)." + }, + "dhGroup": { + "$ref": "#/definitions/DhGroup", + "description": "The DH Group used in IKE Phase 1 for initial SA." + }, + "pfsGroup": { + "$ref": "#/definitions/PfsGroup", + "description": "The Pfs Group used in IKE Phase 2 for new child SA." + } + }, + "required": [ + "saLifeTimeSeconds", + "saDataSizeKilobytes", + "ipsecEncryption", + "ipsecIntegrity", + "ikeEncryption", + "ikeIntegrity", + "dhGroup", + "pfsGroup" + ], + "description": "An IPSec Policy configuration for a virtual network gateway connection." + }, + "VngClientConnectionConfigurationProperties": { + "type": "object", + "properties": { + "vpnClientAddressPool": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The reference to the address space resource which represents Address space for P2S VpnClient." + }, + "virtualNetworkGatewayPolicyGroups": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of references to virtualNetworkGatewayPolicyGroups" + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VngClientConnectionConfiguration resource." + } + }, + "required": [ + "vpnClientAddressPool", + "virtualNetworkGatewayPolicyGroups" + ], + "description": "Properties of VngClientConnectionConfiguration." + }, + "VngClientConnectionConfiguration": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VngClientConnectionConfigurationProperties", + "description": "Properties of the vpn client root certificate." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "A vpn client connection configuration for client connection configuration." + }, + "VirtualNetworkGatewayPolicyGroupProperties": { + "type": "object", + "properties": { + "isDefault": { + "type": "boolean", + "description": "Shows if this is a Default VirtualNetworkGatewayPolicyGroup or not." + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "Priority for VirtualNetworkGatewayPolicyGroup." + }, + "policyMembers": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayPolicyGroupMember" + }, + "description": "Multiple PolicyMembers for VirtualNetworkGatewayPolicyGroup.", + "x-ms-identifiers": [] + }, + "vngClientConnectionConfigurations": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of references to vngClientConnectionConfigurations." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VirtualNetworkGatewayPolicyGroup resource." + } + }, + "required": [ + "priority", + "policyMembers", + "isDefault" + ], + "description": "Properties of VirtualNetworkGatewayPolicyGroup." + }, + "VirtualNetworkGatewayPolicyGroup": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayPolicyGroupProperties", + "description": "Properties of tVirtualNetworkGatewayPolicyGroup." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Parameters for VirtualNetworkGatewayPolicyGroup." + }, + "VirtualNetworkGatewayPolicyGroupMember": { + "properties": { + "name": { + "type": "string", + "description": "Name of the VirtualNetworkGatewayPolicyGroupMember." + }, + "attributeType": { + "type": "string", + "description": "The Vpn Policy member attribute type.", + "enum": [ + "CertificateGroupId", + "AADGroupId", + "RadiusAzureGroupId" + ], + "x-ms-enum": { + "name": "VpnPolicyMemberAttributeType", + "modelAsString": true + } + }, + "attributeValue": { + "type": "string", + "description": "The value of Attribute used for this VirtualNetworkGatewayPolicyGroupMember." + } + }, + "description": "Vpn Client Connection configuration PolicyGroup member", + "type": "object" + }, + "TrafficSelectorPolicy": { + "properties": { + "localAddressRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A collection of local address spaces in CIDR format." + }, + "remoteAddressRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A collection of remote address spaces in CIDR format." + } + }, + "required": [ + "localAddressRanges", + "remoteAddressRanges" + ], + "description": "An traffic selector policy for a virtual network gateway connection." + }, + "ConnectionProtocol": { + "type": "string", + "description": "Gateway connection protocol.", + "enum": [ + "IKEv2", + "IKEv1" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayConnectionProtocol", + "modelAsString": true + } + }, + "VpnClientIPsecParameters": { + "properties": { + "saLifeTimeSeconds": { + "type": "integer", + "format": "int32", + "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client." + }, + "saDataSizeKilobytes": { + "type": "integer", + "format": "int32", + "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.." + }, + "ipsecEncryption": { + "$ref": "#/definitions/IpsecEncryption", + "description": "The IPSec encryption algorithm (IKE phase 1)." + }, + "ipsecIntegrity": { + "$ref": "#/definitions/IpsecIntegrity", + "description": "The IPSec integrity algorithm (IKE phase 1)." + }, + "ikeEncryption": { + "$ref": "#/definitions/IkeEncryption", + "description": "The IKE encryption algorithm (IKE phase 2)." + }, + "ikeIntegrity": { + "$ref": "#/definitions/IkeIntegrity", + "description": "The IKE integrity algorithm (IKE phase 2)." + }, + "dhGroup": { + "$ref": "#/definitions/DhGroup", + "description": "The DH Group used in IKE Phase 1 for initial SA." + }, + "pfsGroup": { + "$ref": "#/definitions/PfsGroup", + "description": "The Pfs Group used in IKE Phase 2 for new child SA." + } + }, + "required": [ + "saLifeTimeSeconds", + "saDataSizeKilobytes", + "ipsecEncryption", + "ipsecIntegrity", + "ikeEncryption", + "ikeIntegrity", + "dhGroup", + "pfsGroup" + ], + "description": "An IPSec parameters for a virtual network gateway P2S connection." + }, + "LocalNetworkGatewayPropertiesFormat": { + "properties": { + "localNetworkAddressSpace": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "Local network site address space." + }, + "gatewayIpAddress": { + "type": "string", + "description": "IP address of local network gateway." + }, + "fqdn": { + "type": "string", + "description": "FQDN of local network gateway." + }, + "bgpSettings": { + "$ref": "#/definitions/BgpSettings", + "description": "Local network gateway's BGP speaker settings." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the local network gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the local network gateway resource." + } + }, + "description": "LocalNetworkGateway properties." + }, + "LocalNetworkGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LocalNetworkGatewayPropertiesFormat", + "description": "Properties of the local network gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "description": "A common class for general resource information." + }, + "LocalNetworkGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LocalNetworkGateway" + }, + "description": "A list of local network gateways that exists in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListLocalNetworkGateways API service call." + }, + "VirtualNetworkConnectionGatewayReference": { + "properties": { + "id": { + "type": "string", + "description": "The ID of VirtualNetworkGateway or LocalNetworkGateway resource." + } + }, + "required": [ + "id" + ], + "description": "A reference to VirtualNetworkGateway or LocalNetworkGateway resource." + }, + "VirtualNetworkGatewayConnectionListEntityPropertiesFormat": { + "properties": { + "authorizationKey": { + "type": "string", + "description": "The authorizationKey." + }, + "virtualNetworkGateway1": { + "$ref": "#/definitions/VirtualNetworkConnectionGatewayReference", + "description": "The reference to virtual network gateway resource." + }, + "virtualNetworkGateway2": { + "$ref": "#/definitions/VirtualNetworkConnectionGatewayReference", + "description": "The reference to virtual network gateway resource." + }, + "localNetworkGateway2": { + "$ref": "#/definitions/VirtualNetworkConnectionGatewayReference", + "description": "The reference to local network gateway resource." + }, + "connectionType": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionType", + "description": "Gateway connection type." + }, + "connectionProtocol": { + "$ref": "#/definitions/ConnectionProtocol", + "description": "Connection protocol used for this connection." + }, + "routingWeight": { + "type": "integer", + "format": "int32", + "description": "The routing weight." + }, + "connectionMode": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionMode", + "description": "The connection mode for this connection." + }, + "sharedKey": { + "type": "string", + "description": "The IPSec shared key." + }, + "connectionStatus": { + "readOnly": true, + "$ref": "#/definitions/VirtualNetworkGatewayConnectionStatus", + "description": "Virtual Network Gateway connection status." + }, + "tunnelConnectionStatus": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TunnelConnectionHealth" + }, + "description": "Collection of all tunnels' connection health status." + }, + "egressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The egress bytes transferred in this connection." + }, + "ingressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The ingress bytes transferred in this connection." + }, + "peer": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to peerings resource." + }, + "enableBgp": { + "type": "boolean", + "description": "EnableBgp flag." + }, + "gatewayCustomBgpIpAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayCustomBgpIpAddressIpConfiguration" + }, + "description": "GatewayCustomBgpIpAddresses to be used for virtual network gateway Connection.", + "x-ms-identifiers": [] + }, + "usePolicyBasedTrafficSelectors": { + "type": "boolean", + "description": "Enable policy-based traffic selectors." + }, + "ipsecPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/IpsecPolicy" + }, + "description": "The IPSec Policies to be considered by this connection." + }, + "trafficSelectorPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/TrafficSelectorPolicy" + }, + "description": "The Traffic Selector Policies to be considered by this connection." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the virtual network gateway connection resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network gateway connection resource." + }, + "expressRouteGatewayBypass": { + "type": "boolean", + "description": "Bypass ExpressRoute Gateway for data forwarding." + }, + "enablePrivateLinkFastPath": { + "type": "boolean", + "description": "Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled." + } + }, + "required": [ + "virtualNetworkGateway1", + "connectionType" + ], + "description": "VirtualNetworkGatewayConnection properties." + }, + "VirtualNetworkGatewayConnectionListEntity": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayConnectionListEntityPropertiesFormat", + "description": "Properties of the virtual network gateway connection." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "description": "A common class for general resource information." + }, + "VirtualNetworkGatewayListConnectionsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionListEntity" + }, + "description": "A list of VirtualNetworkGatewayConnection resources that exists in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the VirtualNetworkGatewayListConnections API service call." + }, + "VpnDeviceScriptParameters": { + "properties": { + "vendor": { + "type": "string", + "description": "The vendor for the vpn device." + }, + "deviceFamily": { + "type": "string", + "description": "The device family for the vpn device." + }, + "firmwareVersion": { + "type": "string", + "description": "The firmware version for the vpn device." + } + }, + "description": "Vpn device configuration script generation parameters." + }, + "DhGroup": { + "type": "string", + "description": "The DH Groups used in IKE Phase 1 for initial SA.", + "enum": [ + "None", + "DHGroup1", + "DHGroup2", + "DHGroup14", + "DHGroup2048", + "ECP256", + "ECP384", + "DHGroup24" + ], + "x-ms-enum": { + "name": "DhGroup", + "modelAsString": true + } + }, + "IkeEncryption": { + "type": "string", + "description": "The IKE encryption algorithm (IKE phase 2).", + "enum": [ + "DES", + "DES3", + "AES128", + "AES192", + "AES256", + "GCMAES256", + "GCMAES128" + ], + "x-ms-enum": { + "name": "IkeEncryption", + "modelAsString": true + } + }, + "IkeIntegrity": { + "type": "string", + "description": "The IKE integrity algorithm (IKE phase 2).", + "enum": [ + "MD5", + "SHA1", + "SHA256", + "SHA384", + "GCMAES256", + "GCMAES128" + ], + "x-ms-enum": { + "name": "IkeIntegrity", + "modelAsString": true + } + }, + "IpsecEncryption": { + "type": "string", + "description": "The IPSec encryption algorithm (IKE phase 1).", + "enum": [ + "None", + "DES", + "DES3", + "AES128", + "AES192", + "AES256", + "GCMAES128", + "GCMAES192", + "GCMAES256" + ], + "x-ms-enum": { + "name": "IpsecEncryption", + "modelAsString": true + } + }, + "IpsecIntegrity": { + "type": "string", + "description": "The IPSec integrity algorithm (IKE phase 1).", + "enum": [ + "MD5", + "SHA1", + "SHA256", + "GCMAES128", + "GCMAES192", + "GCMAES256" + ], + "x-ms-enum": { + "name": "IpsecIntegrity", + "modelAsString": true + } + }, + "PfsGroup": { + "type": "string", + "description": "The Pfs Groups used in IKE Phase 2 for new child SA.", + "enum": [ + "None", + "PFS1", + "PFS2", + "PFS2048", + "ECP256", + "ECP384", + "PFS24", + "PFS14", + "PFSMM" + ], + "x-ms-enum": { + "name": "PfsGroup", + "modelAsString": true + } + }, + "VirtualNetworkGatewayConnectionStatus": { + "type": "string", + "description": "Virtual Network Gateway connection status.", + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayConnectionStatus", + "modelAsString": true + } + }, + "VirtualNetworkGatewayConnectionType": { + "type": "string", + "description": "Gateway connection type.", + "enum": [ + "IPsec", + "Vnet2Vnet", + "ExpressRoute", + "VPNClient" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayConnectionType", + "modelAsString": true + } + }, + "VirtualNetworkGatewayConnectionMode": { + "type": "string", + "description": "Gateway connection type.", + "enum": [ + "Default", + "ResponderOnly", + "InitiatorOnly" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayConnectionMode", + "modelAsString": true + } + }, + "VpnClientConnectionHealthDetailListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientConnectionHealthDetail" + }, + "description": "List of vpn client connection health." + } + }, + "description": "List of virtual network gateway vpn client connection health." + }, + "VpnClientConnectionHealthDetail": { + "properties": { + "vpnConnectionId": { + "type": "string", + "readOnly": true, + "description": "The vpn client Id." + }, + "vpnConnectionDuration": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The duration time of a connected vpn client." + }, + "vpnConnectionTime": { + "type": "string", + "readOnly": true, + "description": "The start time of a connected vpn client." + }, + "publicIpAddress": { + "type": "string", + "readOnly": true, + "description": "The public Ip of a connected vpn client." + }, + "privateIpAddress": { + "type": "string", + "readOnly": true, + "description": "The assigned private Ip of a connected vpn client." + }, + "vpnUserName": { + "type": "string", + "readOnly": true, + "description": "The user name of a connected vpn client." + }, + "maxBandwidth": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The max band width." + }, + "egressPacketsTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The egress packets per second." + }, + "egressBytesTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The egress bytes per second." + }, + "ingressPacketsTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The ingress packets per second." + }, + "ingressBytesTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The ingress bytes per second." + }, + "maxPacketsPerSecond": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The max packets transferred per second." + } + }, + "description": "VPN client connection health detail." + }, + "VpnPacketCaptureStopParameters": { + "properties": { + "sasUrl": { + "type": "string", + "description": "SAS url for packet capture on virtual network gateway." + } + }, + "description": "Stop packet capture parameters." + }, + "VpnPacketCaptureStartParameters": { + "properties": { + "filterData": { + "type": "string", + "description": "Start Packet capture parameters." + } + }, + "description": "Start packet capture parameters on virtual network gateway." + }, + "IPConfigurationBgpPeeringAddress": { + "properties": { + "ipconfigurationId": { + "type": "string", + "description": "The ID of IP configuration which belongs to gateway." + }, + "defaultBgpIpAddresses": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of default BGP peering addresses which belong to IP configuration." + }, + "customBgpIpAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of custom BGP peering addresses which belong to IP configuration." + }, + "tunnelIpAddresses": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of tunnel public IP addresses which belong to IP configuration." + } + }, + "description": "Properties of IPConfigurationBgpPeeringAddress." + }, + "GatewayCustomBgpIpAddressIpConfiguration": { + "type": "object", + "properties": { + "ipConfigurationId": { + "type": "string", + "description": "The IpconfigurationId of ipconfiguration which belongs to gateway." + }, + "customBgpIpAddress": { + "type": "string", + "description": "The custom BgpPeeringAddress which belongs to IpconfigurationId." + } + }, + "required": [ + "ipConfigurationId", + "customBgpIpAddress" + ], + "description": "GatewayCustomBgpIpAddressIpConfiguration for a virtual network gateway connection." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualNetworkTap.json new file mode 100644 index 000000000000..ff35b070ee47 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualNetworkTap.json @@ -0,0 +1,426 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}": { + "delete": { + "tags": [ + "VirtualNetworkTap" + ], + "operationId": "VirtualNetworkTaps_Delete", + "description": "Deletes the specified virtual network tap.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "tapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network tap." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted. Sets 'Deleting' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Virtual Network Tap resource": { + "$ref": "./examples/VirtualNetworkTapDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualNetworkTap" + ], + "operationId": "VirtualNetworkTaps_Get", + "description": "Gets information about the specified virtual network tap.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "tapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of virtual network tap." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetworkTap resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Virtual Network Tap": { + "$ref": "./examples/VirtualNetworkTapGet.json" + } + } + }, + "put": { + "tags": [ + "VirtualNetworkTap" + ], + "operationId": "VirtualNetworkTaps_CreateOrUpdate", + "description": "Creates or updates a Virtual Network Tap.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "tapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network tap." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + }, + "description": "Parameters supplied to the create or update virtual network tap operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkTap resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkTap resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Virtual Network Tap": { + "$ref": "./examples/VirtualNetworkTapCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "VirtualNetworkTap" + ], + "operationId": "VirtualNetworkTaps_UpdateTags", + "description": "Updates an VirtualNetworkTap tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "tapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap." + }, + { + "name": "tapParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update VirtualNetworkTap tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkTap resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTap" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update virtual network tap tags": { + "$ref": "./examples/VirtualNetworkTapUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps": { + "get": { + "tags": [ + "VirtualNetworkTaps" + ], + "operationId": "VirtualNetworkTaps_ListAll", + "description": "Gets all the VirtualNetworkTaps in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Virtual Network Tap resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTapListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all virtual network taps": { + "$ref": "./examples/VirtualNetworkTapListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps": { + "get": { + "tags": [ + "VirtualNetworkTaps" + ], + "operationId": "VirtualNetworkTaps_ListByResourceGroup", + "description": "Gets all the VirtualNetworkTaps in a subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Virtual Network Tap resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkTapListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual network taps in resource group": { + "$ref": "./examples/VirtualNetworkTapList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VirtualNetworkTap": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkTapPropertiesFormat", + "description": "Virtual Network Tap Properties." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Virtual Network Tap resource." + }, + "VirtualNetworkTapPropertiesFormat": { + "description": "Virtual Network Tap properties.", + "properties": { + "networkInterfaceTapConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceTapConfiguration", + "description": "The reference to the Network Interface." + }, + "description": "Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped." + }, + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "The resource GUID property of the virtual network tap resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network tap resource." + }, + "destinationNetworkInterfaceIPConfiguration": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration", + "description": "The reference to the private IP Address of the collector nic that will receive the tap." + }, + "destinationLoadBalancerFrontEndIPConfiguration": { + "$ref": "./loadBalancer.json#/definitions/FrontendIPConfiguration", + "description": "The reference to the private IP address on the internal Load Balancer that will receive the tap." + }, + "destinationPort": { + "type": "integer", + "description": "The VXLAN destination port that will receive the tapped traffic." + } + } + }, + "VirtualNetworkTapListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkTap" + }, + "description": "A list of VirtualNetworkTaps in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListVirtualNetworkTap API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualRouter.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualRouter.json new file mode 100644 index 000000000000..9d4f6aa08110 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualRouter.json @@ -0,0 +1,698 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}": { + "delete": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_Delete", + "description": "Deletes the specified Virtual Router.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Delete VirtualRouter": { + "$ref": "./examples/VirtualRouterDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_Get", + "description": "Gets the specified Virtual Router.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Virtual Router resource.", + "schema": { + "$ref": "#/definitions/VirtualRouter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get VirtualRouter": { + "$ref": "./examples/VirtualRouterGet.json" + } + } + }, + "put": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_CreateOrUpdate", + "description": "Creates or updates the specified Virtual Router.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualRouter" + }, + "description": "Parameters supplied to the create or update Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting Virtual Router resource.", + "schema": { + "$ref": "#/definitions/VirtualRouter" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting Virtual Router resource.", + "schema": { + "$ref": "#/definitions/VirtualRouter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Create VirtualRouter": { + "$ref": "./examples/VirtualRouterPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters": { + "get": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_ListByResourceGroup", + "description": "Lists all Virtual Routers in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Virtual Router resources.", + "schema": { + "$ref": "#/definitions/VirtualRouterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all Virtual Router for a given resource group": { + "$ref": "./examples/VirtualRouterListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualRouters": { + "get": { + "tags": [ + "VirtualRouters" + ], + "operationId": "VirtualRouters_List", + "description": "Gets all the Virtual Routers in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Virtual Router resources.", + "schema": { + "$ref": "#/definitions/VirtualRouterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all Virtual Routers for a given subscription": { + "$ref": "./examples/VirtualRouterListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}": { + "delete": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_Delete", + "description": "Deletes the specified peering from a Virtual Router.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Delete VirtualRouterPeering": { + "$ref": "./examples/VirtualRouterPeeringDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_Get", + "description": "Gets the specified Virtual Router Peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router Peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Virtual Router Peering resource.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get Virtual Router Peering": { + "$ref": "./examples/VirtualRouterPeeringGet.json" + } + } + }, + "put": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_CreateOrUpdate", + "description": "Creates or updates the specified Virtual Router Peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router Peering." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + }, + "description": "Parameters supplied to the create or update Virtual Router Peering operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting Virtual Router Peering resource.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting Virtual Router Peering resource.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Create Virtual Router Peering": { + "$ref": "./examples/VirtualRouterPeeringPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings": { + "get": { + "tags": [ + "VirtualRouterPeerings" + ], + "operationId": "VirtualRouterPeerings_List", + "description": "Lists all Virtual Router Peerings in a Virtual Router resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualRouterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Virtual Router." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Virtual Router Peering resources.", + "schema": { + "$ref": "#/definitions/VirtualRouterPeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List all Virtual Router Peerings for a given Virtual Router": { + "$ref": "./examples/VirtualRouterPeeringList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VirtualRouter": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualRouterPropertiesFormat", + "description": "Properties of the Virtual Router." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VirtualRouter Resource." + }, + "VirtualRouterPropertiesFormat": { + "properties": { + "virtualRouterAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "VirtualRouter ASN." + }, + "virtualRouterIps": { + "type": "array", + "readOnly": false, + "description": "VirtualRouter IPs.", + "items": { + "type": "string" + } + }, + "hostedSubnet": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The Subnet on which VirtualRouter is hosted." + }, + "hostedGateway": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The Gateway on which VirtualRouter is hosted." + }, + "peerings": { + "type": "array", + "readOnly": true, + "description": "List of references to VirtualRouterPeerings.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Virtual Router definition." + }, + "VirtualRouterPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualRouterPeeringProperties", + "description": "The properties of the Virtual Router Peering." + }, + "name": { + "type": "string", + "description": "Name of the virtual router peering that is unique within a virtual router." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Peering type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Virtual Router Peering resource." + }, + "VirtualRouterPeeringProperties": { + "properties": { + "peerAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Peer ASN." + }, + "peerIp": { + "type": "string", + "readOnly": false, + "description": "Peer IP." + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the rule group." + }, + "VirtualRouterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualRouter" + }, + "description": "List of Virtual Routers." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListVirtualRouters API service call." + }, + "VirtualRouterPeeringListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualRouterPeering" + }, + "description": "List of VirtualRouterPeerings in a VirtualRouter." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListVirtualRouterPeerings API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualWan.json new file mode 100644 index 000000000000..e684ae8e4b43 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/virtualWan.json @@ -0,0 +1,9718 @@ +{ + "swagger": "2.0", + "info": { + "title": "VirtualWANAsAServiceManagementClient", + "description": "REST API for Azure VirtualWAN As a Service.", + "version": "2023-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}": { + "get": { + "operationId": "VirtualWans_Get", + "x-ms-examples": { + "VirtualWANGet": { + "$ref": "./examples/VirtualWANGet.json" + } + }, + "description": "Retrieves the details of a VirtualWAN.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualWan." + }, + { + "name": "VirtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN being retrieved." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualWAN retrieved.", + "schema": { + "$ref": "#/definitions/VirtualWAN" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VirtualWans_CreateOrUpdate", + "x-ms-examples": { + "VirtualWANCreate": { + "$ref": "./examples/VirtualWANPut.json" + } + }, + "description": "Creates a VirtualWAN resource if it doesn't exist else updates the existing VirtualWAN.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualWan." + }, + { + "name": "VirtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN being created or updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "WANParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualWAN" + }, + "description": "Parameters supplied to create or update VirtualWAN." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualWAN created or updated.", + "schema": { + "$ref": "#/definitions/VirtualWAN" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualWAN resource.", + "schema": { + "$ref": "#/definitions/VirtualWAN" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "VirtualWANs" + ], + "operationId": "VirtualWans_UpdateTags", + "x-ms-examples": { + "VirtualWANUpdate": { + "$ref": "./examples/VirtualWANUpdateTags.json" + } + }, + "description": "Updates a VirtualWAN tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualWan." + }, + { + "name": "VirtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN being updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "WANParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to Update VirtualWAN tags." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualWAN updated.", + "schema": { + "$ref": "#/definitions/VirtualWAN" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "VirtualWans_Delete", + "x-ms-examples": { + "VirtualWANDelete": { + "$ref": "./examples/VirtualWANDelete.json" + } + }, + "description": "Deletes a VirtualWAN.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualWan." + }, + { + "name": "VirtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN being deleted." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VirtualWAN deleted." + }, + "202": { + "description": "Request received successfully. VirtualWAN deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No VirtualWANs exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans": { + "get": { + "operationId": "VirtualWans_ListByResourceGroup", + "x-ms-examples": { + "VirtualWANListByResourceGroup": { + "$ref": "./examples/VirtualWANListByResourceGroup.json" + } + }, + "description": "Lists all the VirtualWANs in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualWan." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VirtualWANs in the resource group.", + "schema": { + "$ref": "#/definitions/ListVirtualWANsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans": { + "get": { + "operationId": "VirtualWans_List", + "x-ms-examples": { + "VirtualWANList": { + "$ref": "./examples/VirtualWANList.json" + } + }, + "description": "Lists all the VirtualWANs in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VirtualWANs in the subscription.", + "schema": { + "$ref": "#/definitions/ListVirtualWANsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}": { + "get": { + "operationId": "VpnSites_Get", + "x-ms-examples": { + "VpnSiteGet": { + "$ref": "./examples/VpnSiteGet.json" + } + }, + "description": "Retrieves the details of a VPN site.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "name": "vpnSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSite being retrieved." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnSite retrieved.", + "schema": { + "$ref": "#/definitions/VpnSite" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VpnSites_CreateOrUpdate", + "x-ms-examples": { + "VpnSiteCreate": { + "$ref": "./examples/VpnSitePut.json" + } + }, + "description": "Creates a VpnSite resource if it doesn't exist else updates the existing VpnSite.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "name": "vpnSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSite being created or updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "VpnSiteParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnSite" + }, + "description": "Parameters supplied to create or update VpnSite." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnSite created or updated.", + "schema": { + "$ref": "#/definitions/VpnSite" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the VpnSite created or updated.", + "schema": { + "$ref": "#/definitions/VpnSite" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "VpnSites" + ], + "operationId": "VpnSites_UpdateTags", + "x-ms-examples": { + "VpnSiteUpdate": { + "$ref": "./examples/VpnSiteUpdateTags.json" + } + }, + "description": "Updates VpnSite tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "name": "vpnSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSite being updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "VpnSiteParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update VpnSite tags." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnSite updated.", + "schema": { + "$ref": "#/definitions/VpnSite" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "VpnSites_Delete", + "x-ms-examples": { + "VpnSiteDelete": { + "$ref": "./examples/VpnSiteDelete.json" + } + }, + "description": "Deletes a VpnSite.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "name": "vpnSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSite being deleted." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VpnSite deleted." + }, + "202": { + "description": "Request received successfully. VpnSite deletion is in progress." + }, + "204": { + "description": "No VpnSites exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites": { + "get": { + "operationId": "VpnSites_ListByResourceGroup", + "x-ms-examples": { + "VpnSiteListByResourceGroup": { + "$ref": "./examples/VpnSiteListByResourceGroup.json" + } + }, + "description": "Lists all the vpnSites in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the vpnSites in the resource group.", + "schema": { + "$ref": "#/definitions/ListVpnSitesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks/{vpnSiteLinkName}": { + "get": { + "operationId": "VpnSiteLinks_Get", + "x-ms-examples": { + "VpnSiteGet": { + "$ref": "./examples/VpnSiteLinkGet.json" + } + }, + "description": "Retrieves the details of a VPN site link.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "name": "vpnSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSite." + }, + { + "name": "vpnSiteLinkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSiteLink being retrieved." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnSiteLink retrieved.", + "schema": { + "$ref": "#/definitions/VpnSiteLink" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks": { + "get": { + "operationId": "VpnSiteLinks_ListByVpnSite", + "x-ms-examples": { + "VpnSiteLinkListByVpnSite": { + "$ref": "./examples/VpnSiteLinkListByVpnSite.json" + } + }, + "description": "Lists all the vpnSiteLinks in a resource group for a vpn site.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnSite." + }, + { + "name": "vpnSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnSite." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the vpnSites in the resource group.", + "schema": { + "$ref": "#/definitions/ListVpnSiteLinksResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites": { + "get": { + "operationId": "VpnSites_List", + "x-ms-examples": { + "VpnSiteList": { + "$ref": "./examples/VpnSiteList.json" + } + }, + "description": "Lists all the VpnSites in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VpnSites in the subscription.", + "schema": { + "$ref": "#/definitions/ListVpnSitesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration": { + "post": { + "operationId": "VpnSitesConfiguration_Download", + "x-ms-examples": { + "VpnSitesConfigurationDownload": { + "$ref": "./examples/VpnSitesConfigurationDownload.json" + } + }, + "description": "Gives the sas-url to download the configurations for vpn-sites in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name." + }, + { + "name": "virtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN for which configuration of all vpn-sites is needed." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetVpnSitesConfigurationRequest" + }, + "description": "Parameters supplied to download vpn-sites configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Follow the location header for sas-url to output blob." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously. Follow the location header for sas-url to output blob." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/supportedSecurityProviders": { + "get": { + "operationId": "SupportedSecurityProviders", + "x-ms-examples": { + "supportedSecurityProviders": { + "$ref": "./examples/VirtualWanSupportedSecurityProviders.json" + } + }, + "description": "Gives the supported security providers for the virtual wan.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name." + }, + { + "name": "virtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN for which supported security providers are needed." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the object containing supported security providers.", + "schema": { + "$ref": "#/definitions/VirtualWanSecurityProviders" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}": { + "get": { + "operationId": "VpnServerConfigurations_Get", + "x-ms-examples": { + "VpnServerConfigurationGet": { + "$ref": "./examples/VpnServerConfigurationGet.json" + } + }, + "description": "Retrieves the details of a VpnServerConfiguration.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnServerConfiguration." + }, + { + "name": "vpnServerConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnServerConfiguration being retrieved." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnServerConfiguration retrieved.", + "schema": { + "$ref": "#/definitions/VpnServerConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VpnServerConfigurations_CreateOrUpdate", + "x-ms-examples": { + "VpnServerConfigurationCreate": { + "$ref": "./examples/VpnServerConfigurationPut.json" + } + }, + "description": "Creates a VpnServerConfiguration resource if it doesn't exist else updates the existing VpnServerConfiguration.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnServerConfiguration." + }, + { + "name": "vpnServerConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnServerConfiguration being created or updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "VpnServerConfigurationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnServerConfiguration" + }, + "description": "Parameters supplied to create or update VpnServerConfiguration." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnServerConfiguration created or updated.", + "schema": { + "$ref": "#/definitions/VpnServerConfiguration" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the VpnServerConfiguration created or updated.", + "schema": { + "$ref": "#/definitions/VpnServerConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "VpnServerConfigurations" + ], + "operationId": "VpnServerConfigurations_UpdateTags", + "x-ms-examples": { + "VpnServerConfigurationUpdate": { + "$ref": "./examples/VpnServerConfigurationUpdateTags.json" + } + }, + "description": "Updates VpnServerConfiguration tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnServerConfiguration." + }, + { + "name": "vpnServerConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnServerConfiguration being updated." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "VpnServerConfigurationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update VpnServerConfiguration tags." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnServerConfiguration updated.", + "schema": { + "$ref": "#/definitions/VpnServerConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "VpnServerConfigurations_Delete", + "x-ms-examples": { + "VpnServerConfigurationDelete": { + "$ref": "./examples/VpnServerConfigurationDelete.json" + } + }, + "description": "Deletes a VpnServerConfiguration.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnServerConfiguration." + }, + { + "name": "vpnServerConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnServerConfiguration being deleted." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VpnServerConfiguration deleted." + }, + "202": { + "description": "Request received successfully. VpnServerConfiguration deletion is in progress." + }, + "204": { + "description": "No VpnServerConfigurations exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations": { + "get": { + "operationId": "VpnServerConfigurations_ListByResourceGroup", + "x-ms-examples": { + "VpnServerConfigurationListByResourceGroup": { + "$ref": "./examples/VpnServerConfigurationListByResourceGroup.json" + } + }, + "description": "Lists all the vpnServerConfigurations in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnServerConfiguration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the vpnServerConfigurations in the resource group.", + "schema": { + "$ref": "#/definitions/ListVpnServerConfigurationsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}/configurationPolicyGroups/{configurationPolicyGroupName}": { + "put": { + "operationId": "ConfigurationPolicyGroups_CreateOrUpdate", + "x-ms-examples": { + "ConfigurationPolicyGroupPut": { + "$ref": "./examples/ConfigurationPolicyGroupPut.json" + } + }, + "description": "Creates a ConfigurationPolicyGroup if it doesn't exist else updates the existing one.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the ConfigurationPolicyGroup." + }, + { + "name": "vpnServerConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnServerConfiguration." + }, + { + "name": "configurationPolicyGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ConfigurationPolicyGroup." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "VpnServerConfigurationPolicyGroupParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroup" + }, + "description": "Parameters supplied to create or update a VpnServerConfiguration PolicyGroup." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VpnServerConfiguration PolicyGroup created or updated.", + "schema": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroup" + } + }, + "201": { + "description": "Request successful. Returns the details of the VpnServerConfiguration PolicyGroup retrieved.", + "schema": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "ConfigurationPolicyGroups_Delete", + "x-ms-examples": { + "ConfigurationPolicyGroupDelete": { + "$ref": "./examples/ConfigurationPolicyGroupDelete.json" + } + }, + "description": "Deletes a ConfigurationPolicyGroup.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the ConfigurationPolicyGroup." + }, + { + "name": "vpnServerConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnServerConfiguration." + }, + { + "name": "configurationPolicyGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ConfigurationPolicyGroup." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. ConfigurationPolicyGroup deleted." + }, + "202": { + "description": "Request received successfully. ConfigurationPolicyGroup deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No ConfigurationPolicyGroup exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "operationId": "ConfigurationPolicyGroups_Get", + "x-ms-examples": { + "ConfigurationPolicyGroupGet": { + "$ref": "./examples/ConfigurationPolicyGroupGet.json" + } + }, + "description": "Retrieves the details of a ConfigurationPolicyGroup.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnServerConfiguration." + }, + { + "name": "vpnServerConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnServerConfiguration." + }, + { + "name": "configurationPolicyGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ConfigurationPolicyGroup being retrieved." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the ConfigurationPolicyGroup retrieved.", + "schema": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}/configurationPolicyGroups": { + "get": { + "operationId": "configurationPolicyGroups_ListByVpnServerConfiguration", + "x-ms-examples": { + "ConfigurationPolicyGroupListByVpnServerConfiguration": { + "$ref": "./examples/ConfigurationPolicyGroupListByVpnServerConfiguration.json" + } + }, + "description": "Lists all the configurationPolicyGroups in a resource group for a vpnServerConfiguration.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnServerConfiguration." + }, + { + "name": "vpnServerConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VpnServerConfiguration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VpnServerConfigurations in the resource group.", + "schema": { + "$ref": "#/definitions/ListVpnServerConfigurationPolicyGroupsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnServerConfigurations": { + "get": { + "operationId": "VpnServerConfigurations_List", + "x-ms-examples": { + "VpnServerConfigurationList": { + "$ref": "./examples/VpnServerConfigurationList.json" + } + }, + "description": "Lists all the VpnServerConfigurations in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VpnServerConfigurations in the subscription.", + "schema": { + "$ref": "#/definitions/ListVpnServerConfigurationsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}": { + "get": { + "operationId": "VirtualHubs_Get", + "x-ms-examples": { + "VirtualHubGet": { + "$ref": "./examples/VirtualHubGet.json" + } + }, + "description": "Retrieves the details of a VirtualHub.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualHub retrieved.", + "schema": { + "$ref": "#/definitions/VirtualHub" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VirtualHubs_CreateOrUpdate", + "x-ms-examples": { + "VirtualHubPut": { + "$ref": "./examples/VirtualHubPut.json" + } + }, + "description": "Creates a VirtualHub resource if it doesn't exist else updates the existing VirtualHub.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "virtualHubParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualHub" + }, + "description": "Parameters supplied to create or update VirtualHub." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualHub created or updated.", + "schema": { + "$ref": "#/definitions/VirtualHub" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the VirtualHub created or updated.", + "schema": { + "$ref": "#/definitions/VirtualHub" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "VirtualWANs" + ], + "operationId": "VirtualHubs_UpdateTags", + "x-ms-examples": { + "VirtualHubUpdate": { + "$ref": "./examples/VirtualHubUpdateTags.json" + } + }, + "description": "Updates VirtualHub tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "virtualHubParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update VirtualHub tags." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualHub updated.", + "schema": { + "$ref": "#/definitions/VirtualHub" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "VirtualHubs_Delete", + "x-ms-examples": { + "VirtualHubDelete": { + "$ref": "./examples/VirtualHubDelete.json" + } + }, + "description": "Deletes a VirtualHub.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VirtualHub deleted." + }, + "202": { + "description": "Request received successfully. VirtualHub deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No VirtualHubs exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs": { + "get": { + "operationId": "VirtualHubs_ListByResourceGroup", + "x-ms-examples": { + "VirtualHubListByResourceGroup": { + "$ref": "./examples/VirtualHubListByResourceGroup.json" + } + }, + "description": "Lists all the VirtualHubs in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VirtualHubs in the resource group.", + "schema": { + "$ref": "#/definitions/ListVirtualHubsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs": { + "get": { + "operationId": "VirtualHubs_List", + "x-ms-examples": { + "VirtualHubList": { + "$ref": "./examples/VirtualHubList.json" + } + }, + "description": "Lists all the VirtualHubs in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VirtualHubs in the subscription.", + "schema": { + "$ref": "#/definitions/ListVirtualHubsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeMaps/{routeMapName}": { + "get": { + "operationId": "RouteMaps_Get", + "x-ms-examples": { + "RouteMapGet": { + "$ref": "./examples/RouteMapGet.json" + } + }, + "description": "Retrieves the details of a RouteMap.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the RouteMap's resource group." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub containing the RouteMap." + }, + { + "name": "routeMapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RouteMap." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the RouteMap retrieved.", + "schema": { + "$ref": "#/definitions/RouteMap" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "RouteMaps_CreateOrUpdate", + "x-ms-examples": { + "RouteMapPut": { + "$ref": "./examples/RouteMapPut.json" + } + }, + "description": "Creates a RouteMap if it doesn't exist else updates the existing one.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the RouteMap's resource group." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub containing the RouteMap." + }, + { + "name": "routeMapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RouteMap." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "routeMapParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RouteMap" + }, + "description": "Parameters supplied to create or update a RouteMap." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the RouteMap created or updated.", + "schema": { + "$ref": "#/definitions/RouteMap" + } + }, + "201": { + "description": "Request successful. Returns the details of the RouteMap retrieved.", + "schema": { + "$ref": "#/definitions/RouteMap" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "RouteMaps_Delete", + "x-ms-examples": { + "RouteMapDelete": { + "$ref": "./examples/RouteMapDelete.json" + } + }, + "description": "Deletes a RouteMap.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the RouteMap's resource group." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub containing the RouteMap." + }, + { + "name": "routeMapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RouteMap." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. RouteMap deleted." + }, + "202": { + "description": "Request received successfully. RouteMap deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No RouteMaps exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeMaps": { + "get": { + "operationId": "RouteMaps_List", + "x-ms-examples": { + "RouteMapList": { + "$ref": "./examples/RouteMapList.json" + } + }, + "description": "Retrieves the details of all RouteMaps.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the RouteMap's resource group'." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub containing the RouteMap." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the RouteMaps for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListRouteMapsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}": { + "put": { + "operationId": "HubVirtualNetworkConnections_CreateOrUpdate", + "x-ms-examples": { + "HubVirtualNetworkConnectionPut": { + "$ref": "./examples/HubVirtualNetworkConnectionPut.json" + } + }, + "description": "Creates a hub virtual network connection if it doesn't exist else updates the existing one.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the HubVirtualNetworkConnection." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the HubVirtualNetworkConnection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "hubVirtualNetworkConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HubVirtualNetworkConnection" + }, + "description": "Parameters supplied to create or update a hub virtual network connection." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the hub virtual network connection created or updated.", + "schema": { + "$ref": "#/definitions/HubVirtualNetworkConnection" + } + }, + "201": { + "description": "Request successful. Returns the details of the hub virtual network connection retrieved.", + "schema": { + "$ref": "#/definitions/HubVirtualNetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "HubVirtualNetworkConnections_Delete", + "x-ms-examples": { + "HubVirtualNetworkConnectionDelete": { + "$ref": "./examples/HubVirtualNetworkConnectionDelete.json" + } + }, + "description": "Deletes a HubVirtualNetworkConnection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the HubVirtualNetworkConnection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. HubVirtualNetworkConnection deleted." + }, + "202": { + "description": "Request received successfully. HubVirtualNetworkConnection deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No HubVirtualNetworkConnection exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "operationId": "HubVirtualNetworkConnections_Get", + "x-ms-examples": { + "HubVirtualNetworkConnectionGet": { + "$ref": "./examples/HubVirtualNetworkConnectionGet.json" + } + }, + "description": "Retrieves the details of a HubVirtualNetworkConnection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the HubVirtualNetworkConnection retrieved.", + "schema": { + "$ref": "#/definitions/HubVirtualNetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections": { + "get": { + "operationId": "HubVirtualNetworkConnections_List", + "x-ms-examples": { + "HubVirtualNetworkConnectionList": { + "$ref": "./examples/HubVirtualNetworkConnectionList.json" + } + }, + "description": "Retrieves the details of all HubVirtualNetworkConnections.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the HubVirtualNetworkConnections for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListHubVirtualNetworkConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}": { + "get": { + "operationId": "VpnGateways_Get", + "x-ms-examples": { + "VpnGatewayGet": { + "$ref": "./examples/VpnGatewayGet.json" + } + }, + "description": "Retrieves the details of a virtual wan vpn gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the virtual wan vpn gateway retrieved.", + "schema": { + "$ref": "#/definitions/VpnGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VpnGateways_CreateOrUpdate", + "x-ms-examples": { + "VpnGatewayPut": { + "$ref": "./examples/VpnGatewayPut.json" + } + }, + "description": "Creates a virtual wan vpn gateway if it doesn't exist else updates the existing gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "vpnGatewayParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnGateway" + }, + "description": "Parameters supplied to create or Update a virtual wan vpn gateway." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the virtual wan vpn Gateway created or updated.", + "schema": { + "$ref": "#/definitions/VpnGateway" + } + }, + "201": { + "description": "Request successful. Returns the details of the virtual wan vpn gateway retrieved.", + "schema": { + "$ref": "#/definitions/VpnGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "VpnGateways" + ], + "operationId": "VpnGateways_UpdateTags", + "x-ms-examples": { + "VpnGatewayUpdate": { + "$ref": "./examples/VpnGatewayUpdateTags.json" + } + }, + "description": "Updates virtual wan vpn gateway tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "vpnGatewayParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update a virtual wan vpn gateway tags." + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. Returns the details of the updated gateway.", + "schema": { + "$ref": "#/definitions/VpnGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "VpnGateways_Delete", + "x-ms-examples": { + "VpnGatewayDelete": { + "$ref": "./examples/VpnGatewayDelete.json" + } + }, + "description": "Deletes a virtual wan vpn gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Vpn Gateway deleted." + }, + "202": { + "description": "Request received successfully. Vpn Gateway deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No vpn gateways exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/reset": { + "post": { + "tags": [ + "VpnGateways" + ], + "operationId": "VpnGateways_Reset", + "description": "Resets the primary of the vpn gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "ipConfigurationId", + "in": "query", + "required": false, + "type": "string", + "description": "VpnGateway ipConfigurationId to specify the gateway instance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation reset the primary of the VpnGateway.", + "schema": { + "$ref": "#/definitions/VpnGateway" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetVpnGateway": { + "$ref": "./examples/VpnGatewayReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/startpacketcapture": { + "post": { + "tags": [ + "VpnGateways" + ], + "operationId": "VpnGateways_StartPacketCapture", + "description": "Starts packet capture on vpn gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnGatewayPacketCaptureStartParameters" + }, + "description": "Vpn gateway packet capture parameters supplied to start packet capture on vpn gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation packet capture started on vpn gateway.", + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Start packet capture on vpn gateway without filter": { + "$ref": "./examples/VpnGatewayStartPacketCapture.json" + }, + "Start packet capture on vpn gateway with filter": { + "$ref": "./examples/VpnGatewayStartPacketCaptureFilterData.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/stoppacketcapture": { + "post": { + "tags": [ + "VpnGateways" + ], + "operationId": "VpnGateways_StopPacketCapture", + "description": "Stops packet capture on vpn gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnGatewayPacketCaptureStopParameters" + }, + "description": "Vpn gateway packet capture parameters supplied to stop packet capture on vpn gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation packet capture stopped on vpn gateway.", + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Stop packet capture on vpn gateway": { + "$ref": "./examples/VpnGatewayStopPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}/resetconnection": { + "post": { + "tags": [ + "vpnLinkConnections" + ], + "operationId": "VpnLinkConnections_ResetConnection", + "description": "Resets the VpnLink connection specified.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "name": "linkConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn link connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation ResetConnection will complete asynchronously." + }, + "default": { + "description": "The operation ResetConnection could not be completed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ResetVpnLinkConnection": { + "$ref": "./examples/VpnSiteLinkConnectionReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways": { + "get": { + "operationId": "VpnGateways_ListByResourceGroup", + "x-ms-examples": { + "VpnGatewayListByResourceGroup": { + "$ref": "./examples/VpnGatewayListByResourceGroup.json" + } + }, + "description": "Lists all the VpnGateways in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VpnGateways in the resource group.", + "schema": { + "$ref": "#/definitions/ListVpnGatewaysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways": { + "get": { + "operationId": "VpnGateways_List", + "x-ms-examples": { + "VpnGatewayListBySubscription": { + "$ref": "./examples/VpnGatewayList.json" + } + }, + "description": "Lists all the VpnGateways in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VpnGateways in the subscription.", + "schema": { + "$ref": "#/definitions/ListVpnGatewaysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}": { + "get": { + "operationId": "VpnConnections_Get", + "x-ms-examples": { + "VpnConnectionGet": { + "$ref": "./examples/VpnConnectionGet.json" + } + }, + "description": "Retrieves the details of a vpn connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the vpn connection.", + "schema": { + "$ref": "#/definitions/VpnConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VpnConnections_CreateOrUpdate", + "x-ms-examples": { + "VpnConnectionPut": { + "$ref": "./examples/VpnConnectionPut.json" + } + }, + "description": "Creates a vpn connection to a scalable vpn gateway if it doesn't exist else updates the existing connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "VpnConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnConnection" + }, + "description": "Parameters supplied to create or Update a VPN Connection." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the vpn connection created or updated.", + "schema": { + "$ref": "#/definitions/VpnConnection" + } + }, + "201": { + "description": "Request successful. Returns the details of the vpn connection created or updated.", + "schema": { + "$ref": "#/definitions/VpnConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "VpnConnections_Delete", + "x-ms-examples": { + "VpnConnectionDelete": { + "$ref": "./examples/VpnConnectionDelete.json" + } + }, + "description": "Deletes a vpn connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Vpn Connection deleted." + }, + "202": { + "description": "Request received successfully. Vpn Connection deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No vpn connections exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}": { + "get": { + "operationId": "VpnSiteLinkConnections_Get", + "x-ms-examples": { + "VpnSiteLinkConnectionGet": { + "$ref": "./examples/VpnSiteLinkConnectionGet.json" + } + }, + "description": "Retrieves the details of a vpn site link connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "name": "linkConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the vpn connection.", + "schema": { + "$ref": "#/definitions/VpnSiteLinkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}/getikesas": { + "post": { + "operationId": "VpnLinkConnections_GetIkeSas", + "x-ms-examples": { + "GetVpnLinkConnectionIkeSa": { + "$ref": "./examples/VpnSiteLinkConnectionGetIkeSas.json" + } + }, + "description": "Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "name": "linkConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn link connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation GetIkeSas will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation getikesas completed on vpn site link connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "The operation GetIkeSas could not be completed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{vpnConnectionName}/startpacketcapture": { + "post": { + "operationId": "VpnConnections_StartPacketCapture", + "description": "Starts packet capture on Vpn connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "vpnConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnConnectionPacketCaptureStartParameters" + }, + "description": "Vpn Connection packet capture parameters supplied to start packet capture on gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture started on vpn connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Start packet capture on vpn connection without filter": { + "$ref": "./examples/VpnConnectionStartPacketCapture.json" + }, + "Start packet capture on vpn connection with filter": { + "$ref": "./examples/VpnConnectionStartPacketCaptureFilterData.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{vpnConnectionName}/stoppacketcapture": { + "post": { + "operationId": "VpnConnections_StopPacketCapture", + "description": "Stops packet capture on Vpn connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "vpnConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnConnectionPacketCaptureStopParameters" + }, + "description": "Vpn Connection packet capture parameters supplied to stop packet capture on gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture stopped on vpn connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Start packet capture on vpn connection without filter": { + "$ref": "./examples/VpnConnectionStopPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections": { + "get": { + "operationId": "VpnConnections_ListByVpnGateway", + "x-ms-examples": { + "VpnConnectionList": { + "$ref": "./examples/VpnConnectionList.json" + } + }, + "description": "Retrieves all vpn connections for a particular virtual wan vpn gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all Vpn connections for a virtual wan vpn gateway.", + "schema": { + "$ref": "#/definitions/ListVpnConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections": { + "get": { + "operationId": "VpnLinkConnections_ListByVpnConnection", + "x-ms-examples": { + "VpnSiteLinkConnectionList": { + "$ref": "./examples/VpnSiteLinkConnectionList.json" + } + }, + "description": "Retrieves all vpn site link connections for a particular virtual wan vpn gateway vpn connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the vpn gateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vpn connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all Vpn connections for a virtual wan vpn gateway.", + "schema": { + "$ref": "#/definitions/ListVpnSiteLinkConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/natRules/{natRuleName}": { + "get": { + "operationId": "NatRules_Get", + "x-ms-examples": { + "NatRuleGet": { + "$ref": "./examples/NatRuleGet.json" + } + }, + "description": "Retrieves the details of a nat ruleGet.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the nat rule.", + "schema": { + "$ref": "#/definitions/VpnGatewayNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "NatRules_CreateOrUpdate", + "x-ms-examples": { + "NatRulePut": { + "$ref": "./examples/NatRulePut.json" + } + }, + "description": "Creates a nat rule to a scalable vpn gateway if it doesn't exist else updates the existing nat rules.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "NatRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnGatewayNatRule" + }, + "description": "Parameters supplied to create or Update a Nat Rule." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the nat rule created or updated.", + "schema": { + "$ref": "#/definitions/VpnGatewayNatRule" + } + }, + "201": { + "description": "Request successful. Returns the details of the nat rule created or updated.", + "schema": { + "$ref": "#/definitions/VpnGatewayNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "NatRules_Delete", + "x-ms-examples": { + "NatRuleDelete": { + "$ref": "./examples/NatRuleDelete.json" + } + }, + "description": "Deletes a nat rule.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Nat Rule deleted." + }, + "202": { + "description": "Request received successfully. Nat Rule deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No nat rules exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/natRules": { + "get": { + "operationId": "NatRules_ListByVpnGateway", + "x-ms-examples": { + "NatRuleList": { + "$ref": "./examples/NatRuleList.json" + } + }, + "description": "Retrieves all nat rules for a particular virtual wan vpn gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all Nat rules for a virtual wan vpn gateway.", + "schema": { + "$ref": "#/definitions/ListVpnGatewayNatRulesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}": { + "get": { + "operationId": "P2sVpnGateways_Get", + "x-ms-examples": { + "P2SVpnGatewayGet": { + "$ref": "./examples/P2SVpnGatewayGet.json" + } + }, + "description": "Retrieves the details of a virtual wan p2s vpn gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the P2SVpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the virtual wan p2s vpn gateway retrieved.", + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "P2sVpnGateways_CreateOrUpdate", + "x-ms-examples": { + "P2SVpnGatewayPut": { + "$ref": "./examples/P2SVpnGatewayPut.json" + } + }, + "description": "Creates a virtual wan p2s vpn gateway if it doesn't exist else updates the existing gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the P2SVpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "p2SVpnGatewayParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + }, + "description": "Parameters supplied to create or Update a virtual wan p2s vpn gateway." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the virtual wan p2s vpn Gateway created or updated.", + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + } + }, + "201": { + "description": "Request successful. Returns the details of the virtual wan p2s vpn gateway retrieved.", + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "P2SVpnGateways" + ], + "operationId": "P2sVpnGateways_UpdateTags", + "x-ms-examples": { + "P2SVpnGatewayUpdate": { + "$ref": "./examples/P2SVpnGatewayUpdateTags.json" + } + }, + "description": "Updates virtual wan p2s vpn gateway tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the P2SVpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "p2SVpnGatewayParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update a virtual wan p2s vpn gateway tags." + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. Returns the details of the updated gateway.", + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "P2sVpnGateways_Delete", + "x-ms-examples": { + "P2SVpnGatewayDelete": { + "$ref": "./examples/P2SVpnGatewayDelete.json" + } + }, + "description": "Deletes a virtual wan p2s vpn gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the P2SVpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. P2SVpnGateway deleted." + }, + "202": { + "description": "Request received successfully. P2SVpnGateway deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No p2s vpn gateways exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways": { + "get": { + "operationId": "P2sVpnGateways_ListByResourceGroup", + "x-ms-examples": { + "P2SVpnGatewayListByResourceGroup": { + "$ref": "./examples/P2SVpnGatewayListByResourceGroup.json" + } + }, + "description": "Lists all the P2SVpnGateways in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the P2SVpnGateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the P2SVpnGateways in the resource group.", + "schema": { + "$ref": "#/definitions/ListP2SVpnGatewaysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/p2svpnGateways": { + "get": { + "operationId": "P2sVpnGateways_List", + "x-ms-examples": { + "P2SVpnGatewayListBySubscription": { + "$ref": "./examples/P2SVpnGatewayList.json" + } + }, + "description": "Lists all the P2SVpnGateways in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the P2SVpnGateways in the subscription.", + "schema": { + "$ref": "#/definitions/ListP2SVpnGatewaysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/reset": { + "post": { + "tags": [ + "P2SVpnGateways" + ], + "operationId": "P2SVpnGateways_Reset", + "description": "Resets the primary of the p2s vpn gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the P2SVpnGateway." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation reset the primary of the P2SVpnGateway.", + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetP2SVpnGateway": { + "$ref": "./examples/P2SVpnGatewayReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/generatevpnprofile": { + "post": { + "tags": [ + "P2SVpnGateways" + ], + "operationId": "P2sVpnGateways_GenerateVpnProfile", + "description": "Generates VPN profile for P2S client of the P2SVpnGateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the P2SVpnGateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/P2SVpnProfileParameters" + }, + "description": "Parameters supplied to the generate P2SVpnGateway VPN client package operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN profile package URL.", + "schema": { + "$ref": "#/definitions/VpnProfileResponse" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GenerateP2SVpnGatewayVPNProfile": { + "$ref": "./examples/P2SVpnGatewayGenerateVpnProfile.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealth": { + "post": { + "tags": [ + "P2SVpnGateways" + ], + "operationId": "P2sVpnGateways_GetP2sVpnConnectionHealth", + "description": "Gets the connection health of P2S clients of the virtual wan P2SVpnGateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the P2SVpnGateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "P2S Vpn Gateway with P2S connection health details.", + "schema": { + "$ref": "#/definitions/P2SVpnGateway" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "P2SVpnGatewayGetConnectionHealth": { + "$ref": "./examples/P2SVpnGatewayGetConnectionHealth.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealthDetailed": { + "post": { + "tags": [ + "P2SVpnGateways" + ], + "operationId": "P2sVpnGateways_GetP2sVpnConnectionHealthDetailed", + "description": "Gets the sas url to get the connection health detail of P2S clients of the virtual wan P2SVpnGateway in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "gatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the P2SVpnGateway." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/P2SVpnConnectionHealthRequest" + }, + "description": "Request parameters supplied to get p2s vpn connections detailed health." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "P2S connections detailed health report.", + "schema": { + "$ref": "#/definitions/P2SVpnConnectionHealth" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "P2SVpnGatewayGetConnectionHealthDetailed": { + "$ref": "./examples/P2SVpnGatewayGetConnectionHealthDetailed.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnServerConfigurations": { + "post": { + "operationId": "VpnServerConfigurationsAssociatedWithVirtualWan_List", + "x-ms-examples": { + "GetVirtualWanVpnServerConfigurations": { + "$ref": "./examples/GetVirtualWanVpnServerConfigurations.json" + } + }, + "description": "Gives the list of VpnServerConfigurations associated with Virtual Wan in a resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name." + }, + { + "name": "virtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN whose associated VpnServerConfigurations is needed." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of associated VpnServerConfigurations list.", + "schema": { + "$ref": "#/definitions/VpnServerConfigurationsResponse" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously. Follow the location header for list of associated VpnServerConfigurations list." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/GenerateVpnProfile": { + "post": { + "operationId": "generatevirtualwanvpnserverconfigurationvpnprofile", + "x-ms-examples": { + "GenerateVirtualWanVpnServerConfigurationVpnProfile": { + "$ref": "./examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json" + } + }, + "description": "Generates a unique VPN profile for P2S clients for VirtualWan and associated VpnServerConfiguration combination in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name." + }, + { + "name": "virtualWANName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualWAN whose associated VpnServerConfigurations is needed." + }, + { + "name": "vpnClientParams", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualWanVpnProfileParameters" + }, + "description": "Parameters supplied to the generate VirtualWan VPN profile generation operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "VPN profile package URL.", + "schema": { + "$ref": "#/definitions/VpnProfileResponse" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables/{routeTableName}": { + "get": { + "operationId": "VirtualHubRouteTableV2s_Get", + "x-ms-examples": { + "VirtualHubVirtualHubRouteTableV2Get": { + "$ref": "./examples/VirtualHubRouteTableV2Get.json" + } + }, + "description": "Retrieves the details of a VirtualHubRouteTableV2.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHubRouteTableV2." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHubRouteTableV2." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualHubRouteTableV2 retrieved.", + "schema": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + } + }, + "put": { + "operationId": "VirtualHubRouteTableV2s_CreateOrUpdate", + "x-ms-examples": { + "VirtualHubRouteTableV2Put": { + "$ref": "./examples/VirtualHubRouteTableV2Put.json" + } + }, + "description": "Creates a VirtualHubRouteTableV2 resource if it doesn't exist else updates the existing VirtualHubRouteTableV2.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHubRouteTableV2." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "virtualHubRouteTableV2Parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + }, + "description": "Parameters supplied to create or update VirtualHubRouteTableV2." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the VirtualHubRouteTableV2 created or updated.", + "schema": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the VirtualHubRouteTableV2 created or updated.", + "schema": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "VirtualHubRouteTableV2s_Delete", + "x-ms-examples": { + "VirtualHubRouteTableV2Delete": { + "$ref": "./examples/VirtualHubRouteTableV2Delete.json" + } + }, + "description": "Deletes a VirtualHubRouteTableV2.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHubRouteTableV2." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHubRouteTableV2." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VirtualHubRouteTableV2 deleted." + }, + "202": { + "description": "Request received successfully. VirtualHubRouteTableV2 deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No VirtualHubRouteTableV2s exist by the name provided." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeTables": { + "get": { + "operationId": "VirtualHubRouteTableV2s_List", + "x-ms-examples": { + "VirtualHubRouteTableV2List": { + "$ref": "./examples/VirtualHubRouteTableV2List.json" + } + }, + "description": "Retrieves the details of all VirtualHubRouteTableV2s.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VirtualHubRouteTableV2s for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListVirtualHubRouteTableV2sResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{p2sVpnGatewayName}/disconnectP2sVpnConnections": { + "post": { + "tags": [ + "P2SVpnGateways" + ], + "operationId": "P2sVpnGateways_DisconnectP2sVpnConnections", + "description": "Disconnect P2S vpn connections of the virtual wan P2SVpnGateway in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "p2sVpnGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the P2S Vpn Gateway." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/P2SVpnConnectionRequest" + }, + "description": "The parameters are supplied to disconnect p2s vpn connections." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation disconnects the requested vpn connections." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Disconnect VpnConnections from P2sVpn Gateway": { + "$ref": "./examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteGateways": { + "get": { + "tags": [ + "ExpressRouteGateways" + ], + "operationId": "ExpressRouteGateways_ListBySubscription", + "x-ms-examples": { + "ExpressRouteGatewayListBySubscription": { + "$ref": "./examples/ExpressRouteGatewayListBySubscription.json" + } + }, + "description": "Lists ExpressRoute gateways under a given subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful.", + "schema": { + "$ref": "#/definitions/ExpressRouteGatewayList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways": { + "get": { + "tags": [ + "ExpressRouteGateways" + ], + "operationId": "ExpressRouteGateways_ListByResourceGroup", + "x-ms-examples": { + "ExpressRouteGatewayListByResourceGroup": { + "$ref": "./examples/ExpressRouteGatewayListByResourceGroup.json" + } + }, + "description": "Lists ExpressRoute gateways in a given resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Operation successful.", + "schema": { + "$ref": "#/definitions/ExpressRouteGatewayList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}": { + "put": { + "tags": [ + "ExpressRouteGateways" + ], + "operationId": "ExpressRouteGateways_CreateOrUpdate", + "x-ms-examples": { + "ExpressRouteGatewayCreate": { + "$ref": "./examples/ExpressRouteGatewayCreate.json" + } + }, + "description": "Creates or updates a ExpressRoute gateway in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "name": "putExpressRouteGatewayParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteGateway" + }, + "description": "Parameters required in an ExpressRoute gateway PUT operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRoute gateway resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteGateway" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRoute gateway resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ExpressRouteGateways" + ], + "operationId": "ExpressRouteGateways_UpdateTags", + "x-ms-examples": { + "ExpressRouteGatewayUpdate": { + "$ref": "./examples/ExpressRouteGatewayUpdateTags.json" + } + }, + "description": "Updates express route gateway tags.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the ExpressRouteGateway." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "expressRouteGatewayParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update a virtual wan express route gateway tags." + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. Returns the details of the updated gateway.", + "schema": { + "$ref": "#/definitions/ExpressRouteGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "ExpressRouteGateways" + ], + "operationId": "ExpressRouteGateways_Get", + "x-ms-examples": { + "ExpressRouteGatewayGet": { + "$ref": "./examples/ExpressRouteGatewayGet.json" + } + }, + "description": "Fetches the details of a ExpressRoute gateway in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Operation succeeded. The operation returns the ExpressRoute gateway.", + "schema": { + "$ref": "#/definitions/ExpressRouteGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ExpressRouteGateways" + ], + "operationId": "ExpressRouteGateways_Delete", + "x-ms-examples": { + "ExpressRouteGatewayDelete": { + "$ref": "./examples/ExpressRouteGatewayDelete.json" + } + }, + "description": "Deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway resource can only be deleted when there are no connection subresources.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}": { + "put": { + "tags": [ + "ExpressRouteConnections" + ], + "operationId": "ExpressRouteConnections_CreateOrUpdate", + "x-ms-examples": { + "ExpressRouteConnectionCreate": { + "$ref": "./examples/ExpressRouteConnectionCreate.json" + } + }, + "description": "Creates a connection between an ExpressRoute gateway and an ExpressRoute circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection subresource." + }, + { + "name": "putExpressRouteConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteConnection" + }, + "description": "Parameters required in an ExpressRouteConnection PUT operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the ExpressRouteConnection.", + "schema": { + "$ref": "#/definitions/ExpressRouteConnection" + } + }, + "201": { + "description": "Create successful. The operation returns the ExpressRouteConnection.", + "schema": { + "$ref": "#/definitions/ExpressRouteConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "ExpressRouteConnections" + ], + "operationId": "ExpressRouteConnections_Get", + "x-ms-examples": { + "ExpressRouteConnectionGet": { + "$ref": "./examples/ExpressRouteConnectionGet.json" + } + }, + "description": "Gets the specified ExpressRouteConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the ExpressRouteConnection.", + "schema": { + "$ref": "#/definitions/ExpressRouteConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ExpressRouteConnections" + ], + "operationId": "ExpressRouteConnections_Delete", + "x-ms-examples": { + "ExpressRouteConnectionDelete": { + "$ref": "./examples/ExpressRouteConnectionDelete.json" + } + }, + "description": "Deletes a connection to a ExpressRoute circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection subresource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted, and the operation will continue asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections": { + "get": { + "tags": [ + "ExpressRouteConnections" + ], + "operationId": "ExpressRouteConnections_List", + "x-ms-examples": { + "ExpressRouteConnectionList": { + "$ref": "./examples/ExpressRouteConnectionList.json" + } + }, + "description": "Lists ExpressRouteConnections.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "expressRouteGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRoute gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful.", + "schema": { + "$ref": "#/definitions/ExpressRouteConnectionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/networkVirtualApplianceConnections/{connectionName}": { + "put": { + "operationId": "NetworkVirtualApplianceConnections_CreateOrUpdate", + "x-ms-examples": { + "NetworkVirtualApplianceConnectionPut": { + "$ref": "./examples/NetworkVirtualApplianceConnectionPut.json" + } + }, + "description": "Creates a connection to Network Virtual Appliance, if it doesn't exist else updates the existing NVA connection'", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_]+", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_]+", + "description": "The name of the NVA connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "NetworkVirtualApplianceConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceConnection" + }, + "description": "Parameters supplied in an NetworkVirtualApplianceConnection PUT operation." + } + ], + "responses": { + "200": { + "description": "Update successful. Returns the details of the NVA connection created or updated.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceConnection" + } + }, + "201": { + "description": "Create successful. Returns the details of the NVA connection created or updated.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "operationId": "NetworkVirtualApplianceConnections_Get", + "x-ms-examples": { + "NetworkVirtualApplianceConnectionGet": { + "$ref": "./examples/NetworkVirtualApplianceConnectionGet.json" + } + }, + "description": "Retrieves the details of specified NVA connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NVA connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the NVA connection", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "NetworkVirtualApplianceConnections_Delete", + "x-ms-examples": { + "NetworkVirtualApplianceConnectionDelete": { + "$ref": "./examples/NetworkVirtualApplianceConnectionDelete.json" + } + }, + "description": "Deletes a NVA connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NVA connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful.NVA Connection deleted." + }, + "202": { + "description": "Accepted, and the operation will continue asynchronously.", + "headers": { + "location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "204": { + "description": "No NVA connections exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/networkVirtualApplianceConnections": { + "get": { + "operationId": "NetworkVirtualApplianceConnections_List", + "x-ms-examples": { + "NetworkVirtualApplianceConnectionList": { + "$ref": "./examples/NetworkVirtualApplianceConnectionList.json" + } + }, + "description": "Lists NetworkVirtualApplianceConnections under the NVA.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_]+", + "description": "The name of the Network Virtual Appliance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Lists all the NVA connections under an NVA.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceConnectionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/bgpConnections/{connectionName}": { + "get": { + "operationId": "VirtualHubBgpConnection_Get", + "x-ms-examples": { + "VirtualHubVirtualHubRouteTableV2Get": { + "$ref": "./examples/VirtualHubBgpConnectionGet.json" + } + }, + "description": "Retrieves the details of a Virtual Hub Bgp Connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the Bgp Connection retrieved.", + "schema": { + "$ref": "#/definitions/BgpConnection" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VirtualHubBgpConnection_CreateOrUpdate", + "x-ms-examples": { + "VirtualHubRouteTableV2Put": { + "$ref": "./examples/VirtualHubBgpConnectionPut.json" + } + }, + "description": "Creates a VirtualHubBgpConnection resource if it doesn't exist else updates the existing VirtualHubBgpConnection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BgpConnection" + }, + "description": "Parameters of Bgp connection." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the BgpConnection created or updated.", + "schema": { + "$ref": "#/definitions/BgpConnection" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the BgpConnection created or updated.", + "schema": { + "$ref": "#/definitions/BgpConnection" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "VirtualHubBgpConnection_Delete", + "x-ms-examples": { + "VirtualHubRouteTableV2Delete": { + "$ref": "./examples/VirtualHubBgpConnectionDelete.json" + } + }, + "description": "Deletes a VirtualHubBgpConnection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHubBgpConnection." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VirtualHubBgpConnection deleted." + }, + "202": { + "description": "Request received successfully. VirtualHubBgpConnection deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No VirtualHubBgpConnection exist by the name provided." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/bgpConnections": { + "get": { + "operationId": "VirtualHubBgpConnections_List", + "x-ms-examples": { + "VirtualHubRouteTableV2List": { + "$ref": "./examples/VirtualHubBgpConnectionList.json" + } + }, + "description": "Retrieves the details of all VirtualHubBgpConnections.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VirtualHubBgpConnections for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListVirtualHubBgpConnectionResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{hubName}/bgpConnections/{connectionName}/learnedRoutes": { + "post": { + "operationId": "VirtualHubBgpConnections_ListLearnedRoutes", + "description": "Retrieves a list of routes the virtual hub bgp connection has learned.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual hub." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual hub bgp connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of advertised BGP routes.", + "schema": { + "$ref": "#/definitions/PeerRouteList" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualRouterPeerListLearnedRoutes": { + "$ref": "./examples/VirtualRouterPeerListLearnedRoute.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{hubName}/bgpConnections/{connectionName}/advertisedRoutes": { + "post": { + "operationId": "VirtualHubBgpConnections_ListAdvertisedRoutes", + "description": "Retrieves a list of routes the virtual hub bgp connection is advertising to the specified peer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual hub." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual hub bgp connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of learned BGP routes.", + "schema": { + "$ref": "#/definitions/PeerRouteList" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualRouterPeerListAdvertisedRoutes": { + "$ref": "./examples/VirtualRouterPeerListAdvertisedRoute.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/ipConfigurations/{ipConfigName}": { + "get": { + "operationId": "VirtualHubIpConfiguration_Get", + "x-ms-examples": { + "VirtualHubVirtualHubRouteTableV2Get": { + "$ref": "./examples/VirtualHubIpConfigurationGet.json" + } + }, + "description": "Retrieves the details of a Virtual Hub Ip configuration.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "ipConfigName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipconfig." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the Bgp Connection retrieved.", + "schema": { + "$ref": "#/definitions/HubIpConfiguration" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VirtualHubIpConfiguration_CreateOrUpdate", + "x-ms-examples": { + "VirtualHubIpConfigurationPut": { + "$ref": "./examples/VirtualHubIpConfigurationPut.json" + } + }, + "description": "Creates a VirtualHubIpConfiguration resource if it doesn't exist else updates the existing VirtualHubIpConfiguration.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "ipConfigName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipconfig." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HubIpConfiguration" + }, + "description": "Hub Ip Configuration parameters." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the IpConfiguration created or updated.", + "schema": { + "$ref": "#/definitions/HubIpConfiguration" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the IpConfiguration created or updated.", + "schema": { + "$ref": "#/definitions/HubIpConfiguration" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "VirtualHubIpConfiguration_Delete", + "x-ms-examples": { + "VirtualHubIpConfigurationDelete": { + "$ref": "./examples/VirtualHubIpConfigurationDelete.json" + } + }, + "description": "Deletes a VirtualHubIpConfiguration.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHubBgpConnection." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "ipConfigName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipconfig." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. VirtualHubIpConfiguration deleted." + }, + "202": { + "description": "Request received successfully. VirtualHubIpConfiguration deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No VirtualHubIpConfiguration exist by the name provided." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/ipConfigurations": { + "get": { + "operationId": "VirtualHubIpConfiguration_List", + "x-ms-examples": { + "VirtualHubRouteTableV2List": { + "$ref": "./examples/VirtualHubIpConfigurationList.json" + } + }, + "description": "Retrieves the details of all VirtualHubIpConfigurations.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the VirtualHubIpConfigurations for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListVirtualHubIpConfigurationResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubRouteTables/{routeTableName}": { + "put": { + "operationId": "HubRouteTables_CreateOrUpdate", + "x-ms-examples": { + "RouteTablePut": { + "$ref": "./examples/HubRouteTablePut.json" + } + }, + "description": "Creates a RouteTable resource if it doesn't exist else updates the existing RouteTable.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RouteTable." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "routeTableParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HubRouteTable" + }, + "description": "Parameters supplied to create or update RouteTable." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the RouteTable created or updated.", + "schema": { + "$ref": "#/definitions/HubRouteTable" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the RouteTable created or updated.", + "schema": { + "$ref": "#/definitions/HubRouteTable" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "operationId": "HubRouteTables_Get", + "x-ms-examples": { + "RouteTableGet": { + "$ref": "./examples/HubRouteTableGet.json" + } + }, + "description": "Retrieves the details of a RouteTable.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RouteTable." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the RouteTable retrieved.", + "schema": { + "$ref": "#/definitions/HubRouteTable" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "HubRouteTables_Delete", + "x-ms-examples": { + "RouteTableDelete": { + "$ref": "./examples/HubRouteTableDelete.json" + } + }, + "description": "Deletes a RouteTable.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the RouteTable." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routeTableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RouteTable." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. RouteTable deleted." + }, + "202": { + "description": "Request received successfully. RouteTable deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No RouteTables exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubRouteTables": { + "get": { + "operationId": "HubRouteTables_List", + "x-ms-examples": { + "RouteTableList": { + "$ref": "./examples/HubRouteTableList.json" + } + }, + "description": "Retrieves the details of all RouteTables.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the RouteTables for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListHubRouteTablesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/effectiveRoutes": { + "post": { + "operationId": "VirtualHubs_GetEffectiveVirtualHubRoutes", + "x-ms-examples": { + "Effective Routes for the Virtual Hub": { + "$ref": "./examples/EffectiveRoutesListForVirtualHub.json" + }, + "Effective Routes for a Route Table resource": { + "$ref": "./examples/EffectiveRoutesListForRouteTable.json" + }, + "Effective Routes for a Connection resource": { + "$ref": "./examples/EffectiveRoutesListForConnection.json" + } + }, + "description": "Gets the effective routes configured for the Virtual Hub resource or the specified resource .", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "effectiveRoutesParameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/EffectiveRoutesParameters" + }, + "description": "Parameters supplied to get the effective routes for a specific resource." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the list of the effective routes or follow the location header for the effective routes list.", + "schema": { + "$ref": "#/definitions/VirtualHubEffectiveRouteList" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/inboundRoutes": { + "post": { + "operationId": "VirtualHubs_GetInboundRoutes", + "x-ms-examples": { + "Inbound Routes for the Virtual Hub on a Particular Connection": { + "$ref": "./examples/GetInboundRoutes.json" + } + }, + "description": "Gets the inbound routes configured for the Virtual Hub on a particular connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "getInboundRoutesParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetInboundRoutesParameters" + }, + "description": "Parameters supplied to get the inbound routes for a connection resource." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the list of the effective route map routes or follow the location header for the inbound routes list.", + "schema": { + "$ref": "#/definitions/EffectiveRouteMapRouteList" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/outboundRoutes": { + "post": { + "operationId": "VirtualHubs_GetOutboundRoutes", + "x-ms-examples": { + "Outbound Routes for the Virtual Hub on a Particular Connection": { + "$ref": "./examples/GetOutboundRoutes.json" + } + }, + "description": "Gets the outbound routes configured for the Virtual Hub on a particular connection.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "getOutboundRoutesParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetOutboundRoutesParameters" + }, + "description": "Parameters supplied to get the outbound routes for a connection resource." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the list of the effective route map routes or follow the location header for the outbound routes list.", + "schema": { + "$ref": "#/definitions/EffectiveRouteMapRouteList" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routingIntent/{routingIntentName}": { + "put": { + "operationId": "RoutingIntent_CreateOrUpdate", + "x-ms-examples": { + "RouteTablePut": { + "$ref": "./examples/RoutingIntentPut.json" + } + }, + "description": "Creates a RoutingIntent resource if it doesn't exist else updates the existing RoutingIntent.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the RoutingIntent." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routingIntentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the per VirtualHub singleton Routing Intent resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "routingIntentParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RoutingIntent" + }, + "description": "Parameters supplied to create or update RoutingIntent." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the RoutingIntent created or updated.", + "schema": { + "$ref": "#/definitions/RoutingIntent" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the RoutingIntent created or updated.", + "schema": { + "$ref": "#/definitions/RoutingIntent" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "operationId": "RoutingIntent_Get", + "x-ms-examples": { + "RouteTableGet": { + "$ref": "./examples/RoutingIntentGet.json" + } + }, + "description": "Retrieves the details of a RoutingIntent.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the RoutingIntent." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routingIntentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RoutingIntent." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the RoutingIntent retrieved.", + "schema": { + "$ref": "#/definitions/RoutingIntent" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "RoutingIntent_Delete", + "x-ms-examples": { + "RouteTableDelete": { + "$ref": "./examples/RoutingIntentDelete.json" + } + }, + "description": "Deletes a RoutingIntent.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the RoutingIntent." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routingIntentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RoutingIntent." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. RoutingIntent deleted." + }, + "202": { + "description": "Request received successfully. RoutingIntent deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No RoutingIntent exists by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routingIntent": { + "get": { + "operationId": "RoutingIntent_List", + "x-ms-examples": { + "RoutingIntentList": { + "$ref": "./examples/RoutingIntentList.json" + } + }, + "description": "Retrieves the details of all RoutingIntent child resources of the VirtualHub.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the RoutingIntent resources for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListRoutingIntentResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VirtualWanProperties": { + "properties": { + "disableVpnEncryption": { + "type": "boolean", + "description": "Vpn encryption to be disabled or not." + }, + "virtualHubs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of VirtualHubs in the VirtualWAN." + }, + "vpnSites": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of VpnSites in the VirtualWAN." + }, + "allowBranchToBranchTraffic": { + "type": "boolean", + "description": "True if branch to branch traffic is allowed." + }, + "allowVnetToVnetTraffic": { + "type": "boolean", + "description": "True if Vnet to Vnet traffic is allowed." + }, + "office365LocalBreakoutCategory": { + "description": "The office local breakout category.", + "$ref": "#/definitions/OfficeTrafficCategory" + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual WAN resource." + }, + "type": { + "type": "string", + "description": "The type of the VirtualWAN." + } + }, + "description": "Parameters for VirtualWAN." + }, + "VirtualWAN": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualWanProperties", + "description": "Properties of the virtual WAN." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VirtualWAN Resource." + }, + "ListVirtualWANsResult": { + "description": "Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualWAN" + }, + "description": "List of VirtualWANs." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnSiteProperties": { + "properties": { + "virtualWan": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VirtualWAN to which the vpnSite belongs." + }, + "deviceProperties": { + "description": "The device properties.", + "$ref": "#/definitions/DeviceProperties" + }, + "ipAddress": { + "type": "string", + "description": "The ip-address for the vpn-site." + }, + "siteKey": { + "type": "string", + "description": "The key for vpn-site that can be used for connections." + }, + "addressSpace": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The AddressSpace that contains an array of IP address ranges." + }, + "bgpProperties": { + "$ref": "./virtualNetworkGateway.json#/definitions/BgpSettings", + "description": "The set of bgp properties." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN site resource." + }, + "isSecuritySite": { + "type": "boolean", + "description": "IsSecuritySite flag." + }, + "vpnSiteLinks": { + "type": "array", + "description": "List of all vpn site links.", + "items": { + "$ref": "#/definitions/VpnSiteLink" + } + }, + "o365Policy": { + "readOnly": false, + "description": "Office365 Policy.", + "$ref": "#/definitions/O365PolicyProperties" + } + }, + "description": "Parameters for VpnSite." + }, + "VpnSite": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnSiteProperties", + "description": "Properties of the VPN site." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VpnSite Resource." + }, + "ListVpnSitesResult": { + "description": "Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnSite" + }, + "description": "List of VpnSites." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnSiteLinkProperties": { + "properties": { + "linkProperties": { + "description": "The link provider properties.", + "$ref": "#/definitions/VpnLinkProviderProperties" + }, + "ipAddress": { + "type": "string", + "description": "The ip-address for the vpn-site-link." + }, + "fqdn": { + "type": "string", + "description": "FQDN of vpn-site-link." + }, + "bgpProperties": { + "$ref": "#/definitions/VpnLinkBgpSettings", + "description": "The set of bgp properties." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN site link resource." + } + }, + "description": "Parameters for VpnSite." + }, + "VpnSiteLink": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnSiteLinkProperties", + "description": "Properties of the VPN site link." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VpnSiteLink Resource." + }, + "ListVpnSiteLinksResult": { + "description": "Result of the request to list VpnSiteLinks. It contains a list of VpnSiteLinks and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnSiteLink" + }, + "description": "List of VpnSitesLinks." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "GetVpnSitesConfigurationRequest": { + "properties": { + "vpnSites": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of resource-ids of the vpn-sites for which config is to be downloaded." + }, + "outputBlobSasUrl": { + "type": "string", + "description": "The sas-url to download the configurations for vpn-sites." + } + }, + "required": [ + "outputBlobSasUrl" + ], + "description": "List of Vpn-Sites." + }, + "VirtualHubProperties": { + "properties": { + "virtualWan": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VirtualWAN to which the VirtualHub belongs." + }, + "vpnGateway": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VpnGateway associated with this VirtualHub." + }, + "p2SVpnGateway": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The P2SVpnGateway associated with this VirtualHub." + }, + "expressRouteGateway": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The expressRouteGateway associated with this VirtualHub." + }, + "azureFirewall": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The azureFirewall associated with this VirtualHub." + }, + "securityPartnerProvider": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The securityPartnerProvider associated with this VirtualHub." + }, + "addressPrefix": { + "type": "string", + "description": "Address-prefix for this VirtualHub." + }, + "routeTable": { + "$ref": "#/definitions/VirtualHubRouteTable", + "description": "The routeTable associated with this virtual hub." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual hub resource." + }, + "securityProviderName": { + "type": "string", + "description": "The Security Provider name." + }, + "virtualHubRouteTableV2s": { + "type": "array", + "description": "List of all virtual hub route table v2s associated with this VirtualHub.", + "items": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + } + }, + "sku": { + "type": "string", + "description": "The sku of this VirtualHub." + }, + "routingState": { + "$ref": "#/definitions/RoutingState", + "description": "The routing state." + }, + "bgpConnections": { + "type": "array", + "readOnly": true, + "description": "List of references to Bgp Connections.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "ipConfigurations": { + "type": "array", + "readOnly": true, + "description": "List of references to IpConfigurations.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "routeMaps": { + "type": "array", + "readOnly": true, + "description": "List of references to RouteMaps.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "virtualRouterAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "VirtualRouter ASN." + }, + "virtualRouterIps": { + "type": "array", + "readOnly": false, + "description": "VirtualRouter IPs.", + "items": { + "type": "string" + } + }, + "allowBranchToBranchTraffic": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control transit for VirtualRouter hub." + }, + "preferredRoutingGateway": { + "$ref": "#/definitions/PreferredRoutingGateway", + "description": "The preferred gateway to route on-prem traffic" + }, + "hubRoutingPreference": { + "$ref": "#/definitions/HubRoutingPreference", + "description": "The hubRoutingPreference of this VirtualHub." + }, + "virtualRouterAutoScaleConfiguration": { + "$ref": "#/definitions/VirtualRouterAutoScaleConfiguration", + "description": "The VirtualHub Router autoscale configuration." + } + }, + "description": "Parameters for VirtualHub." + }, + "VirtualRouterAutoScaleConfiguration": { + "type": "object", + "properties": { + "minCapacity": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The minimum number of scale units for VirtualHub Router." + } + }, + "description": "The VirtualHub Router autoscale configuration." + }, + "PreferredRoutingGateway": { + "type": "string", + "description": "The preferred routing gateway types", + "enum": [ + "ExpressRoute", + "VpnGateway", + "None" + ], + "x-ms-enum": { + "name": "PreferredRoutingGateway", + "modelAsString": true + } + }, + "HubRoutingPreference": { + "type": "string", + "description": "The hub routing preference gateway types", + "enum": [ + "ExpressRoute", + "VpnGateway", + "ASPath" + ], + "x-ms-enum": { + "name": "HubRoutingPreference", + "modelAsString": true + } + }, + "RoutingState": { + "type": "string", + "description": "The current routing state of the VirtualHub.", + "readOnly": true, + "enum": [ + "None", + "Provisioned", + "Provisioning", + "Failed" + ], + "x-ms-enum": { + "name": "RoutingState", + "modelAsString": true + } + }, + "BgpConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BgpConnectionProperties", + "description": "The properties of the Bgp connections." + }, + "name": { + "type": "string", + "description": "Name of the connection." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Connection type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Virtual Appliance Site resource." + }, + "BgpConnectionProperties": { + "properties": { + "peerAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Peer ASN." + }, + "peerIp": { + "type": "string", + "readOnly": false, + "description": "Peer IP." + }, + "hubVirtualNetworkConnection": { + "description": "The reference to the HubVirtualNetworkConnection resource.", + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource" + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + }, + "connectionState": { + "type": "string", + "description": "The current state of the VirtualHub to Peer.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "HubBgpConnectionStatus", + "modelAsString": true + } + } + }, + "description": "Properties of the bgp connection." + }, + "PeerRoute": { + "properties": { + "localAddress": { + "type": "string", + "readOnly": true, + "description": "The peer's local address." + }, + "network": { + "type": "string", + "readOnly": true, + "description": "The route's network prefix." + }, + "nextHop": { + "type": "string", + "readOnly": true, + "description": "The route's next hop." + }, + "sourcePeer": { + "type": "string", + "readOnly": true, + "description": "The peer this route was learned from." + }, + "origin": { + "type": "string", + "readOnly": true, + "description": "The source this route was learned from." + }, + "asPath": { + "type": "string", + "readOnly": true, + "description": "The route's AS path sequence." + }, + "weight": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The route's weight." + } + }, + "description": "Peer routing details." + }, + "PeerRouteList": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/PeerRoute" + }, + "x-ms-identifiers": [], + "description": "List of peer routes." + }, + "description": "Map from virtual router instance to list of peer routes." + }, + "HubIpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HubIPConfigurationPropertiesFormat", + "description": "The properties of the Virtual Hub IPConfigurations." + }, + "name": { + "type": "string", + "description": "Name of the Ip Configuration." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Ipconfiguration type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IpConfigurations." + }, + "HubIPConfigurationPropertiesFormat": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "The reference to the public IP resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the IP configuration resource." + } + }, + "description": "Properties of IP configuration." + }, + "VirtualHubRouteTable": { + "properties": { + "routes": { + "type": "array", + "description": "List of all routes.", + "items": { + "$ref": "#/definitions/VirtualHubRoute" + } + } + }, + "description": "VirtualHub route table." + }, + "VirtualHubRoute": { + "properties": { + "addressPrefixes": { + "type": "array", + "description": "List of all addressPrefixes.", + "items": { + "type": "string" + } + }, + "nextHopIpAddress": { + "type": "string", + "description": "NextHop ip address." + } + }, + "description": "VirtualHub route." + }, + "VirtualHub": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualHubProperties", + "description": "Properties of the virtual hub." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Kind of service virtual hub. This is metadata used for the Azure portal experience for Route Server." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VirtualHub Resource." + }, + "ListVirtualHubsResult": { + "description": "Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHub" + }, + "description": "List of VirtualHubs." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnGatewayProperties": { + "properties": { + "virtualHub": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VirtualHub to which the gateway belongs." + }, + "connections": { + "type": "array", + "description": "List of all vpn connections to the gateway.", + "items": { + "$ref": "#/definitions/VpnConnection" + } + }, + "bgpSettings": { + "$ref": "./virtualNetworkGateway.json#/definitions/BgpSettings", + "description": "Local network gateway's BGP speaker settings." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN gateway resource." + }, + "vpnGatewayScaleUnit": { + "type": "integer", + "format": "int32", + "description": "The scale unit for this vpn gateway." + }, + "ipConfigurations": { + "type": "array", + "readOnly": true, + "description": "List of all IPs configured on the gateway.", + "items": { + "$ref": "#/definitions/VpnGatewayIpConfiguration" + } + }, + "enableBgpRouteTranslationForNat": { + "type": "boolean", + "description": "Enable BGP routes translation for NAT on this VpnGateway." + }, + "isRoutingPreferenceInternet": { + "type": "boolean", + "description": "Enable Routing Preference property for the Public IP Interface of the VpnGateway." + }, + "natRules": { + "type": "array", + "description": "List of all the nat Rules associated with the gateway.", + "items": { + "$ref": "#/definitions/VpnGatewayNatRule" + } + } + }, + "description": "Parameters for VpnGateway." + }, + "VpnGateway": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnGatewayProperties", + "description": "Properties of the VPN gateway." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VpnGateway Resource." + }, + "VpnGatewayIpConfiguration": { + "description": "IP Configuration of a VPN Gateway Resource.", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the IP configuration for a VPN Gateway." + }, + "publicIpAddress": { + "type": "string", + "description": "The public IP address of this IP configuration." + }, + "privateIpAddress": { + "type": "string", + "description": "The private IP address of this IP configuration." + } + } + }, + "ListVpnGatewaysResult": { + "description": "Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnGateway" + }, + "description": "List of VpnGateways." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnNatRuleMapping": { + "properties": { + "addressSpace": { + "type": "string", + "description": "Address space for Vpn NatRule mapping." + }, + "portRange": { + "type": "string", + "description": "Port range for Vpn NatRule mapping." + } + }, + "description": "Vpn NatRule mapping." + }, + "VpnGatewayNatRuleProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the NAT Rule resource." + }, + "type": { + "type": "string", + "description": "The type of NAT rule for VPN NAT.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "VpnNatRuleType", + "modelAsString": true + } + }, + "mode": { + "type": "string", + "description": "The Source NAT direction of a VPN NAT.", + "enum": [ + "EgressSnat", + "IngressSnat" + ], + "x-ms-enum": { + "name": "VpnNatRuleMode", + "modelAsString": true + } + }, + "internalMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnNatRuleMapping" + }, + "description": "The private IP address internal mapping for NAT." + }, + "externalMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnNatRuleMapping" + }, + "description": "The private IP address external mapping for NAT." + }, + "ipConfigurationId": { + "type": "string", + "description": "The IP Configuration ID this NAT rule applies to." + }, + "egressVpnSiteLinkConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of egress VpnSiteLinkConnections." + }, + "ingressVpnSiteLinkConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of ingress VpnSiteLinkConnections." + } + }, + "description": "Parameters for VpnGatewayNatRule." + }, + "VpnGatewayNatRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnGatewayNatRuleProperties", + "description": "Properties of the VpnGateway NAT rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VpnGatewayNatRule Resource." + }, + "ListVpnGatewayNatRulesResult": { + "description": "Result of the request to list all nat rules to a virtual wan vpn gateway. It contains a list of Nat rules and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnGatewayNatRule" + }, + "description": "List of Nat Rules." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnConnectionProperties": { + "properties": { + "remoteVpnSite": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Id of the connected vpn site." + }, + "routingWeight": { + "type": "integer", + "format": "int32", + "description": "Routing weight for vpn connection." + }, + "dpdTimeoutSeconds": { + "type": "integer", + "format": "int32", + "description": "DPD timeout in seconds for vpn connection." + }, + "connectionStatus": { + "description": "The connection status.", + "$ref": "#/definitions/VpnConnectionStatus" + }, + "vpnConnectionProtocolType": { + "description": "Connection protocol used for this connection.", + "$ref": "./virtualNetworkGateway.json#/definitions/ConnectionProtocol" + }, + "ingressBytesTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Ingress bytes transferred." + }, + "egressBytesTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Egress bytes transferred." + }, + "connectionBandwidth": { + "type": "integer", + "format": "int32", + "description": "Expected bandwidth in MBPS." + }, + "sharedKey": { + "type": "string", + "description": "SharedKey for the vpn connection." + }, + "enableBgp": { + "type": "boolean", + "description": "EnableBgp flag." + }, + "usePolicyBasedTrafficSelectors": { + "type": "boolean", + "description": "Enable policy-based traffic selectors." + }, + "ipsecPolicies": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy" + }, + "description": "The IPSec Policies to be considered by this connection." + }, + "trafficSelectorPolicies": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/TrafficSelectorPolicy" + }, + "description": "The Traffic Selector Policies to be considered by this connection." + }, + "enableRateLimiting": { + "type": "boolean", + "description": "EnableBgp flag." + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Enable internet security." + }, + "useLocalAzureIpAddress": { + "type": "boolean", + "description": "Use local azure ip to initiate connection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN connection resource." + }, + "vpnLinkConnections": { + "type": "array", + "description": "List of all vpn site link connections to the gateway.", + "items": { + "$ref": "#/definitions/VpnSiteLinkConnection" + } + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + } + }, + "description": "Parameters for VpnConnection." + }, + "VpnConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnConnectionProperties", + "description": "Properties of the VPN connection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VpnConnection Resource." + }, + "ListVpnConnectionsResult": { + "description": "Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnConnection" + }, + "description": "List of Vpn Connections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnConnectionPacketCaptureStartParameters": { + "description": "Vpn Connection packet capture parameters supplied to start packet capture on gateway connection.", + "properties": { + "filterData": { + "type": "string", + "description": "Start Packet capture parameters on vpn connection." + }, + "linkConnectionNames": { + "type": "array", + "description": "List of site link connection names.", + "items": { + "type": "string" + } + } + } + }, + "VpnConnectionPacketCaptureStopParameters": { + "description": "Vpn Connection packet capture parameters supplied to stop packet capture on gateway connection.", + "properties": { + "sasUrl": { + "type": "string", + "description": "SAS url for packet capture on vpn connection." + }, + "linkConnectionNames": { + "type": "array", + "description": "List of site link connection names.", + "items": { + "type": "string" + } + } + } + }, + "VpnGatewayPacketCaptureStartParameters": { + "properties": { + "filterData": { + "type": "string", + "description": "Start Packet capture parameters on vpn gateway." + } + }, + "description": "Start packet capture parameters." + }, + "VpnGatewayPacketCaptureStopParameters": { + "properties": { + "sasUrl": { + "type": "string", + "description": "SAS url for packet capture on vpn gateway." + } + }, + "description": "Stop packet capture parameters." + }, + "VpnSiteLinkConnectionProperties": { + "properties": { + "vpnSiteLink": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Id of the connected vpn site link." + }, + "routingWeight": { + "type": "integer", + "format": "int32", + "description": "Routing weight for vpn connection." + }, + "vpnLinkConnectionMode": { + "type": "string", + "description": "Vpn link connection mode.", + "enum": [ + "Default", + "ResponderOnly", + "InitiatorOnly" + ], + "x-ms-enum": { + "name": "VpnLinkConnectionMode", + "modelAsString": true + } + }, + "connectionStatus": { + "description": "The connection status.", + "$ref": "#/definitions/VpnConnectionStatus" + }, + "vpnConnectionProtocolType": { + "description": "Connection protocol used for this connection.", + "$ref": "./virtualNetworkGateway.json#/definitions/ConnectionProtocol" + }, + "ingressBytesTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Ingress bytes transferred." + }, + "egressBytesTransferred": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Egress bytes transferred." + }, + "connectionBandwidth": { + "type": "integer", + "format": "int32", + "description": "Expected bandwidth in MBPS." + }, + "sharedKey": { + "type": "string", + "description": "SharedKey for the vpn connection." + }, + "enableBgp": { + "type": "boolean", + "description": "EnableBgp flag." + }, + "vpnGatewayCustomBgpAddresses": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/GatewayCustomBgpIpAddressIpConfiguration" + }, + "description": "vpnGatewayCustomBgpAddresses used by this connection.", + "x-ms-identifiers": [] + }, + "usePolicyBasedTrafficSelectors": { + "type": "boolean", + "description": "Enable policy-based traffic selectors." + }, + "ipsecPolicies": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy" + }, + "description": "The IPSec Policies to be considered by this connection." + }, + "enableRateLimiting": { + "type": "boolean", + "description": "EnableBgp flag." + }, + "useLocalAzureIpAddress": { + "type": "boolean", + "description": "Use local azure ip to initiate connection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN site link connection resource." + }, + "ingressNatRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of ingress NatRules." + }, + "egressNatRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of egress NatRules." + } + }, + "description": "Parameters for VpnConnection." + }, + "VpnSiteLinkConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnSiteLinkConnectionProperties", + "description": "Properties of the VPN site link connection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VpnSiteLinkConnection Resource." + }, + "ListVpnSiteLinkConnectionsResult": { + "description": "Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnSiteLinkConnection" + }, + "description": "List of VpnSiteLinkConnections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "HubVirtualNetworkConnectionProperties": { + "properties": { + "remoteVirtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the remote virtual network." + }, + "allowHubToRemoteVnetTransit": { + "type": "boolean", + "description": "Deprecated: VirtualHub to RemoteVnet transit to enabled or not." + }, + "allowRemoteVnetToUseHubVnetGateways": { + "type": "boolean", + "description": "Deprecated: Allow RemoteVnet to use Virtual Hub's gateways." + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Enable internet security." + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the hub virtual network connection resource." + } + }, + "description": "Parameters for HubVirtualNetworkConnection." + }, + "HubVirtualNetworkConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HubVirtualNetworkConnectionProperties", + "description": "Properties of the hub virtual network connection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "HubVirtualNetworkConnection Resource." + }, + "ListHubVirtualNetworkConnectionsResult": { + "description": "List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HubVirtualNetworkConnection" + }, + "description": "List of HubVirtualNetworkConnections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "HubRouteTableProperties": { + "properties": { + "routes": { + "type": "array", + "description": "List of all routes.", + "items": { + "$ref": "#/definitions/HubRoute" + } + }, + "labels": { + "type": "array", + "description": "List of labels associated with this route table.", + "items": { + "type": "string" + } + }, + "associatedConnections": { + "type": "array", + "description": "List of all connections associated with this route table.", + "readOnly": true, + "items": { + "type": "string" + } + }, + "propagatingConnections": { + "type": "array", + "description": "List of all connections that advertise to this route table.", + "readOnly": true, + "items": { + "type": "string" + } + }, + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioning state of the RouteTable resource." + } + }, + "description": "Parameters for RouteTable." + }, + "HubRouteTable": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HubRouteTableProperties", + "description": "Properties of the RouteTable resource." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "RouteTable resource in a virtual hub." + }, + "HubRoute": { + "required": [ + "name", + "destinationType", + "destinations", + "nextHopType", + "nextHop" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the Route that is unique within a RouteTable. This name can be used to access this route." + }, + "destinationType": { + "type": "string", + "description": "The type of destinations (eg: CIDR, ResourceId, Service)." + }, + "destinations": { + "type": "array", + "description": "List of all destinations.", + "items": { + "type": "string" + } + }, + "nextHopType": { + "type": "string", + "description": "The type of next hop (eg: ResourceId)." + }, + "nextHop": { + "type": "string", + "description": "NextHop resource ID." + } + }, + "description": "RouteTable route." + }, + "ListHubRouteTablesResult": { + "description": "List of RouteTables and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HubRouteTable" + }, + "description": "List of RouteTables." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnSiteId": { + "properties": { + "vpnSite": { + "type": "string", + "readOnly": true, + "description": "The resource-uri of the vpn-site for which config is to be fetched." + } + }, + "description": "VpnSite Resource." + }, + "DeviceProperties": { + "properties": { + "deviceVendor": { + "type": "string", + "description": "Name of the device Vendor." + }, + "deviceModel": { + "type": "string", + "description": "Model of the device." + }, + "linkSpeedInMbps": { + "type": "integer", + "format": "int32", + "description": "Link speed." + } + }, + "description": "List of properties of the device." + }, + "VirtualWanSecurityProviders": { + "properties": { + "supportedProviders": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualWanSecurityProvider" + }, + "description": "List of VirtualWAN security providers." + } + }, + "description": "Collection of SecurityProviders." + }, + "VirtualWanSecurityProvider": { + "properties": { + "name": { + "type": "string", + "description": "Name of the security provider." + }, + "url": { + "type": "string", + "description": "Url of the security provider." + }, + "type": { + "$ref": "#/definitions/VirtualWanSecurityProviderType", + "description": "Name of the security provider." + } + }, + "description": "Collection of SecurityProviders." + }, + "VpnConnectionStatus": { + "type": "string", + "description": "The current state of the vpn connection.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "VpnConnectionStatus", + "modelAsString": true + } + }, + "TunnelConnectionStatus": { + "type": "string", + "description": "The current state of the tunnel.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "TunnelConnectionStatus", + "modelAsString": true + } + }, + "HubVirtualNetworkConnectionStatus": { + "type": "string", + "description": "The current state of the VirtualHub to vnet connection.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "HubVirtualNetworkConnectionStatus", + "modelAsString": true + } + }, + "OfficeTrafficCategory": { + "type": "string", + "description": "The office traffic category.", + "readOnly": true, + "enum": [ + "Optimize", + "OptimizeAndAllow", + "All", + "None" + ], + "x-ms-enum": { + "name": "OfficeTrafficCategory", + "modelAsString": true + } + }, + "VirtualWanSecurityProviderType": { + "type": "string", + "description": "The virtual wan security provider type.", + "readOnly": true, + "enum": [ + "External", + "Native" + ], + "x-ms-enum": { + "name": "VirtualWanSecurityProviderType", + "modelAsString": true + } + }, + "VpnServerConfigVpnClientRootCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "publicCertData": { + "type": "string", + "description": "The certificate public data." + } + }, + "description": "Properties of VPN client root certificate of VpnServerConfiguration." + }, + "VpnServerConfigRadiusServerRootCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "publicCertData": { + "type": "string", + "description": "The certificate public data." + } + }, + "description": "Properties of Radius Server root certificate of VpnServerConfiguration." + }, + "VpnServerConfigVpnClientRevokedCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "thumbprint": { + "type": "string", + "description": "The revoked VPN client certificate thumbprint." + } + }, + "description": "Properties of the revoked VPN client certificate of VpnServerConfiguration." + }, + "VpnServerConfigRadiusClientRootCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "thumbprint": { + "type": "string", + "description": "The Radius client root certificate thumbprint." + } + }, + "description": "Properties of the Radius client root certificate of VpnServerConfiguration." + }, + "AadAuthenticationParameters": { + "properties": { + "aadTenant": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD tenant." + }, + "aadAudience": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD audience." + }, + "aadIssuer": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD issuer." + } + }, + "description": "AAD Vpn authentication type related parameters." + }, + "VpnServerConfigurationProperties": { + "properties": { + "name": { + "type": "string", + "description": "The name of the VpnServerConfiguration that is unique within a resource group." + }, + "vpnProtocols": { + "type": "array", + "items": { + "type": "string", + "description": "VPN protocol enabled for the VpnServerConfiguration.", + "enum": [ + "IkeV2", + "OpenVPN" + ], + "x-ms-enum": { + "name": "VpnGatewayTunnelingProtocol", + "modelAsString": true + } + }, + "description": "VPN protocols for the VpnServerConfiguration." + }, + "vpnAuthenticationTypes": { + "type": "array", + "items": { + "type": "string", + "description": "VPN authentication types enabled for the VpnServerConfiguration.", + "enum": [ + "Certificate", + "Radius", + "AAD" + ], + "x-ms-enum": { + "name": "VpnAuthenticationType", + "modelAsString": true + } + }, + "description": "VPN authentication types for the VpnServerConfiguration." + }, + "vpnClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigVpnClientRootCertificate" + }, + "description": "VPN client root certificate of VpnServerConfiguration." + }, + "vpnClientRevokedCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigVpnClientRevokedCertificate" + }, + "description": "VPN client revoked certificate of VpnServerConfiguration." + }, + "radiusServerRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigRadiusServerRootCertificate" + }, + "description": "Radius Server root certificate of VpnServerConfiguration." + }, + "radiusClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigRadiusClientRootCertificate" + }, + "description": "Radius client root certificate of VpnServerConfiguration." + }, + "vpnClientIpsecPolicies": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy" + }, + "description": "VpnClientIpsecPolicies for VpnServerConfiguration." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServers": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/RadiusServer" + }, + "description": "Multiple Radius Server configuration for VpnServerConfiguration." + }, + "aadAuthenticationParameters": { + "$ref": "#/definitions/AadAuthenticationParameters", + "description": "The set of aad vpn authentication parameters." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + }, + "p2SVpnGateways": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/P2SVpnGateway" + }, + "description": "List of references to P2SVpnGateways." + }, + "configurationPolicyGroups": { + "type": "array", + "description": "List of all VpnServerConfigurationPolicyGroups.", + "items": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroup" + } + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "Parameters for VpnServerConfiguration." + }, + "VpnServerConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnServerConfigurationProperties", + "description": "Properties of the P2SVpnServer configuration." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VpnServerConfiguration Resource." + }, + "ListVpnServerConfigurationsResult": { + "description": "Result of the request to list all VpnServerConfigurations. It contains a list of VpnServerConfigurations and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfiguration" + }, + "description": "List of VpnServerConfigurations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnClientConnectionHealth": { + "properties": { + "totalIngressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "Total of the Ingress Bytes Transferred in this P2S Vpn connection." + }, + "totalEgressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "Total of the Egress Bytes Transferred in this connection." + }, + "vpnClientConnectionsCount": { + "type": "integer", + "format": "int32", + "description": "The total of p2s vpn clients connected at this time to this P2SVpnGateway." + }, + "allocatedIpAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of allocated ip addresses to the connected p2s vpn clients." + } + }, + "description": "VpnClientConnectionHealth properties." + }, + "VpnServerConfigurationPolicyGroupProperties": { + "type": "object", + "properties": { + "isDefault": { + "type": "boolean", + "description": "Shows if this is a Default VpnServerConfigurationPolicyGroup or not." + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "Priority for VpnServerConfigurationPolicyGroup." + }, + "policyMembers": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroupMember" + }, + "description": "Multiple PolicyMembers for VpnServerConfigurationPolicyGroup.", + "x-ms-identifiers": [] + }, + "p2SConnectionConfigurations": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of references to P2SConnectionConfigurations." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VpnServerConfigurationPolicyGroup resource." + } + }, + "description": "Parameters for VpnServerConfigurationPolicyGroup." + }, + "VpnServerConfigurationPolicyGroup": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnServerConfigurationPolicyGroupProperties", + "description": "Properties of the VpnServerConfigurationPolicyGroup." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VpnServerConfigurationPolicyGroup Resource." + }, + "VpnServerConfigurationPolicyGroupMember": { + "properties": { + "name": { + "type": "string", + "description": "Name of the VpnServerConfigurationPolicyGroupMember." + }, + "attributeType": { + "type": "string", + "description": "The Vpn Policy member attribute type.", + "enum": [ + "CertificateGroupId", + "AADGroupId", + "RadiusAzureGroupId" + ], + "x-ms-enum": { + "name": "VpnPolicyMemberAttributeType", + "modelAsString": true + } + }, + "attributeValue": { + "type": "string", + "description": "The value of Attribute used for this VpnServerConfigurationPolicyGroupMember." + } + }, + "description": "VpnServerConfiguration PolicyGroup member", + "type": "object" + }, + "ListVpnServerConfigurationPolicyGroupsResult": { + "type": "object", + "description": "Result of the request to list VpnServerConfigurationPolicyGroups. It contains a list of VpnServerConfigurationPolicyGroups and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroup" + }, + "description": "List of VpnServerConfigurationPolicyGroups." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "P2SVpnGatewayProperties": { + "properties": { + "virtualHub": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VirtualHub to which the gateway belongs." + }, + "p2SConnectionConfigurations": { + "type": "array", + "description": "List of all p2s connection configurations of the gateway.", + "items": { + "$ref": "#/definitions/P2SConnectionConfiguration" + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the P2S VPN gateway resource." + }, + "vpnGatewayScaleUnit": { + "type": "integer", + "format": "int32", + "description": "The scale unit for this p2s vpn gateway." + }, + "vpnServerConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VpnServerConfiguration to which the p2sVpnGateway is attached to." + }, + "vpnClientConnectionHealth": { + "readOnly": true, + "$ref": "#/definitions/VpnClientConnectionHealth", + "description": "All P2S VPN clients' connection health status." + }, + "customDnsServers": { + "type": "array", + "description": "List of all customer specified DNS servers IP addresses.", + "items": { + "type": "string" + } + }, + "isRoutingPreferenceInternet": { + "type": "boolean", + "description": "Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway." + } + }, + "description": "Parameters for P2SVpnGateway." + }, + "P2SVpnGateway": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/P2SVpnGatewayProperties", + "description": "Properties of the P2SVpnGateway." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "P2SVpnGateway Resource." + }, + "ListP2SVpnGatewaysResult": { + "description": "Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/P2SVpnGateway" + }, + "description": "List of P2SVpnGateways." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "P2SVpnProfileParameters": { + "properties": { + "authenticationMethod": { + "$ref": "./network.json#/definitions/AuthenticationMethod", + "description": "VPN client authentication method." + } + }, + "description": "Vpn Client Parameters for package generation." + }, + "VpnProfileResponse": { + "properties": { + "profileUrl": { + "type": "string", + "description": "URL to the VPN profile." + } + }, + "description": "Vpn Profile Response for package generation." + }, + "VpnLinkBgpSettings": { + "properties": { + "asn": { + "type": "integer", + "format": "int64", + "description": "The BGP speaker's ASN." + }, + "bgpPeeringAddress": { + "type": "string", + "description": "The BGP peering address and BGP identifier of this BGP speaker." + } + }, + "description": "BGP settings details for a link." + }, + "VpnLinkProviderProperties": { + "properties": { + "linkProviderName": { + "type": "string", + "description": "Name of the link provider." + }, + "linkSpeedInMbps": { + "type": "integer", + "format": "int32", + "description": "Link speed." + } + }, + "description": "List of properties of a link provider." + }, + "VpnServerConfigurationsResponse": { + "properties": { + "vpnServerConfigurationResourceIds": { + "type": "array", + "items": { + "type": "string", + "description": "VpnServerConfiguration partial resource uri." + }, + "description": "List of VpnServerConfigurations associated with VirtualWan." + } + }, + "description": "VpnServerConfigurations list associated with VirtualWan Response." + }, + "VirtualWanVpnProfileParameters": { + "properties": { + "vpnServerConfigurationResourceId": { + "type": "string", + "description": "VpnServerConfiguration partial resource uri with which VirtualWan is associated to." + }, + "authenticationMethod": { + "$ref": "./network.json#/definitions/AuthenticationMethod", + "description": "VPN client authentication method." + } + }, + "description": "Virtual Wan Vpn profile parameters Vpn profile generation." + }, + "P2SVpnConnectionHealthRequest": { + "properties": { + "vpnUserNamesFilter": { + "type": "array", + "items": { + "type": "string", + "description": "P2S vpn user name." + }, + "description": "The list of p2s vpn user names whose p2s vpn connection detailed health to retrieve for." + }, + "outputBlobSasUrl": { + "type": "string", + "description": "The sas-url to download the P2S Vpn connection health detail." + } + }, + "description": "List of P2S Vpn connection health request." + }, + "P2SVpnConnectionHealth": { + "properties": { + "sasUrl": { + "type": "string", + "description": "Returned sas url of the blob to which the p2s vpn connection detailed health will be written." + } + }, + "description": "P2S Vpn connection detailed health written to sas url." + }, + "P2SConnectionConfigurationProperties": { + "properties": { + "vpnClientAddressPool": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The reference to the address space resource which represents Address space for P2S VpnClient." + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not." + }, + "configurationPolicyGroupAssociations": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of Configuration Policy Groups that this P2SConnectionConfiguration is attached to." + }, + "previousConfigurationPolicyGroupAssociations": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroup" + }, + "description": "List of previous Configuration Policy Groups that this P2SConnectionConfiguration was attached to." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the P2SConnectionConfiguration resource." + } + }, + "description": "Parameters for P2SConnectionConfiguration." + }, + "P2SConnectionConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/P2SConnectionConfigurationProperties", + "description": "Properties of the P2S connection configuration." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "P2SConnectionConfiguration Resource." + }, + "VirtualHubRouteTableV2Properties": { + "properties": { + "routes": { + "type": "array", + "description": "List of all routes.", + "items": { + "$ref": "#/definitions/VirtualHubRouteV2" + } + }, + "attachedConnections": { + "type": "array", + "description": "List of all connections attached to this route table v2.", + "items": { + "type": "string" + } + }, + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioning state of the virtual hub route table v2 resource." + } + }, + "description": "Parameters for VirtualHubRouteTableV2." + }, + "VirtualHubRouteTableV2": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualHubRouteTableV2Properties", + "description": "Properties of the virtual hub route table v2." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VirtualHubRouteTableV2 Resource." + }, + "VirtualHubRouteV2": { + "properties": { + "destinationType": { + "type": "string", + "description": "The type of destinations." + }, + "destinations": { + "type": "array", + "description": "List of all destinations.", + "items": { + "type": "string" + } + }, + "nextHopType": { + "type": "string", + "description": "The type of next hops." + }, + "nextHops": { + "type": "array", + "description": "NextHops ip address.", + "items": { + "type": "string" + } + } + }, + "description": "VirtualHubRouteTableV2 route." + }, + "ListVirtualHubRouteTableV2sResult": { + "description": "List of VirtualHubRouteTableV2s and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + }, + "description": "List of VirtualHubRouteTableV2s." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "P2SVpnConnectionRequest": { + "description": "List of p2s vpn connections to be disconnected.", + "properties": { + "vpnConnectionIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of p2s vpn connection Ids." + } + } + }, + "VirtualHubId": { + "properties": { + "id": { + "type": "string", + "description": "The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same subscription." + } + }, + "description": "Virtual Hub identifier." + }, + "ExpressRouteCircuitPeeringId": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the ExpressRoute circuit peering." + } + }, + "description": "ExpressRoute circuit peering identifier." + }, + "ExpressRouteConnectionId": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The ID of the ExpressRouteConnection." + } + }, + "description": "The ID of the ExpressRouteConnection." + }, + "ExpressRouteGatewayProperties": { + "required": [ + "virtualHub" + ], + "properties": { + "autoScaleConfiguration": { + "properties": { + "bounds": { + "properties": { + "min": { + "type": "integer", + "description": "Minimum number of scale units deployed for ExpressRoute gateway." + }, + "max": { + "type": "integer", + "description": "Maximum number of scale units deployed for ExpressRoute gateway." + } + }, + "description": "Minimum and maximum number of scale units to deploy." + } + }, + "description": "Configuration for auto scaling." + }, + "expressRouteConnections": { + "type": "array", + "description": "List of ExpressRoute connections to the ExpressRoute gateway.", + "items": { + "$ref": "#/definitions/ExpressRouteConnection" + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route gateway resource." + }, + "virtualHub": { + "$ref": "#/definitions/VirtualHubId", + "description": "The Virtual Hub where the ExpressRoute gateway is or will be deployed." + }, + "allowNonVirtualWanTraffic": { + "type": "boolean", + "description": "Configures this gateway to accept traffic from non Virtual WAN networks." + } + }, + "description": "ExpressRoute gateway resource properties." + }, + "ExpressRouteGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteGatewayProperties", + "description": "Properties of the express route gateway." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "ExpressRoute gateway resource." + }, + "ExpressRouteGatewayList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteGateway" + }, + "description": "List of ExpressRoute gateways." + } + }, + "description": "List of ExpressRoute gateways." + }, + "ExpressRouteConnectionProperties": { + "required": [ + "expressRouteCircuitPeering" + ], + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route connection resource." + }, + "expressRouteCircuitPeering": { + "$ref": "#/definitions/ExpressRouteCircuitPeeringId", + "description": "The ExpressRoute circuit peering." + }, + "authorizationKey": { + "type": "string", + "description": "Authorization key to establish the connection." + }, + "routingWeight": { + "type": "integer", + "description": "The routing weight associated to the connection." + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Enable internet security." + }, + "expressRouteGatewayBypass": { + "type": "boolean", + "description": "Enable FastPath to vWan Firewall hub." + }, + "enablePrivateLinkFastPath": { + "type": "boolean", + "description": "Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled." + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + } + }, + "description": "Properties of the ExpressRouteConnection subresource." + }, + "ExpressRouteConnection": { + "required": [ + "name" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteConnectionProperties", + "description": "Properties of the express route connection." + }, + "name": { + "type": "string", + "description": "The name of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "ExpressRouteConnection resource." + }, + "ExpressRouteConnectionList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteConnection" + }, + "description": "The list of ExpressRoute connections." + } + }, + "description": "ExpressRouteConnection list." + }, + "NetworkVirtualApplianceConnectionProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the NetworkVirtualApplianceConnection resource." + }, + "asn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Network Virtual Appliance ASN." + }, + "tunnelIdentifier": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Unique identifier for the connection." + }, + "bgpPeerAddress": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of bgpPeerAddresses for the NVA instances" + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Enable internet security." + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + } + }, + "description": "Properties of the NetworkVirtualApplianceConnection subresource." + }, + "NetworkVirtualApplianceConnection": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkVirtualApplianceConnectionProperties", + "description": "Properties of the express route connection." + }, + "name": { + "type": "string", + "description": "The name of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "NetworkVirtualApplianceConnection resource." + }, + "NetworkVirtualApplianceConnectionList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualApplianceConnection" + }, + "description": "The list of NetworkVirtualAppliance connections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "NetworkVirtualApplianceConnection list." + }, + "ListVirtualHubBgpConnectionResults": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BgpConnection" + }, + "description": "The list of VirtualHubBgpConnections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "VirtualHubBgpConnections list." + }, + "ListVirtualHubIpConfigurationResults": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HubIpConfiguration" + }, + "description": "The list of VirtualHubIpConfigurations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "VirtualHubIpConfigurations list." + }, + "RoutingConfiguration": { + "description": "Routing Configuration indicating the associated and propagated route tables for this connection.", + "properties": { + "associatedRouteTable": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The resource id RouteTable associated with this RoutingConfiguration." + }, + "propagatedRouteTables": { + "$ref": "#/definitions/PropagatedRouteTable", + "description": "The list of RouteTables to advertise the routes to." + }, + "vnetRoutes": { + "$ref": "#/definitions/VnetRoute", + "description": "List of routes that control routing from VirtualHub into a virtual network connection." + }, + "inboundRouteMap": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes." + }, + "outboundRouteMap": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes." + } + } + }, + "PropagatedRouteTable": { + "description": "The list of RouteTables to advertise the routes to.", + "properties": { + "labels": { + "type": "array", + "description": "The list of labels.", + "items": { + "type": "string" + } + }, + "ids": { + "type": "array", + "description": "The list of resource ids of all the RouteTables.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + } + } + }, + "VnetRoute": { + "description": "List of routes that control routing from VirtualHub into a virtual network connection.", + "properties": { + "staticRoutesConfig": { + "$ref": "#/definitions/StaticRoutesConfig", + "description": "Configuration for static routes on this HubVnetConnection." + }, + "staticRoutes": { + "type": "array", + "description": "List of all Static Routes.", + "items": { + "$ref": "#/definitions/StaticRoute" + } + }, + "bgpConnections": { + "type": "array", + "readOnly": true, + "description": "The list of references to HubBgpConnection objects.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + } + } + }, + "StaticRoutesConfig": { + "description": "Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection.", + "type": "object", + "properties": { + "propagateStaticRoutes": { + "description": "Boolean indicating whether static routes on this connection are automatically propagate to route tables which this connection propagates to.", + "type": "boolean", + "readOnly": true + }, + "vnetLocalRouteOverrideCriteria": { + "description": "Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke.", + "$ref": "#/definitions/VnetLocalRouteOverrideCriteria" + } + } + }, + "StaticRoute": { + "description": "List of all Static Routes.", + "properties": { + "name": { + "type": "string", + "description": "The name of the StaticRoute that is unique within a VnetRoute." + }, + "addressPrefixes": { + "type": "array", + "description": "List of all address prefixes.", + "items": { + "type": "string" + } + }, + "nextHopIpAddress": { + "type": "string", + "description": "The ip address of the next hop." + } + } + }, + "VirtualHubEffectiveRouteList": { + "description": "EffectiveRoutes List.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHubEffectiveRoute" + }, + "description": "The list of effective routes configured on the virtual hub or the specified resource." + } + } + }, + "VirtualHubEffectiveRoute": { + "description": "The effective route configured on the virtual hub or specified resource.", + "properties": { + "addressPrefixes": { + "description": "The list of address prefixes.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextHops": { + "description": "The list of next hops.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextHopType": { + "description": "The type of the next hop.", + "type": "string" + }, + "asPath": { + "description": "The ASPath of this route.", + "type": "string" + }, + "routeOrigin": { + "description": "The origin of this route.", + "type": "string" + } + } + }, + "EffectiveRoutesParameters": { + "description": "The parameters specifying the resource whose effective routes are being requested.", + "properties": { + "resourceId": { + "type": "string", + "description": "The resource whose effective routes are being requested." + }, + "virtualWanResourceType": { + "type": "string", + "description": "The type of the specified resource like RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection." + } + } + }, + "EffectiveRouteMapRouteList": { + "description": "EffectiveRouteMapRoute List.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveRouteMapRoute" + }, + "description": "The list of Effective RouteMap Routes configured on the connection resource.", + "x-ms-identifiers": [] + } + } + }, + "EffectiveRouteMapRoute": { + "description": "The effective RouteMap route configured on the connection resource.", + "type": "object", + "properties": { + "prefix": { + "description": "The address prefix of the route.", + "type": "string" + }, + "bgpCommunities": { + "description": "BGP communities of the route.", + "type": "string" + }, + "asPath": { + "description": "The ASPath of this route.", + "type": "string" + } + } + }, + "GetInboundRoutesParameters": { + "description": "The parameters specifying the connection resource whose inbound routes are being requested.", + "type": "object", + "properties": { + "resourceUri": { + "type": "string", + "description": "The connection resource whose inbound routes are being requested." + }, + "connectionType": { + "type": "string", + "description": "The type of the specified connection resource like ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection." + } + } + }, + "GetOutboundRoutesParameters": { + "description": "The parameters specifying the connection resource whose outbound routes are being requested.", + "type": "object", + "properties": { + "resourceUri": { + "type": "string", + "description": "The connection resource whose outbound routes are being requested." + }, + "connectionType": { + "type": "string", + "description": "The type of the specified connection resource like ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection." + } + } + }, + "O365PolicyProperties": { + "properties": { + "breakOutCategories": { + "readOnly": false, + "description": "Office365 breakout categories.", + "$ref": "#/definitions/O365BreakOutCategoryPolicies" + } + }, + "description": "The Office365 breakout policy." + }, + "O365BreakOutCategoryPolicies": { + "properties": { + "allow": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control allow category." + }, + "optimize": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control optimize category." + }, + "default": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control default category." + } + }, + "description": "Office365 breakout categories." + }, + "ListRoutingIntentResult": { + "description": "List of the routing intent result and a URL nextLink to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RoutingIntent" + }, + "description": "List of RoutingIntent resource." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "RoutingIntent": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoutingIntentProperties", + "description": "Properties of the RoutingIntent resource." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "The routing intent child resource of a Virtual hub.", + "type": "object" + }, + "RoutingIntentProperties": { + "properties": { + "routingPolicies": { + "type": "array", + "description": "List of routing policies.", + "readOnly": false, + "items": { + "$ref": "#/definitions/RoutingPolicy" + } + }, + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioning state of the RoutingIntent resource." + } + }, + "description": "The properties of a RoutingIntent resource.", + "type": "object" + }, + "RoutingPolicy": { + "required": [ + "name", + "destinations", + "nextHop" + ], + "properties": { + "name": { + "type": "string", + "description": "The unique name for the routing policy." + }, + "destinations": { + "type": "array", + "description": "List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic).", + "items": { + "type": "string" + } + }, + "nextHop": { + "type": "string", + "description": "The next hop resource id on which this routing policy is applicable to." + } + }, + "description": "The routing policy object used in a RoutingIntent resource.", + "type": "object" + }, + "RouteMap": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteMapProperties", + "description": "Properties of the RouteMap resource." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Resource id." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "The RouteMap child resource of a Virtual hub.", + "type": "object" + }, + "ListRouteMapsResult": { + "description": "List of RouteMaps and a URL nextLink to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RouteMap" + }, + "description": "List of RouteMaps." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "RouteMapProperties": { + "properties": { + "associatedInboundConnections": { + "type": "array", + "description": "List of connections which have this RoutMap associated for inbound traffic.", + "items": { + "type": "string" + } + }, + "associatedOutboundConnections": { + "type": "array", + "description": "List of connections which have this RoutMap associated for outbound traffic.", + "items": { + "type": "string" + } + }, + "rules": { + "type": "array", + "description": "List of RouteMap rules to be applied.", + "items": { + "$ref": "#/definitions/RouteMapRule" + }, + "x-ms-identifiers": [] + }, + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioning state of the RouteMap resource." + } + }, + "description": "Properties of RouteMap resource", + "type": "object" + }, + "RouteMapRule": { + "properties": { + "name": { + "type": "string", + "description": "The unique name for the rule." + }, + "matchCriteria": { + "type": "array", + "description": "List of matching criterion which will be applied to traffic.", + "items": { + "$ref": "#/definitions/Criterion" + }, + "x-ms-identifiers": [] + }, + "actions": { + "type": "array", + "description": "List of actions which will be applied on a match.", + "items": { + "$ref": "#/definitions/Action" + }, + "x-ms-identifiers": [] + }, + "nextStepIfMatched": { + "$ref": "#/definitions/NextStep", + "description": "Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'." + } + }, + "description": "A RouteMap Rule.", + "type": "object" + }, + "Criterion": { + "properties": { + "routePrefix": { + "type": "array", + "description": "List of route prefixes which this criteria matches.", + "items": { + "type": "string" + } + }, + "community": { + "type": "array", + "description": "List of BGP communities which this criteria matches.", + "items": { + "type": "string" + } + }, + "asPath": { + "type": "array", + "description": "List of AS paths which this criteria matches.", + "items": { + "type": "string" + } + }, + "matchCondition": { + "$ref": "#/definitions/RouteMapMatchCondition", + "description": "Match condition to apply RouteMap rules." + } + }, + "description": "A matching criteria which matches routes based on route prefix, community, and AS path.", + "type": "object" + }, + "Action": { + "properties": { + "type": { + "$ref": "#/definitions/RouteMapActionType", + "description": "Type of action to be taken. Supported types are 'Remove', 'Add', 'Replace', and 'Drop.'" + }, + "parameters": { + "type": "array", + "description": "List of parameters relevant to the action.For instance if type is drop then parameters has list of prefixes to be dropped.If type is add, parameters would have list of ASN numbers to be added", + "items": { + "$ref": "#/definitions/Parameter" + }, + "x-ms-identifiers": [] + } + }, + "description": "Action to be taken on a route matching a RouteMap criterion.", + "type": "object" + }, + "Parameter": { + "properties": { + "routePrefix": { + "type": "array", + "description": "List of route prefixes.", + "items": { + "type": "string" + } + }, + "community": { + "type": "array", + "description": "List of BGP communities.", + "items": { + "type": "string" + } + }, + "asPath": { + "type": "array", + "description": "List of AS paths.", + "items": { + "type": "string" + } + } + }, + "description": "Parameters for an Action.", + "type": "object" + }, + "RouteMapMatchCondition": { + "type": "string", + "description": "Match condition to apply RouteMap rules.", + "enum": [ + "Unknown", + "Contains", + "Equals", + "NotContains", + "NotEquals" + ], + "x-ms-enum": { + "name": "RouteMapMatchCondition", + "modelAsString": true + } + }, + "NextStep": { + "type": "string", + "description": "Supported next step behaviors after a rule is applied to a matched route", + "enum": [ + "Unknown", + "Continue", + "Terminate" + ], + "x-ms-enum": { + "name": "NextStep", + "modelAsString": true + } + }, + "RouteMapActionType": { + "type": "string", + "description": "Kind of actions which can be taken on a matched route. Add, Replace, Remove refer to parameters on the route, like community or prefix", + "enum": [ + "Unknown", + "Remove", + "Add", + "Replace", + "Drop" + ], + "x-ms-enum": { + "name": "RouteMapActionType", + "modelAsString": true + } + }, + "VnetLocalRouteOverrideCriteria": { + "type": "string", + "description": "Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke vnet.", + "enum": [ + "Contains", + "Equal" + ], + "x-ms-enum": { + "name": "VnetLocalRouteOverrideCriteria", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/vmssNetworkInterface.json new file mode 100644 index 000000000000..89562aa3062c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/vmssNetworkInterface.json @@ -0,0 +1,374 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2018-10-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetVMNetworkInterfaces", + "description": "Gets information about all network interfaces in a virtual machine in a virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualMachineScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual machine scale set vm network interfaces": { + "$ref": "./examples/VmssVmNetworkInterfaceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetNetworkInterfaces", + "description": "Gets all network interfaces in a virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualMachineScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual machine scale set network interfaces": { + "$ref": "./examples/VmssNetworkInterfaceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_GetVirtualMachineScaleSetNetworkInterface", + "description": "Get the specified network interface in a virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualMachineScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get virtual machine scale set network interface": { + "$ref": "./examples/VmssNetworkInterfaceGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetIpConfigurations", + "description": "Get the specified network interface ip configuration in a virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualMachineScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the list of resulting NetworkInterfaceIPConfigurations resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual machine scale set network interface ip configurations": { + "$ref": "./examples/VmssNetworkInterfaceIpConfigList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_GetVirtualMachineScaleSetIpConfiguration", + "description": "Get the specified network interface ip configuration in a virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualMachineScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ip configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterfaceIPConfiguration resource.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get virtual machine scale set network interface": { + "$ref": "./examples/VmssNetworkInterfaceIpConfigGet.json" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/vmssPublicIpAddress.json new file mode 100644 index 000000000000..d100152e7711 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/vmssPublicIpAddress.json @@ -0,0 +1,241 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2018-10-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses": { + "get": { + "operationId": "PublicIPAddresses_ListVirtualMachineScaleSetPublicIPAddresses", + "description": "Gets information about all public IP addresses on a virtual machine scale set level.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualMachineScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPInterface resources.", + "schema": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddressListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVMSSPublicIP": { + "$ref": "./examples/VmssPublicIpListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses": { + "get": { + "operationId": "PublicIPAddresses_ListVirtualMachineScaleSetVMPublicIPAddresses", + "description": "Gets information about all public IP addresses in a virtual machine IP configuration in a virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualMachineScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The network interface name." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The IP configuration name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PublicIPAddress resources.", + "schema": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddressListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVMSSVMPublicIP": { + "$ref": "./examples/VmssVmPublicIpList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}": { + "get": { + "operationId": "PublicIPAddresses_GetVirtualMachineScaleSetPublicIPAddress", + "description": "Get the specified public IP address in a virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualMachineScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set." + }, + { + "name": "virtualmachineIndex", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual machine index." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IP configuration." + }, + { + "name": "publicIpAddressName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the public IP Address." + }, + { + "$ref": "./network.json#/parameters/ApiVersionVmssParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "x-ms-examples": { + "GetVMSSPublicIP": { + "$ref": "./examples/VmssPublicIpGet.json" + } + }, + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting PublicIPAddress resource.", + "schema": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/webapplicationfirewall.json new file mode 100644 index 000000000000..84ab0814ff65 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-09-01/webapplicationfirewall.json @@ -0,0 +1,1021 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-09-01", + "title": "WebApplicationFirewallManagement", + "description": "APIs to manage web application firewall rules." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Lists all of the protection policies within a resource group.", + "operationId": "WebApplicationFirewallPolicies_List", + "x-ms-examples": { + "Lists all WAF policies in a resource group": { + "$ref": "./examples/WafListPolicies.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Gets all the WAF policies in a subscription.", + "operationId": "WebApplicationFirewallPolicies_ListAll", + "x-ms-examples": { + "Lists all WAF policies in a subscription": { + "$ref": "./examples/WafListAllPolicies.json" + } + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Retrieve protection policy with specified name within a resource group.", + "operationId": "WebApplicationFirewallPolicies_Get", + "x-ms-examples": { + "Gets a WAF policy within a resource group": { + "$ref": "./examples/WafPolicyGet.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "description": "The name of the policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Creates or update policy with specified rule set name within a resource group.", + "operationId": "WebApplicationFirewallPolicies_CreateOrUpdate", + "x-ms-examples": { + "Creates or updates a WAF policy within a resource group": { + "$ref": "./examples/WafPolicyCreateOrUpdate.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "description": "The name of the policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "description": "Policy to be created.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new protection policy has been created.", + "schema": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Deletes Policy.", + "operationId": "WebApplicationFirewallPolicies_Delete", + "x-ms-examples": { + "Deletes a WAF policy within a resource group": { + "$ref": "./examples/WafPolicyDelete.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "description": "The name of the policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + }, + "204": { + "description": "No Content. The request has been accepted but the policy was not found." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "WebApplicationFirewallPolicy": { + "description": "Defines web application firewall policy.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WebApplicationFirewallPolicyPropertiesFormat", + "description": "Properties of the web application firewall policy." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "WebApplicationFirewallPolicyPropertiesFormat": { + "description": "Defines web application firewall policy properties.", + "required": [ + "managedRules" + ], + "properties": { + "policySettings": { + "description": "The PolicySettings for policy.", + "$ref": "#/definitions/PolicySettings" + }, + "customRules": { + "description": "The custom rules inside the policy.", + "type": "array", + "items": { + "$ref": "#/definitions/WebApplicationFirewallCustomRule" + } + }, + "applicationGateways": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./applicationGateway.json#/definitions/ApplicationGateway" + }, + "description": "A collection of references to application gateways." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the web application firewall policy resource." + }, + "resourceState": { + "title": "Resource status of the policy.", + "readOnly": true, + "type": "string", + "description": "Resource status of the policy.", + "enum": [ + "Creating", + "Enabling", + "Enabled", + "Disabling", + "Disabled", + "Deleting" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallPolicyResourceState", + "modelAsString": true + } + }, + "managedRules": { + "description": "Describes the managedRules structure.", + "$ref": "#/definitions/ManagedRulesDefinition" + }, + "httpListeners": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "A collection of references to application gateway http listeners." + }, + "pathBasedRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "A collection of references to application gateway path rules." + } + } + }, + "WebApplicationFirewallPolicyListResult": { + "description": "Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/WebApplicationFirewallPolicy" + }, + "description": "List of WebApplicationFirewallPolicies within a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any." + } + } + }, + "ManagedRulesDefinition": { + "description": "Allow to exclude some variable satisfy the condition for the WAF check.", + "required": [ + "managedRuleSets" + ], + "properties": { + "exclusions": { + "type": "array", + "items": { + "$ref": "#/definitions/OwaspCrsExclusionEntry" + }, + "description": "The Exclusions that are applied on the policy." + }, + "managedRuleSets": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSet" + }, + "description": "The managed rule sets that are associated with the policy." + } + } + }, + "PolicySettings": { + "description": "Defines contents of a web application firewall global configuration.", + "properties": { + "state": { + "description": "The state of the policy.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallEnabledState", + "modelAsString": true + } + }, + "mode": { + "description": "The mode of the policy.", + "type": "string", + "enum": [ + "Prevention", + "Detection" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallMode", + "modelAsString": true + } + }, + "requestBodyCheck": { + "type": "boolean", + "description": "Whether to allow WAF to check request Body." + }, + "requestBodyInspectLimitInKB": { + "type": "integer", + "format": "int32", + "description": "Max inspection limit in KB for request body inspection for WAF." + }, + "requestBodyEnforcement": { + "type": "boolean", + "default": true, + "description": "Whether allow WAF to enforce request body limits." + }, + "maxRequestBodySizeInKb": { + "type": "integer", + "format": "int32", + "minimum": 8, + "exclusiveMinimum": false, + "description": "Maximum request body size in Kb for WAF." + }, + "fileUploadEnforcement": { + "type": "boolean", + "default": true, + "description": "Whether allow WAF to enforce file upload limits." + }, + "fileUploadLimitInMb": { + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false, + "description": "Maximum file upload size in Mb for WAF." + }, + "customBlockResponseStatusCode": { + "description": "If the action type is block, customer can override the response status code.", + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "customBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", + "type": "string", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$", + "maxLength": 32768 + }, + "logScrubbing": { + "description": "To scrub sensitive log fields", + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "State of the log scrubbing config. Default value is Enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallScrubbingState", + "modelAsString": true + } + }, + "scrubbingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/WebApplicationFirewallScrubbingRules" + }, + "x-ms-identifiers": [], + "description": "The rules that are applied to the logs for scrubbing." + } + } + } + } + }, + "WebApplicationFirewallCustomRule": { + "description": "Defines contents of a web application rule.", + "required": [ + "priority", + "ruleType", + "matchConditions", + "action" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the resource that is unique within a policy. This name can be used to access the resource.", + "maxLength": 128 + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "priority": { + "description": "Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.", + "type": "integer" + }, + "state": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallState", + "modelAsString": true + } + }, + "rateLimitDuration": { + "type": "string", + "description": "Duration over which Rate Limit policy will be applied. Applies only when ruleType is RateLimitRule.", + "enum": [ + "OneMin", + "FiveMins" + ], + "x-ms-enum": { + "name": "ApplicationGatewayFirewallRateLimitDuration", + "modelAsString": true + } + }, + "rateLimitThreshold": { + "description": "Rate Limit threshold to apply in case ruleType is RateLimitRule. Must be greater than or equal to 1", + "type": "integer", + "format": "int32" + }, + "ruleType": { + "description": "The rule type.", + "type": "string", + "enum": [ + "MatchRule", + "RateLimitRule", + "Invalid" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallRuleType", + "modelAsString": true + } + }, + "matchConditions": { + "description": "List of match conditions.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + "groupByUserSession": { + "description": "List of user session identifier group by clauses.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/GroupByUserSession" + } + }, + "action": { + "description": "Type of Actions.", + "type": "string", + "enum": [ + "Allow", + "Block", + "Log", + "JSChallenge" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallAction", + "modelAsString": true + } + } + } + }, + "Transform": { + "description": "Transforms applied before matching.", + "type": "string", + "enum": [ + "Uppercase", + "Lowercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls", + "HtmlEntityDecode" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallTransform", + "modelAsString": true + } + }, + "MatchVariable": { + "description": "Define match variables.", + "required": [ + "variableName" + ], + "properties": { + "variableName": { + "description": "Match Variable.", + "type": "string", + "enum": [ + "RemoteAddr", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeaders", + "RequestBody", + "RequestCookies" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallMatchVariable", + "modelAsString": true + } + }, + "selector": { + "description": "The selector of match variable.", + "type": "string" + } + } + }, + "MatchCondition": { + "description": "Define match conditions.", + "required": [ + "matchVariables", + "operator", + "matchValues" + ], + "properties": { + "matchVariables": { + "description": "List of match variables.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchVariable" + } + }, + "operator": { + "description": "The operator to be matched.", + "type": "string", + "enum": [ + "IPMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "Regex", + "GeoMatch", + "Any" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallOperator", + "modelAsString": true + } + }, + "negationConditon": { + "description": "Whether this is negate condition or not.", + "type": "boolean" + }, + "matchValues": { + "description": "Match value.", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms.", + "type": "array", + "items": { + "$ref": "#/definitions/Transform" + } + } + } + }, + "GroupByVariable": { + "type": "object", + "description": "Define user session group by clause variables.", + "required": [ + "variableName" + ], + "properties": { + "variableName": { + "description": "User Session clause variable.", + "type": "string", + "enum": [ + "ClientAddr", + "GeoLocation", + "None" + ], + "x-ms-enum": { + "name": "ApplicationGatewayFirewallUserSessionVariable", + "modelAsString": true + } + } + } + }, + "GroupByUserSession": { + "type": "object", + "description": "Define user session identifier group by clauses.", + "required": [ + "groupByVariables" + ], + "properties": { + "groupByVariables": { + "description": "List of group by clause variables.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/GroupByVariable" + } + } + } + }, + "ManagedRuleSet": { + "type": "object", + "description": "Defines a managed rule set.", + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "properties": { + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" + }, + "ruleGroupOverrides": { + "description": "Defines the rule group overrides to apply to the rule set.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + } + } + } + }, + "ManagedRuleGroupOverride": { + "type": "object", + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleGroupName" + ], + "properties": { + "ruleGroupName": { + "description": "The managed rule group to override.", + "type": "string" + }, + "rules": { + "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + } + } + } + }, + "ManagedRuleOverride": { + "type": "object", + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleId" + ], + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + }, + "state": { + "description": "The state of the managed rule. Defaults to Disabled if not specified.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ManagedRuleEnabledState", + "modelAsString": true + } + }, + "action": { + "description": "Describes the override action to be applied when rule matches.", + "$ref": "#/definitions/ActionType" + } + } + }, + "ExclusionManagedRuleSet": { + "type": "object", + "description": "Defines a managed rule set for Exclusions.", + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "properties": { + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" + }, + "ruleGroups": { + "description": "Defines the rule groups to apply to the rule set.", + "type": "array", + "items": { + "$ref": "#/definitions/ExclusionManagedRuleGroup" + } + } + } + }, + "ExclusionManagedRuleGroup": { + "type": "object", + "description": "Defines a managed rule group to use for exclusion.", + "required": [ + "ruleGroupName" + ], + "properties": { + "ruleGroupName": { + "description": "The managed rule group for exclusion.", + "type": "string" + }, + "rules": { + "description": "List of rules that will be excluded. If none specified, all rules in the group will be excluded.", + "type": "array", + "items": { + "$ref": "#/definitions/ExclusionManagedRule" + } + } + } + }, + "ExclusionManagedRule": { + "type": "object", + "description": "Defines a managed rule to use for exclusion.", + "required": [ + "ruleId" + ], + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + } + } + }, + "OwaspCrsExclusionEntry": { + "required": [ + "matchVariable", + "selectorMatchOperator", + "selector" + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check.", + "properties": { + "matchVariable": { + "type": "string", + "enum": [ + "RequestHeaderNames", + "RequestCookieNames", + "RequestArgNames", + "RequestHeaderKeys", + "RequestHeaderValues", + "RequestCookieKeys", + "RequestCookieValues", + "RequestArgKeys", + "RequestArgValues" + ], + "description": "The variable to be excluded.", + "x-ms-enum": { + "name": "OwaspCrsExclusionEntryMatchVariable", + "modelAsString": true + } + }, + "selectorMatchOperator": { + "type": "string", + "enum": [ + "Equals", + "Contains", + "StartsWith", + "EndsWith", + "EqualsAny" + ], + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to.", + "x-ms-enum": { + "name": "OwaspCrsExclusionEntrySelectorMatchOperator", + "modelAsString": true + } + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." + }, + "exclusionManagedRuleSets": { + "type": "array", + "items": { + "$ref": "#/definitions/ExclusionManagedRuleSet" + }, + "description": "The managed rule sets that are associated with the exclusion." + } + } + }, + "ActionType": { + "description": "Defines the action to take on rule match.", + "type": "string", + "enum": [ + "AnomalyScoring", + "Allow", + "Block", + "Log", + "JSChallenge" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true + } + }, + "WebApplicationFirewallScrubbingRules": { + "description": "Allow certain variables to be scrubbed on WAF logs", + "type": "object", + "required": [ + "matchVariable", + "selectorMatchOperator" + ], + "properties": { + "matchVariable": { + "type": "string", + "enum": [ + "RequestHeaderNames", + "RequestCookieNames", + "RequestArgNames", + "RequestPostArgNames", + "RequestJSONArgNames", + "RequestIPAddress" + ], + "description": "The variable to be scrubbed from the logs.", + "x-ms-enum": { + "name": "scrubbingRuleEntryMatchVariable", + "modelAsString": true + } + }, + "selectorMatchOperator": { + "type": "string", + "enum": [ + "Equals", + "EqualsAny" + ], + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to.", + "x-ms-enum": { + "name": " scrubbingRuleEntryMatchOperator", + "modelAsString": true + } + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this rule applies to." + }, + "state": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "description": "Defines the state of log scrubbing rule. Default value is Enabled.", + "x-ms-enum": { + "name": " scrubbingRuleEntryState", + "modelAsString": true + } + } + } + } + } +} diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index d891d28bbe52..c5d618ae3a3e 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -28,9 +28,78 @@ These are the global settings for the Network API. title: NetworkManagementClient description: Network Client openapi-type: arm -tag: package-2023-06 +tag: package-2023-09 +``` + + +### Tag: package-2023-09 + +These settings apply only when `--tag=package-2023-09` is specified on the command line. + +```yaml $(tag) == 'package-2023-09' +input-file: + - Microsoft.Network/stable/2023-09-01/applicationGateway.json + - Microsoft.Network/stable/2023-09-01/applicationGatewayWafDynamicManifests.json + - Microsoft.Network/stable/2023-09-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2023-09-01/availableDelegations.json + - Microsoft.Network/stable/2023-09-01/availableServiceAliases.json + - Microsoft.Network/stable/2023-09-01/azureFirewall.json + - Microsoft.Network/stable/2023-09-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2023-09-01/azureWebCategory.json + - Microsoft.Network/stable/2023-09-01/bastionHost.json + - Microsoft.Network/stable/2023-09-01/checkDnsAvailability.json + - Microsoft.Network/stable/2023-09-01/cloudServiceNetworkInterface.json + - Microsoft.Network/stable/2023-09-01/cloudServicePublicIpAddress.json + - Microsoft.Network/stable/2023-09-01/cloudServiceSwap.json + - Microsoft.Network/stable/2023-09-01/customIpPrefix.json + - Microsoft.Network/stable/2023-09-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2023-09-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2023-09-01/dscpConfiguration.json + - Microsoft.Network/stable/2023-09-01/endpointService.json + - Microsoft.Network/stable/2023-09-01/expressRouteCircuit.json + - Microsoft.Network/stable/2023-09-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2023-09-01/expressRoutePort.json + - Microsoft.Network/stable/2023-09-01/expressRouteProviderPort.json + - Microsoft.Network/stable/2023-09-01/firewallPolicy.json + - Microsoft.Network/stable/2023-09-01/ipAllocation.json + - Microsoft.Network/stable/2023-09-01/ipGroups.json + - Microsoft.Network/stable/2023-09-01/loadBalancer.json + - Microsoft.Network/stable/2023-09-01/natGateway.json + - Microsoft.Network/stable/2023-09-01/network.json + - Microsoft.Network/stable/2023-09-01/networkInterface.json + - Microsoft.Network/stable/2023-09-01/networkManager.json + - Microsoft.Network/stable/2023-09-01/networkManagerActiveConfiguration.json + - Microsoft.Network/stable/2023-09-01/networkManagerConnection.json + - Microsoft.Network/stable/2023-09-01/networkManagerConnectivityConfiguration.json + - Microsoft.Network/stable/2023-09-01/networkManagerEffectiveConfiguration.json + - Microsoft.Network/stable/2023-09-01/networkManagerGroup.json + - Microsoft.Network/stable/2023-09-01/networkManagerScopeConnection.json + - Microsoft.Network/stable/2023-09-01/networkManagerSecurityAdminConfiguration.json + - Microsoft.Network/stable/2023-09-01/networkProfile.json + - Microsoft.Network/stable/2023-09-01/networkSecurityGroup.json + - Microsoft.Network/stable/2023-09-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2023-09-01/networkWatcher.json + - Microsoft.Network/stable/2023-09-01/operation.json + - Microsoft.Network/stable/2023-09-01/privateEndpoint.json + - Microsoft.Network/stable/2023-09-01/privateLinkService.json + - Microsoft.Network/stable/2023-09-01/publicIpAddress.json + - Microsoft.Network/stable/2023-09-01/publicIpPrefix.json + - Microsoft.Network/stable/2023-09-01/routeFilter.json + - Microsoft.Network/stable/2023-09-01/routeTable.json + - Microsoft.Network/stable/2023-09-01/securityPartnerProvider.json + - Microsoft.Network/stable/2023-09-01/serviceCommunity.json + - Microsoft.Network/stable/2023-09-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2023-09-01/serviceTags.json + - Microsoft.Network/stable/2023-09-01/usage.json + - Microsoft.Network/stable/2023-09-01/virtualNetwork.json + - Microsoft.Network/stable/2023-09-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2023-09-01/virtualNetworkTap.json + - Microsoft.Network/stable/2023-09-01/virtualRouter.json + - Microsoft.Network/stable/2023-09-01/virtualWan.json + - Microsoft.Network/stable/2023-09-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2023-09-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2023-09-01/webapplicationfirewall.json ``` - ### Tag: package-2023-08-preview These settings apply only when `--tag=package-2023-08-preview` is specified on the command line. @@ -55,7 +124,7 @@ input-file: These settings apply only when `--tag=package-2023-06` is specified on the command line. -```yaml $(tag) == 'package-2023-06' +``` yaml $(tag) == 'package-2023-06' input-file: - Microsoft.Network/stable/2023-06-01/applicationGateway.json - Microsoft.Network/stable/2023-06-01/applicationGatewayWafDynamicManifests.json @@ -119,6 +188,7 @@ input-file: - Microsoft.Network/stable/2023-06-01/vmssPublicIpAddress.json - Microsoft.Network/stable/2023-06-01/webapplicationfirewall.json ``` + ### Tag: package-2023-05 These settings apply only when `--tag=package-2023-05` is specified on the command line. diff --git a/specification/operationalinsights/resource-manager/readme.md b/specification/operationalinsights/resource-manager/readme.md index 47af30dd0f30..8a6ef1307fc7 100644 --- a/specification/operationalinsights/resource-manager/readme.md +++ b/specification/operationalinsights/resource-manager/readme.md @@ -65,7 +65,7 @@ input-file: - Microsoft.OperationalInsights/stable/2020-08-01/Gateways.json - Microsoft.OperationalInsights/stable/2020-08-01/Schema.json - Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json -- Microsoft.OperationalInsights/stable/2021-06-01/Clusters.json +- Microsoft.OperationalInsights/stable/2022-10-01/Clusters.json ``` ### Tag: package-2015-11-preview diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Audit_Query.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Audit_Query.json new file mode 100644 index 000000000000..b45a4bc1d118 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Audit_Query.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "auditLogQueryRequest": { + "category": "Asset", + "guid": "330bd2f1-cf28-4737-8d86-e6f6f6f60000", + "userId": "contoso@microsoft.com", + "operationType": "EntityUpdated", + "keywords": "Tag1", + "startTime": "2023-05-01T00:00:00.000Z", + "endTime": "2023-05-30T00:00:00.000Z", + "sortBy": "CreationTime", + "sortOrder": "Descending", + "pageSize": 10 + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "continuationToken": "Tcq7DsIgFADQHyoGsSCtYTBtTEzHMrnxuC0MgoHboUk%2f3sHFM58ZcwG9f0CNBs0z1bgGrNNWMTczmOLCfUEoaihgMOak4xuOEaqD5GNaD0bZhVBOqNBU9oz3XJzoz%2bs2wf5%2fFwadv0pLwFpJWuE5sQv1RPqzc9KKjhvTPABdAD%2fkLaFqvw%3d%3d", + "lastPage": true, + "totalResultCount": 2, + "recordCount": 2, + "resultData": [ + { + "workload": "PurviewDataMap", + "recordType": 227, + "id": "12ea3a18-3712-4417-a12d-7df936e327c9", + "creationTime": "2023-05-06T08:27:05", + "operation": "EntityUpdated", + "organizationId": "4f1dc10a-df9b-4f93-be0c-504b04f6309d", + "userType": 0, + "userKey": "1715f5c5-c81d-489e-9ca1-8d40281ef0d8", + "userId": "contoso@microsoft.com", + "accountId": "644ab9c7-893a-4a4d-8e0a-591a6556d1a0", + "catalogId": "d8757510-c866-61ba-486f-1afca09f43b8", + "changeRequestId": "34d2aa4a-d5bf-4bdf-a954-77df88d9c3df", + "cloudType": "Azure", + "serviceType": "[\"Azure Blob Storage\"]", + "objectId": "330bd2f1-cf28-4737-8d86-e6f6f6f60000", + "objectName": "Audit Log Test", + "objectFullyQualifiedName": "https://contoso.blob.core.windows.net/testfolder1/auditlogtest.json", + "objectType": "azure_blob_path", + "oldValue": "{\"330bd2f1-cf28-4737-8d86-e6f6f6f60000\":{\"attributes\":{\"name\":\"Audit Log Test\"},\"guid\":\"330bd2f1-cf28-4737-8d86-e6f6f6f60000\",\"labels\":[\"Tag1\"]}}", + "newValue": "{\"330bd2f1-cf28-4737-8d86-e6f6f6f60000\":{\"attributes\":{\"name\":\"Audit Log Test\"},\"guid\":\"330bd2f1-cf28-4737-8d86-e6f6f6f60000\",\"labels\":[]}}" + }, + { + "workload": "PurviewDataMap", + "recordType": 227, + "id": "6abb069e-aefc-4dff-97f4-f36b3d5ac2be", + "creationTime": "2023-05-06T08:27:01", + "operation": "EntityUpdated", + "organizationId": "4f1dc10a-df9b-4f93-be0c-504b04f6309d", + "userType": 0, + "userKey": "1715f5c5-c81d-489e-9ca1-8d40281ef0d8", + "userId": "contoso@microsoft.com", + "accountId": "644ab9c7-893a-4a4d-8e0a-591a6556d1a0", + "catalogId": "d8757510-c866-61ba-486f-1afca09f43b8", + "changeRequestId": "122a460f-9d87-47cd-9683-e27351a3dadd", + "cloudType": "Azure", + "serviceType": "[\"Azure Blob Storage\"]", + "objectId": "330bd2f1-cf28-4737-8d86-e6f6f6f60000", + "objectName": "Audit Log Test", + "objectFullyQualifiedName": "https://contoso.blob.core.windows.net/testfolder1/auditlogtest.json", + "objectType": "azure_blob_path", + "oldValue": "{\"330bd2f1-cf28-4737-8d86-e6f6f6f60000\":{\"attributes\":{\"name\":\"Audit Log Test\"},\"guid\":\"330bd2f1-cf28-4737-8d86-e6f6f6f60000\",\"labels\":[\"Tag1\",\"Tag2\"]}}", + "newValue": "{\"330bd2f1-cf28-4737-8d86-e6f6f6f60000\":{\"attributes\":{\"name\":\"Audit Log Test\"},\"guid\":\"330bd2f1-cf28-4737-8d86-e6f6f6f60000\",\"labels\":[\"Tag1\"]}}" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_AutoComplete.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_AutoComplete.json new file mode 100644 index 000000000000..3024b0bd6f0d --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_AutoComplete.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "autoCompleteRequest": { + "keywords": "exa", + "filter": { + "and": [ + { + "entityType": "azure_blob_path", + "includeSubTypes": false + } + ] + }, + "limit": 10 + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "text": "example", + "queryPlusText": "example" + }, + { + "text": "exampleconfiguration", + "queryPlusText": "exampleconfiguration" + }, + { + "text": "exampleresources", + "queryPlusText": "exampleresources" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query.json new file mode 100644 index 000000000000..46395ba26cea --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": "exampledata", + "filter": { + "and": [ + { + "objectType": "Files" + }, + { + "entityType": "azure_blob_path" + } + ] + }, + "limit": 10, + "orderby": [ + { + "name": "ASC" + }, + { + "updateTime": "DESC" + } + ], + "facets": [ + { + "facet": "assetType", + "count": 0, + "sort": { + "count": "desc" + } + }, + { + "facet": "classification", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "contactId", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "label", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "term", + "count": 10, + "sort": { + "count": "desc" + } + } + ] + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 2, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "id": "bfecbcc3-1838-45fe-96d6-112de8a170f9", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata1.txt", + "name": "exampledata1.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "14d857b9-e2c1-4118-8bfa-12e53ae6ce7f", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata2.txt", + "name": "exampledata2.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_And.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_And.json new file mode 100644 index 000000000000..cc44343db105 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_And.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "and": [ + { + "entityType": "azure_blob_path" + }, + { + "attributeName": "qualifiedName", + "operator": "contains", + "attributeValue": ".csv" + } + ] + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 5, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "@search.highlights": { + "qualifiedName": [ + "https://exampleaccount.blob.core.windows.net/examplepath/csv/exampledata.csv" + ] + }, + "id": "63b92968-c9ac-4af8-8cff-f61d147bbf88", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/csv/exampledata.csv", + "name": "exampledata.csv", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [ + "Example.Label" + ], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "@search.highlights": { + "qualifiedName": [ + "https://exampleaccount.blob.core.windows.net/examplepath/csv/AllTypes.csv" + ] + }, + "id": "2605db54-086d-4d6c-adb6-f0bbed6c6eab", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/csv/AllTypes.csv", + "name": "AllTypes.csv", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [ + "Example.Label" + ], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_AndOrNested.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_AndOrNested.json new file mode 100644 index 000000000000..466362d4a6f2 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_AndOrNested.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "and": [ + { + "entityType": "azure_blob_path" + }, + { + "attributeName": "qualifiedName", + "operator": "contains", + "attributeValue": ".csv" + }, + { + "or": [ + { + "attributeName": "name", + "operator": "eq", + "attributeValue": "exampledata.csv" + }, + { + "attributeName": "qualifiedName", + "operator": "prefix", + "attributeValue": "https://" + } + ] + } + ] + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 2, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "@search.highlights": { + "qualifiedName": [ + "https://exampleaccount.blob.core.windows.net/examplepath/csv/exampledata.csv" + ] + }, + "id": "63b92968-c9ac-4af8-8cff-f61d147bbf88", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/csv/exampledata.csv", + "name": "exampledata.csv", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [ + "Example.Label" + ], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "@search.highlights": { + "qualifiedName": [ + "https://exampleaccount.blob.core.windows.net/examplepath/csv/AllTypes.csv" + ], + "name": [ + "AllTypes.csv" + ] + }, + "id": "2605db54-086d-4d6c-adb6-f0bbed6c6eab", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/csv/AllTypes.csv", + "name": "AllTypes.csv", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [ + "Example.Label" + ], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_AssetType.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_AssetType.json new file mode 100644 index 000000000000..f349c25bcc9d --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_AssetType.json @@ -0,0 +1,138 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "or": [ + { + "assetType": "SQL Server" + }, + { + "assetType": "Azure SQL Server" + }, + { + "assetType": "Azure SQL Database" + }, + { + "assetType": "Azure SQL Data Warehouse" + }, + { + "assetType": "Azure SQL Managed Instance" + }, + { + "assetType": "Azure Storage Account" + }, + { + "assetType": "Azure Blob Storage" + }, + { + "assetType": "Azure Files" + }, + { + "assetType": "Azure Table Storage" + }, + { + "assetType": "Azure Data Lake Storage Gen1" + }, + { + "assetType": "Azure Data Lake Storage Gen2" + }, + { + "assetType": "Azure Cosmos DB" + }, + { + "assetType": "Azure Data Factory" + }, + { + "assetType": "Azure Cognitive Search" + }, + { + "assetType": "Power BI" + }, + { + "assetType": "Azure Data Explorer" + }, + { + "assetType": "Amazon S3" + }, + { + "assetType": "Azure Data Share" + }, + { + "assetType": "Teradata" + }, + { + "assetType": "SAP S4HANA" + }, + { + "assetType": "SAP ECC" + }, + { + "assetType": "SQL Server Integration Services" + }, + { + "assetType": "hive" + }, + { + "assetType": "Azure Database for MySQL" + }, + { + "assetType": "Azure Database for MariaDB" + }, + { + "assetType": "Azure Database for PostgreSQL" + }, + { + "assetType": "Azure Synapse Analytics" + } + ] + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "continuationToken": "eyJzZXNzaW9uSWQiOiI5ZWRiYmEzNC0wYmM0LTQxNGEtOTY2NC01OGM2ZTBkMzI3ODYiLCJvZmZzZXQiOjI1LCJyZXF1ZXN0SGFzaCI6IjZiMmFjMTlmMGExZjlmMjY2Nzc0ZDdhZDczNTE3OWJmIn0=", + "@search.count": 5155, + "@search.count.approximate": true, + "value": [ + { + "@search.score": 1.0, + "id": "24c16e53-1bfd-4d6c-b4ce-b1f6f6f60000", + "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampledata1", + "name": "exampledata1", + "description": null, + "owner": null, + "entityType": "azure_sql_mi_table", + "classification": [], + "label": [], + "assetType": [ + "Azure SQL Managed Instance" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "d7b516fc-5d38-40f8-baeb-72f6f6f60000", + "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampledata2", + "name": "exampledata2", + "description": null, + "owner": null, + "entityType": "azure_sql_mi_table", + "classification": [], + "label": [], + "assetType": [ + "Azure SQL Managed Instance" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Attribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Attribute.json new file mode 100644 index 000000000000..3b8fb672cdc3 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Attribute.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "or": [ + { + "attributeName": "name", + "operator": "eq", + "attributeValue": "exampledata.csv" + }, + { + "attributeName": "createTime", + "operator": "ge", + "attributeValue": 1545580800000 + }, + { + "attributeName": "modifiedTime", + "operator": "timerange", + "attributeValue": "LAST_24H|LAST_7D|LAST_30D|LAST_365D|MORE_THAN_365D" + } + ] + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 4, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "id": "63b92968-c9ac-4af8-8cff-f61d147bbf88", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/csv/exampledata.csv", + "name": "exampledata.csv", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [ + "Example.Label" + ], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "55b2290d-e11d-4ed2-8c7a-0d8d35eb6254", + "qualifiedName": "https://examplegen2account.dfs.core.windows.net/examplepath/csv/exampledata.csv", + "name": "exampledata.csv", + "description": null, + "owner": "$superuser", + "entityType": "azure_datalake_gen2_path", + "classification": [], + "label": [ + "Example.Label" + ], + "assetType": [ + "Azure Data Lake Storage Gen2" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "55ceaddf-30ac-40f3-b656-71f6f6f60000", + "entityType": "azure_sql_mi_table", + "name": "exampleData_v1", + "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampleData_v1", + "assetType": [ + "Azure SQL Managed Instance" + ] + }, + { + "@search.score": 1.0, + "id": "89416661-5269-4f3d-ba35-e0f6f6f60000", + "entityType": "azure_sql_mi_table", + "name": "exampleData_v2", + "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampleData_v2", + "assetType": [ + "Azure SQL Managed Instance" + ] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_BusinessMetadataAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_BusinessMetadataAttribute.json new file mode 100644 index 000000000000..14fb0a700b9a --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_BusinessMetadataAttribute.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "or": [ + { + "attributeName": ".", + "operator": "eq|ne|contains|prefix", + "attributeValue": "string value" + }, + { + "attributeName": ".", + "operator": "eq|ne|gt|ge|lt|le", + "attributeValue": 123 + }, + { + "attributeName": ".", + "operator": "eq|ne", + "attributeValue": true + }, + { + "attributeName": ".", + "operator": "timerange", + "attributeValue": "LAST_24H|LAST_7D|LAST_30D|LAST_365D|MORE_THAN_365D" + } + ] + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 1, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "id": "63b92968-c9ac-4af8-8cff-f61d147bbf88", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/csv/exampledata.csv", + "name": "exampledata.csv", + "entityType": "azure_blob_path", + "objectType": "Files" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Classification.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Classification.json new file mode 100644 index 000000000000..4b810bbef616 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Classification.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "classification": "MICROSOFT.PERSONAL.EMAIL", + "includeSubClassifications": true + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 5, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "id": "b9638b91-884f-4e5e-98b5-29f6f6f60000", + "qualifiedName": "mssql://exampleserver.database.windows.net/examplesqldb/examplepath/exampledata1", + "name": "exampledata1", + "description": null, + "owner": null, + "entityType": "azure_sql_table", + "classification": [ + "MICROSOFT.PERSONAL.NAME", + "MICROSOFT.PERSONAL.EU.PHONE_NUMBER", + "MICROSOFT.PERSONAL.US.PHONE_NUMBER", + "MICROSOFT.PERSONAL.EMAIL" + ], + "label": [], + "assetType": [ + "Azure SQL Database" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "01aefb9a-61cd-4a02-a572-70f6f6f60000", + "qualifiedName": "mssql://exampleserver.database.windows.net/exampledw/examplepath/exampledata2", + "name": "exampledata2", + "description": null, + "owner": null, + "entityType": "azure_sql_dw_table", + "classification": [ + "MICROSOFT.GOVERNMENT.CITY_NAME", + "MICROSOFT.GOVERNMENT.US.STATE", + "MICROSOFT.PERSONAL.NAME", + "MICROSOFT.PERSONAL.EU.PHONE_NUMBER", + "MICROSOFT.PERSONAL.EMAIL" + ], + "label": [], + "assetType": [ + "Azure SQL Data Warehouse" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Collection.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Collection.json new file mode 100644 index 000000000000..0cf602abdb6a --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Collection.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "collectionId": "collectionName" + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 5, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "id": "b9638b91-884f-4e5e-98b5-29f6f6f60000", + "qualifiedName": "mssql://exampleserver.database.windows.net/examplesqldb/examplepath/exampledata1", + "name": "exampledata1", + "description": null, + "owner": null, + "entityType": "azure_sql_table", + "classification": [ + "MICROSOFT.PERSONAL.NAME", + "MICROSOFT.PERSONAL.EU.PHONE_NUMBER", + "MICROSOFT.PERSONAL.US.PHONE_NUMBER", + "MICROSOFT.PERSONAL.EMAIL" + ], + "label": [], + "assetType": [ + "Azure SQL Database" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "01aefb9a-61cd-4a02-a572-70f6f6f60000", + "qualifiedName": "mssql://exampleserver.database.windows.net/exampledw/examplepath/exampledata2", + "name": "exampledata2", + "description": null, + "owner": null, + "entityType": "azure_sql_dw_table", + "classification": [ + "MICROSOFT.GOVERNMENT.CITY_NAME", + "MICROSOFT.GOVERNMENT.US.STATE", + "MICROSOFT.PERSONAL.NAME", + "MICROSOFT.PERSONAL.EU.PHONE_NUMBER", + "MICROSOFT.PERSONAL.EMAIL" + ], + "label": [], + "assetType": [ + "Azure SQL Data Warehouse" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Facet.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Facet.json new file mode 100644 index 000000000000..32e4b76dc7ba --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Facet.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "filter": { + "objectType": "Tables" + }, + "limit": 10, + "facets": [ + { + "facet": "assetType", + "count": 10 + }, + { + "facet": "classification", + "count": 10 + }, + { + "facet": "term", + "count": 10 + }, + { + "facet": "label", + "count": 10 + } + ] + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "continuationToken": "eyJzZXNzaW9uSWQiOiI5ZWRiYmEzNC0wYmM0LTQxNGEtOTY2NC01OGM2ZTBkMzI3ODYiLCJvZmZzZXQiOjI1LCJyZXF1ZXN0SGFzaCI6IjZiMmFjMTlmMGExZjlmMjY2Nzc0ZDdhZDczNTE3OWJmIn0=", + "@search.count": 5156, + "@search.count.approximate": false, + "@search.facets": { + "classification": [ + { + "count": 8, + "value": "MICROSOFT.PERSONAL.NAME" + }, + { + "count": 6, + "value": "MICROSOFT.PERSONAL.EU.PHONE_NUMBER" + }, + { + "count": 5, + "value": "MICROSOFT.PERSONAL.EMAIL" + }, + { + "count": 5, + "value": "MICROSOFT.PERSONAL.US.PHONE_NUMBER" + }, + { + "count": 4, + "value": "MICROSOFT.GOVERNMENT.CITY_NAME" + }, + { + "count": 2, + "value": "MICROSOFT.GOVERNMENT.US.STATE" + } + ], + "assetType": [ + { + "count": 1476, + "value": "Azure SQL Database" + }, + { + "count": 1358, + "value": "Azure SQL Data Warehouse" + }, + { + "count": 1331, + "value": "Azure SQL Managed Instance" + }, + { + "count": 293, + "value": "Azure Data Lake Storage Gen1" + }, + { + "count": 261, + "value": "Azure Blob Storage" + }, + { + "count": 231, + "value": "Azure Data Lake Storage Gen2" + }, + { + "count": 194, + "value": "Azure Files" + }, + { + "count": 18, + "value": "Azure Cosmos DB" + } + ], + "label": [ + { + "count": 835, + "value": "Example.Label" + } + ], + "term": [ + { + "count": 1, + "value": "terma" + } + ] + }, + "value": [ + { + "@search.score": 1.0, + "id": "24c16e53-1bfd-4d6c-b4ce-b1f6f6f60000", + "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampledata", + "name": "exampledata", + "description": null, + "owner": null, + "entityType": "azure_sql_mi_table", + "classification": [], + "label": [], + "assetType": [ + "Azure SQL Managed Instance" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "d7b516fc-5d38-40f8-baeb-72f6f6f60000", + "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampledata2", + "name": "exampledata2", + "description": null, + "owner": null, + "entityType": "azure_sql_mi_table", + "classification": [], + "label": [], + "assetType": [ + "Azure SQL Managed Instance" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_FileExtension.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_FileExtension.json new file mode 100644 index 000000000000..1f51d4685620 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_FileExtension.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "and": [ + { + "fileExtension": "txt" + } + ] + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "continuationToken": "eyJzZXNzaW9uSWQiOiI5ZWRiYmEzNC0wYmM0LTQxNGEtOTY2NC01OGM2ZTBkMzI3ODYiLCJvZmZzZXQiOjI1LCJyZXF1ZXN0SGFzaCI6IjZiMmFjMTlmMGExZjlmMjY2Nzc0ZDdhZDczNTE3OWJmIn0=", + "@search.count": 49, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "id": "bfecbcc3-1838-45fe-96d6-112de8a170f9", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata.txt", + "name": "exampledata.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "14d857b9-e2c1-4118-8bfa-12e53ae6ce7f", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata.txt", + "name": "exampledata.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_GlossaryTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_GlossaryTerm.json new file mode 100644 index 000000000000..f87156de739a --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_GlossaryTerm.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": "", + "limit": 10, + "filter": { + "and": [ + { + "objectType": "Glossary terms" + }, + { + "or": [ + { + "glossaryType": "AtlasGlossary" + }, + { + "glossaryType": "AtlasGlossaryTerm" + } + ] + } + ] + }, + "facets": [ + { + "facet": "termStatus", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "termTemplate", + "count": 10, + "sort": { + "count": "desc" + } + } + ] + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 2, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "objectType": "Glossary terms", + "glossaryType": "AtlasGlossaryTerm", + "id": "b1e51cc4-9249-4c81-bbc7-e2f3117706f3", + "name": "termSample1", + "glossary": "DefaultGlossary", + "longDescription": "it is the definition of the term", + "termStatus": "Approved", + "termTemplate": [ + "termTemplateSample" + ], + "createTime": 1625819659805, + "updateTime": 1625819659805, + "qualifiedName": "termSample1@DefaultGlossary" + }, + { + "@search.score": 1.0, + "objectType": "Glossary terms", + "glossaryType": "AtlasGlossary", + "id": "b28f35e4-fcd4-43ca-91a3-daf432c87156", + "name": "DefaultGlossary", + "longDescription": "it is the definition of the glossary", + "createTime": 1625819658745, + "updateTime": 1640656877302, + "qualifiedName": "DefaultGlossary" + } + ], + "@search.facets": { + "termTemplate": [ + { + "count": 1, + "value": "termTemplateSample" + } + ], + "termStatus": [ + { + "count": 1, + "value": "Approved" + } + ] + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Id.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Id.json new file mode 100644 index 000000000000..2d8c145267f6 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Id.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "and": [ + { + "id": "bfecbcc3-1838-45fe-96d6-112de8a170f9" + } + ] + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 1, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "id": "bfecbcc3-1838-45fe-96d6-112de8a170f9", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata.txt", + "name": "exampledata.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Not.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Not.json new file mode 100644 index 000000000000..782521f0fe8e --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Not.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "not": { + "classification": "MICROSOFT.SYSTEM.TEMP_FILE" + } + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "continuationToken": "eyJzZXNzaW9uSWQiOiI5ZWRiYmEzNC0wYmM0LTQxNGEtOTY2NC01OGM2ZTBkMzI3ODYiLCJvZmZzZXQiOjI1LCJyZXF1ZXN0SGFzaCI6IjZiMmFjMTlmMGExZjlmMjY2Nzc0ZDdhZDczNTE3OWJmIn0=", + "@search.count": 5158, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "id": "11fd6e94-2dc6-4ebd-822c-caf6f6f60000", + "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/exampledb/dbo/exampledata", + "name": "exampledata", + "description": null, + "owner": null, + "entityType": "azure_sql_mi_table", + "classification": [], + "label": [], + "assetType": [ + "Azure SQL Managed Instance" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "1af82c87-798c-41a2-abab-93f6f6f60000", + "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/exampledb/dbo/exampledata2", + "name": "exampledata2", + "description": null, + "owner": null, + "entityType": "azure_sql_mi_table", + "classification": [], + "label": [], + "assetType": [ + "Azure SQL Managed Instance" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_ObjectType.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_ObjectType.json new file mode 100644 index 000000000000..c8518dbdaf4b --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_ObjectType.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "or": [ + [ + { + "objectType": "Dashboards" + }, + { + "objectType": "Data pipelines" + }, + { + "objectType": "Files" + }, + { + "objectType": "Folders" + }, + { + "objectType": "Glossary terms" + }, + { + "objectType": "Reports" + }, + { + "objectType": "Stored procedures" + }, + { + "objectType": "Tables" + } + ] + ] + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 2, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "objectType": "Tables", + "id": "24c16e53-1bfd-4d6c-b4ce-b1f6f6f60000", + "entityType": "azure_sql_mi_table", + "name": "exampledata1", + "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampledata1", + "assetType": [ + "Azure SQL Managed Instance" + ] + }, + { + "@search.score": 1.0, + "objectType": "Glossary terms", + "id": "b1e51cc4-9249-4c81-bbc7-e2f3117706f3", + "glossaryType": "AtlasGlossaryTerm", + "name": "termSample1", + "glossary": "DefaultGlossary", + "longDescription": "it is the definition of the term", + "termStatus": "Approved", + "termTemplate": [ + "termTemplateSample" + ], + "qualifiedName": "termSample1@DefaultGlossary" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_PaginationContinuationPage.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_PaginationContinuationPage.json new file mode 100644 index 000000000000..c6f87ee32f6a --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_PaginationContinuationPage.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": "exampledata", + "filter": { + "and": [ + { + "objectType": "Files" + }, + { + "entityType": "azure_blob_path" + } + ] + }, + "limit": 2, + "continuationToken": "eyJzZXNzaW9uSWQiOiI5ZWRiYmEzNC0wYmM0LTQxNGEtOTY2NC01OGM2ZTBkMzI3ODYiLCJvZmZzZXQiOjI1LCJyZXF1ZXN0SGFzaCI6IjZiMmFjMTlmMGExZjlmMjY2Nzc0ZDdhZDczNTE3OWJmIn0=", + "orderby": [ + { + "name": "ASC" + }, + { + "updateTime": "DESC" + } + ], + "facets": [ + { + "facet": "assetType", + "count": 0, + "sort": { + "count": "desc" + } + }, + { + "facet": "classification", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "contactId", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "label", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "term", + "count": 10, + "sort": { + "count": "desc" + } + } + ] + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 6, + "@search.count.approximate": false, + "continuationToken": "ZXlKelpYTnphVzl1U1dRaU9pSTVaV1JpWW1Fek5DMHdZbU0wTFRReE5HRXRPVFkyTkMwMU9HTTJaVEJrTXpJM09EWWlMQ0p2Wm1aelpYUWlPakkxTENKeVpYRjFaWE4wU0dGemFDSTZJalppTW1Gak1UbG1NR0V4WmpsbU1qWTJOemMwWkRkaFpEY3pOVEUzT1dKbUluMD0=", + "value": [ + { + "@search.score": 1.0, + "id": "bfecbcc3-1838-45fe-96d6-112de8a170f9", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata1.txt", + "name": "exampledata1.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "14d857b9-e2c1-4118-8bfa-12e53ae6ce7f", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata2.txt", + "name": "exampledata2.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_PaginationFirstPage.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_PaginationFirstPage.json new file mode 100644 index 000000000000..ace741c3bc6e --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_PaginationFirstPage.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": "exampledata", + "filter": { + "and": [ + { + "objectType": "Files" + }, + { + "entityType": "azure_blob_path" + } + ] + }, + "limit": 2, + "orderby": [ + { + "name": "ASC" + }, + { + "updateTime": "DESC" + } + ], + "facets": [ + { + "facet": "assetType", + "count": 0, + "sort": { + "count": "desc" + } + }, + { + "facet": "classification", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "contactId", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "label", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "term", + "count": 10, + "sort": { + "count": "desc" + } + } + ] + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 6, + "@search.count.approximate": false, + "continuationToken": "eyJzZXNzaW9uSWQiOiI5ZWRiYmEzNC0wYmM0LTQxNGEtOTY2NC01OGM2ZTBkMzI3ODYiLCJvZmZzZXQiOjI1LCJyZXF1ZXN0SGFzaCI6IjZiMmFjMTlmMGExZjlmMjY2Nzc0ZDdhZDczNTE3OWJmIn0=", + "value": [ + { + "@search.score": 1.0, + "id": "bfecbcc3-1838-45fe-96d6-112de8a170f9", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata1.txt", + "name": "exampledata1.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "14d857b9-e2c1-4118-8bfa-12e53ae6ce7f", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata2.txt", + "name": "exampledata2.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_PaginationLastPage.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_PaginationLastPage.json new file mode 100644 index 000000000000..12e007d40727 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_PaginationLastPage.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": "exampledata", + "filter": { + "and": [ + { + "objectType": "Files" + }, + { + "entityType": "azure_blob_path" + } + ] + }, + "limit": 2, + "continuationToken": "ZXlKelpYTnphVzl1U1dRaU9pSTVaV1JpWW1Fek5DMHdZbU0wTFRReE5HRXRPVFkyTkMwMU9HTTJaVEJrTXpJM09EWWlMQ0p2Wm1aelpYUWlPakkxTENKeVpYRjFaWE4wU0dGemFDSTZJalppTW1Gak1UbG1NR0V4WmpsbU1qWTJOemMwWkRkaFpEY3pOVEUzT1dKbUluMD0=", + "orderby": [ + { + "name": "ASC" + }, + { + "updateTime": "DESC" + } + ], + "facets": [ + { + "facet": "assetType", + "count": 0, + "sort": { + "count": "desc" + } + }, + { + "facet": "classification", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "contactId", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "label", + "count": 10, + "sort": { + "count": "desc" + } + }, + { + "facet": "term", + "count": 10, + "sort": { + "count": "desc" + } + } + ] + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 6, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "id": "bfecbcc3-1838-45fe-96d6-112de8a170f9", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata1.txt", + "name": "exampledata1.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "14d857b9-e2c1-4118-8bfa-12e53ae6ce7f", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata2.txt", + "name": "exampledata2.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_SystemTime.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_SystemTime.json new file mode 100644 index 000000000000..58364ed405da --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_SystemTime.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "or": [ + { + "createTime": { + "operator": "lt", + "timeThreshold": 1545580800000 + } + }, + { + "updateTime": "LAST_24H|LAST_7D|LAST_30D|LAST_365D|MORE_THAN_365D" + } + ] + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 2, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "id": "55ceaddf-30ac-40f3-b656-71f6f6f60000", + "entityType": "azure_sql_mi_table", + "name": "exampleData_v1", + "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampleData_v1", + "assetType": [ + "Azure SQL Managed Instance" + ] + }, + { + "@search.score": 1.0, + "id": "89416661-5269-4f3d-ba35-e0f6f6f60000", + "entityType": "azure_sql_mi_table", + "name": "exampleData_v2", + "qualifiedName": "mssql://exampleaccount.database.windows.net:3342/examplesqlmidb/dbo/exampleData_v2", + "assetType": [ + "Azure SQL Managed Instance" + ] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Taxonomy.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Taxonomy.json new file mode 100644 index 000000000000..1da5c1a60d1e --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Taxonomy.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": "exampledata", + "filter": { + "and": [ + { + "objectType": "Files" + }, + { + "not": { + "or": [ + { + "attributeName": "size", + "operator": "eq", + "attributeValue": 0 + }, + { + "attributeName": "fileSize", + "operator": "eq", + "attributeValue": 0 + } + ] + } + }, + { + "not": { + "classification": "MICROSOFT.SYSTEM.TEMP_FILE" + } + } + ] + }, + "limit": 10, + "taxonomySetting": { + "assetTypes": [ + "Azure Blob Storage" + ], + "facet": { + "count": 10, + "sort": { + "count": "desc" + } + } + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "continuationToken": "eyJzZXNzaW9uSWQiOiI5ZWRiYmEzNC0wYmM0LTQxNGEtOTY2NC01OGM2ZTBkMzI3ODYiLCJvZmZzZXQiOjI1LCJyZXF1ZXN0SGFzaCI6IjZiMmFjMTlmMGExZjlmMjY2Nzc0ZDdhZDczNTE3OWJmIn0=", + "@search.count": 339, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "id": "bfecbcc3-1838-45fe-96d6-112de8a170f9", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata1.txt", + "name": "exampledata1.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "14d857b9-e2c1-4118-8bfa-12e53ae6ce7f", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata2.txt", + "name": "exampledata2.txt", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_TermAssignment.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_TermAssignment.json new file mode 100644 index 000000000000..2cf49568a765 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_TermAssignment.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": "", + "limit": 3, + "filter": { + "or": [ + { + "term": "ExampleTerm" + }, + { + "term": "ExampleTerm", + "glossary": "GlossaryName" + }, + { + "termGuid": "" + } + ] + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "@search.count": 1, + "@search.count.approximate": false, + "value": [ + { + "@search.score": 1.0, + "id": "b20ac13a-7883-4376-b076-bac9f8f214a8", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplecontainer", + "name": "examplecontainer", + "description": null, + "owner": null, + "entityType": "azure_blob_container", + "classification": [], + "assetType": [ + "Azure Blob Storage" + ], + "term": [ + { + "name": "ExampleTerm", + "glossaryName": "Glossary" + } + ], + "contact": [], + "label": [ + "Example.Label" + ] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Type.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Type.json new file mode 100644 index 000000000000..34d73243b2ef --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Query_Type.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "searchRequest": { + "keywords": null, + "limit": 10, + "filter": { + "and": [ + { + "entityType": "azure_blob_path", + "includeSubTypes": false + } + ] + } + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "continuationToken": "eyJzZXNzaW9uSWQiOiI5ZWRiYmEzNC0wYmM0LTQxNGEtOTY2NC01OGM2ZTBkMzI3ODYiLCJvZmZzZXQiOjI1LCJyZXF1ZXN0SGFzaCI6IjZiMmFjMTlmMGExZjlmMjY2Nzc0ZDdhZDczNTE3OWJmIn0=", + "@search.count": 221, + "value": [ + { + "@search.score": 1.0, + "id": "1d797ddf-47bf-4151-8fe8-918590d62e70", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata.csv", + "name": "exampledata.csv", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [ + "Example.Label" + ], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + }, + { + "@search.score": 1.0, + "id": "d3e83b17-c730-4898-94c8-58579cda04f6", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata2.csv", + "name": "exampledata2.csv", + "description": null, + "owner": null, + "entityType": "azure_blob_path", + "classification": [], + "label": [ + "Example.Label" + ], + "assetType": [ + "Azure Blob Storage" + ], + "term": [], + "contact": [] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Suggest.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Suggest.json new file mode 100644 index 000000000000..f8c96d1b2619 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Discovery_Suggest.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "suggestRequest": { + "keywords": "exampledata", + "filter": { + "and": [ + { + "entityType": "azure_blob_path", + "includeSubTypes": false + } + ] + }, + "limit": 10 + }, + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "@search.text": "exampledata.csv", + "@search.score": 9.81402, + "description": "Example Description", + "id": "af7a01b0-1b14-4ab6-83a5-12cb11a717ed", + "name": "exampledata.csv", + "owner": "$superuser", + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplepath/exampledata.csv", + "entityType": "azure_blob_path", + "assetType": [ + "Azure Blob Storage" + ], + "classification": [ + "MICROSOFT.GOVERNMENT.US.PASSPORT_NUMBER" + ], + "contact": [ + { + "id": "8a597ffc-6993-4772-ac25-86b7251e1234", + "info": "Example Info", + "contactType": "Expert" + } + ], + "label": [ + "Example.Label" + ], + "term": [ + { + "name": "Example Term", + "glossaryName": "Glossary" + } + ] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddClassificationToEntityByGuids.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddClassificationToEntityByGuids.json new file mode 100644 index 000000000000..c955f4586918 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddClassificationToEntityByGuids.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "request": { + "classification": { + "typeName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER", + "attributes": {}, + "validityPeriods": [] + }, + "entityGuids": [ + "784c0f2f-afd2-e26b-f9cb-984f6c2c5021", + "b4ebc8be-cef4-860a-bee9-28cc34cb5caa" + ] + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddClassifications.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddClassifications.json new file mode 100644 index 000000000000..6aa11763de71 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddClassifications.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "cc0730ba-9b30-41f0-6953-559d17626d2b", + "classifications": [ + { + "typeName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER", + "entityGuid": "cc0730ba-9b30-41f0-6953-559d17626d2b" + }, + { + "typeName": "MICROSOFT.FINANCIAL.CREDIT_CARD_NUMBER", + "entityGuid": "cc0730ba-9b30-41f0-6953-559d17626d2b" + } + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddClassificationsByUniqueAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddClassificationsByUniqueAttribute.json new file mode 100644 index 000000000000..e82bbe57a2f3 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddClassificationsByUniqueAttribute.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typeName": "azure_storage_account", + "attr:qualifiedName": "https://exampleaccount.core.windows.net", + "atlasClassificationArray": [ + { + "typeName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER" + }, + { + "typeName": "MICROSOFT.FINANCIAL.CREDIT_CARD_NUMBER" + } + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddCustomAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddCustomAttribute.json new file mode 100644 index 000000000000..5fafde7ea05e --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddCustomAttribute.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "entity": { + "referredEntities": {}, + "entity": { + "typeName": "azure_storage_account", + "attributes": { + "owner": "ExampleOwner", + "modifiedTime": 0, + "createTime": 0, + "qualifiedName": "https://exampleaccount.core.windows.net", + "name": "ExampleStorageAccount", + "description": null, + "publicAccessLevel": null + }, + "customAttributes": { + "custAttr1": "attr1", + "custAttr2": "attr2" + } + } + } + }, + "responses": { + "200": { + "body": { + "mutatedEntities": { + "CREATE": [ + { + "typeName": "azure_storage_account", + "attributes": { + "owner": "ExampleOwner", + "createTime": 0, + "qualifiedName": "https://exampleaccount.core.windows.net", + "name": "ExampleStorageAccount" + }, + "lastModifiedTS": "1", + "guid": "c696b935-2c76-4208-bc0d-8864553a67f1", + "displayText": "ExampleStorageAccount", + "classificationNames": [], + "classifications": [], + "meaningNames": [], + "meanings": [], + "isIncomplete": false, + "labels": [] + } + ] + }, + "guidAssignments": { + "-16806536444330": "c696b935-2c76-4208-bc0d-8864553a67f1" + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddLabelsByUniqueAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddLabelsByUniqueAttribute.json new file mode 100644 index 000000000000..8d60d206619e --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddLabelsByUniqueAttribute.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typeName": "Asset", + "attr:qualifiedName": "https://asset1", + "body": [ + "label3" + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddOrUpdate_BusinessAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddOrUpdate_BusinessAttribute.json new file mode 100644 index 000000000000..6335668124ae --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_AddOrUpdate_BusinessAttribute.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "02c373fe-2823-4be3-97fa-55180a9faa06", + "bmName": "myBizMetaData1", + "body": { + "bizAttr1": "bizAttr1" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_BulkCreateOrUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_BulkCreateOrUpdate.json new file mode 100644 index 000000000000..779992eff9ba --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_BulkCreateOrUpdate.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "entities": { + "referredEntities": {}, + "entities": [ + { + "typeName": "azure_storage_account", + "attributes": { + "owner": "ExampleOwner", + "modifiedTime": 0, + "createTime": 0, + "qualifiedName": "exampleaccount1", + "name": "ExampleStorageAccount1", + "description": null, + "publicAccessLevel": null + }, + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Owner": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Owner Info" + } + ] + }, + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "version": 0 + }, + { + "typeName": "azure_storage_account", + "attributes": { + "owner": "ExampleOwner", + "modifiedTime": 0, + "createTime": 0, + "qualifiedName": "exampleaccount2", + "name": "ExampleStorageAccount2", + "description": "Example Description", + "publicAccessLevel": null + }, + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Owner": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Owner Info" + } + ] + }, + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "version": 0 + } + ] + } + }, + "responses": { + "200": { + "body": { + "mutatedEntities": { + "UPDATE": [ + { + "typeName": "azure_storage_account", + "attributes": { + "qualifiedName": "exampleaccount2" + }, + "lastModifiedTS": "2", + "guid": "b2f9c306-cf65-4bb0-878e-cfaafde156b1", + "status": "ACTIVE" + } + ], + "CREATE": [ + { + "typeName": "azure_storage_account", + "attributes": { + "qualifiedName": "exampleaccount1" + }, + "lastModifiedTS": "1", + "guid": "321493e3-3fb7-4b3e-9df7-3b69154174c2", + "status": "ACTIVE" + } + ] + }, + "guidAssignments": { + "-9514774903018192": "321493e3-3fb7-4b3e-9df7-3b69154174c2", + "-9514774903018193": "b2f9c306-cf65-4bb0-878e-cfaafde156b1" + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_BulkDelete.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_BulkDelete.json new file mode 100644 index 000000000000..067d745f66c1 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_BulkDelete.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": [ + "18e06957-e265-967a-07f1-e14e2ab8940f", + "cc0730ba-9b30-41f0-6953-559d17626d2b" + ] + }, + "responses": { + "200": { + "body": { + "mutatedEntities": { + "DELETE": [ + { + "typeName": "azure_blob_container", + "attributes": { + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplecontainer" + }, + "guid": "18e06957-e265-967a-07f1-e14e2ab8940f", + "status": "ACTIVE" + }, + { + "typeName": "azure_blob_container", + "attributes": { + "qualifiedName": "https://exampleaccount.blob.core.windows.net/examplecontainer2" + }, + "guid": "cc0730ba-9b30-41f0-6953-559d17626d2b", + "status": "ACTIVE" + } + ] + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_BulkSetClassifications.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_BulkSetClassifications.json new file mode 100644 index 000000000000..907bbe9c1e97 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_BulkSetClassifications.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "entityHeaders": { + "guidHeaderMap": { + "9fb74c11-ac48-4650-95bc-760665c5bd92": { + "attributes": { + "qualifiedName": "https://exampleaccount1.core.windows.net" + }, + "typeName": "azure_storage_account", + "classifications": [ + { + "typeName": "MICROSOFT.PERSONAL.EMAIL" + } + ] + }, + "7fcc43ab-55ea-45d4-9971-ce0443cb10bb": { + "attributes": { + "qualifiedName": "https://exampleaccount2.core.windows.net" + }, + "typeName": "azure_storage_account", + "classifications": [ + { + "typeName": "MICROSOFT.PERSONAL.IPADDRESS" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": [ + "Add:9fb74c11-ac48-4650-95bc-760665c5bd92:azure_storage_account:qualifiedName -> MICROSOFT.PERSONAL.EMAIL:(Done)", + "Update:7fcc43ab-55ea-45d4-9971-ce0443cb10bb:azure_storage_account:qualifiedName -> MICROSOFT.PERSONAL.IPADDRESS:(Done)" + ] + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Create.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Create.json new file mode 100644 index 000000000000..b4946962b191 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Create.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "entity": { + "referredEntities": {}, + "entity": { + "typeName": "azure_storage_account", + "attributes": { + "owner": "ExampleOwner", + "modifiedTime": 0, + "createTime": 0, + "qualifiedName": "https://exampleaccount.core.windows.net", + "name": "ExampleStorageAccount", + "description": null, + "publicAccessLevel": null + }, + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Owner": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Owner Info" + } + ] + }, + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "version": 0 + } + } + }, + "responses": { + "200": { + "body": { + "mutatedEntities": { + "CREATE": [ + { + "typeName": "azure_storage_account", + "attributes": { + "qualifiedName": "https://exampleaccount.core.windows.net" + }, + "lastModifiedTS": "1", + "guid": "38d3c41f-300c-434e-8dad-0b1a7cb5efd6", + "status": "ACTIVE" + } + ] + }, + "guidAssignments": { + "-9514774903018162": "38d3c41f-300c-434e-8dad-0b1a7cb5efd6" + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Delete.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Delete.json new file mode 100644 index 000000000000..029021e09916 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Delete.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "fd279eb4-f6c3-1b0b-ad67-e4f8abd2972f" + }, + "responses": { + "200": { + "body": { + "mutatedEntities": { + "DELETE": [ + { + "guid": "fd279eb4-f6c3-1b0b-ad67-e4f8abd2972f", + "status": "ACTIVE", + "lastModifiedTS": "2", + "attributes": { + "owner": "ExampleOwner", + "qualifiedName": "https://exampleaccount.core.windows.net", + "name": "ExampleStorageAaccount" + }, + "typeName": "azure_storage_account" + } + ] + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_DeleteByUniqueAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_DeleteByUniqueAttribute.json new file mode 100644 index 000000000000..34948b6504ab --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_DeleteByUniqueAttribute.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typeName": "azure_storage_account", + "attr:qualifiedName": "https://exampleaccount.core.windows.net" + }, + "responses": { + "200": { + "body": { + "mutatedEntities": { + "DELETE": [ + { + "classificationNames": [], + "displayText": "Example Name", + "guid": "e0ba3f20-f3b5-4d52-b769-ed35a02df60a", + "meaningNames": [], + "meanings": [], + "status": "ACTIVE", + "lastModifiedTS": "1", + "attributes": { + "owner": "ExampleOwner", + "createTime": 0, + "qualifiedName": "https://exampleaccount.core.windows.net", + "name": "ExampleName" + }, + "typeName": "azure_storage_account" + } + ] + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_DeleteWithHierarchy.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_DeleteWithHierarchy.json new file mode 100644 index 000000000000..680ba9691974 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_DeleteWithHierarchy.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": [ + "47c5449f-e077-4384-b6ec-84c11f579b55" + ], + "api-version": "2023-10-01-preview" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "https://exampleaccountname.purview.azure.com/catalog/api/entity/operations/9ea715a1-c906-4f47-87a7-52d89f8934f7?api-version=2023-10-01-preview" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Get.json new file mode 100644 index 000000000000..918d06e41adc --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Get.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "5cf8a9e5-c9fd-abe0-2e8c-d40024263dcb" + }, + "responses": { + "200": { + "body": { + "referredEntities": {}, + "entity": { + "typeName": "column", + "attributes": { + "owner": null, + "qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/DP_TFS/CBT/Extensions/DTTP.targets#:xml/Project/Target/XmlPeek/@XmlInputPath", + "name": "~XmlInputPath", + "description": null, + "type": "string" + }, + "guid": "5cf8a9e5-c9fd-abe0-2e8c-d40024263dcb", + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553072455110, + "updateTime": 1553072455110, + "version": 0, + "relationshipAttributes": { + "schema": [], + "inputToProcesses": [], + "composeSchema": { + "guid": "cc6652ae-dc6d-90c9-1899-252eabc0e929", + "typeName": "tabular_schema", + "displayText": "tabular_schema", + "relationshipGuid": "5a4510d4-57d0-467c-888f-4b61df42702b", + "relationshipStatus": "ACTIVE", + "relationshipAttributes": { + "typeName": "tabular_schema_columns" + } + }, + "meanings": [], + "outputFromProcesses": [], + "tabular_schema": null + }, + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Owner": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Owner Info" + } + ] + } + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetByUniqueAttributes.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetByUniqueAttributes.json new file mode 100644 index 000000000000..1985ed6cb10e --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetByUniqueAttributes.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typeName": "azure_storage_account", + "attr:qualifiedName": "https://exampleaccount.core.windows.net" + }, + "responses": { + "200": { + "body": { + "entity": { + "createTime": 1605703532110, + "createdBy": "8c062c84-5d25-449f-a990-9d8ab70b8ec7", + "guid": "e0ba3f20-f3b5-4d52-b769-ed35a02df60a", + "relationshipAttributes": { + "services": [], + "meanings": [] + }, + "status": "ACTIVE", + "updateTime": 1605703532110, + "updatedBy": "8c062c84-5d25-449f-a990-9d8ab70b8ec7", + "lastModifiedTS": "2", + "version": 0.0, + "attributes": { + "owner": "ExampleOwner", + "qualifiedName": "https://exampleaccount.core.windows.net", + "createTime": 0, + "name": "ExampleNewName" + }, + "typeName": "azure_storage_account" + }, + "referredEntities": {} + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetClassification.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetClassification.json new file mode 100644 index 000000000000..1d976b1e21e0 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetClassification.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "9347abc5-7b86-4b82-a1e2-ad77c7c3cac3", + "classificationName": "MICROSOFT.PERSONAL.DATE_OF_BIRTH" + }, + "responses": { + "200": { + "body": { + "typeName": "MICROSOFT.PERSONAL.DATE_OF_BIRTH", + "lastModifiedTS": "1", + "entityGuid": "9347abc5-7b86-4b82-a1e2-ad77c7c3cac3", + "entityStatus": "ACTIVE" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetClassifications.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetClassifications.json new file mode 100644 index 000000000000..8f89220119d7 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetClassifications.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "67d26de6-771d-1a2d-cb2b-dec4dbd2a9bd" + }, + "responses": { + "200": { + "body": { + "list": [ + { + "typeName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER", + "entityGuid": "67d26de6-771d-1a2d-cb2b-dec4dbd2a9bd" + } + ], + "startIndex": 0, + "pageSize": 1, + "totalCount": 1, + "sortType": "NONE" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetHeader.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetHeader.json new file mode 100644 index 000000000000..c9ae29bce60d --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetHeader.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "9fb74c11-ac48-4650-95bc-760665c5bd92" + }, + "responses": { + "200": { + "body": { + "classificationNames": [ + "MICROSOFT.PERSONAL.EMAIL" + ], + "displayText": "Example Storage Account", + "guid": "9fb74c11-ac48-4650-95bc-760665c5bd92", + "meaningNames": [], + "meanings": [], + "status": "ACTIVE", + "lastModifiedTS": "3", + "attributes": { + "owner": "ExampleOwner", + "createTime": 0, + "qualifiedName": "https://exampleaccount.core.windows.net", + "name": "ExampleStorageAccount" + }, + "typeName": "azure_storage_account" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetOperationForDeleteWithHierarchy.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetOperationForDeleteWithHierarchy.json new file mode 100644 index 000000000000..f3363a5910ca --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetOperationForDeleteWithHierarchy.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "operationId": "3ffca165-75a7-4987-ba71-cfc0a273d6b7", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "3ffca165-75a7-4987-ba71-cfc0a273d6b7", + "status": "Succeeded", + "createTime": "2022-11-15T02:44:04.769+0000", + "lastUpdateTime": "2022-11-15T02:44:17.628+0000", + "properties": { + "entitiesToDeleteHierarchy": "[{\"guid\":\"47c5449f-e077-4384-b6ec-84c11f579b55\",\"qualifiedName\":\"https://dlmsfnex2210prprod.core.windows.net\",\"typeName\":\"azure_storage_account\",\"path\":\"/azure_storage_account#dlmsfnex2210prprod.core.windows.net\"}]", + "jobId": "34582c53-95e5-44eb-861b-d848bdea48a6", + "catalogId": "e394bb1b-d188-430b-80be-58163b284943" + }, + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetSampleBusinessMetadataTemplate.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetSampleBusinessMetadataTemplate.json new file mode 100644 index 000000000000..b25d5b0cc239 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_GetSampleBusinessMetadataTemplate.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}" + }, + "responses": { + "200": { + "body": "EntityType,EntityUniqueAttributeValue,BusinessAttributeName,BusinessAttributeValue,EntityUniqueAttributeName[optional]" + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_ImportBusinessMetadata.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_ImportBusinessMetadata.json new file mode 100644 index 000000000000..37325e736386 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_ImportBusinessMetadata.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "file": "examplefile.csv" + }, + "responses": { + "200": { + "body": { + "successImportInfoList": [ + { + "parentObjectName": "24a77100-1b3a-4c37-884e-7d4f591f5a64", + "childObjectName": "{myBizType1={bizAttr1=Awesome Attribute 1}}", + "importStatus": "SUCCESS", + "remarks": "" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Label.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Label.json new file mode 100644 index 000000000000..62668d54234d --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Label.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "02c373fe-2823-4be3-97fa-55180a9faa06", + "body": [ + "label1", + "label2" + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_ListByGuids.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_ListByGuids.json new file mode 100644 index 000000000000..8d8754364eed --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_ListByGuids.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": [ + "784c0f2f-afd2-e26b-f9cb-984f6c2c5021", + "b4ebc8be-cef4-860a-bee9-28cc34cb5caa" + ] + }, + "responses": { + "200": { + "body": { + "referredEntities": {}, + "entities": [ + { + "typeName": "column", + "attributes": { + "owner": null, + "qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/DP_TFS/CBT/Extensions/DTTP.targets#:xml/Project/PropertyGroup/ExampleName1", + "name": "ExampleName1", + "description": null, + "type": "string" + }, + "guid": "784c0f2f-afd2-e26b-f9cb-984f6c2c5021", + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553072455110, + "updateTime": 1553072455110, + "version": 0, + "relationshipAttributes": { + "schema": [], + "inputToProcesses": [], + "composeSchema": { + "guid": "cc6652ae-dc6d-90c9-1899-252eabc0e929", + "typeName": "tabular_schema", + "displayText": "tabular_schema", + "relationshipGuid": "400fd8e4-97bd-45eb-a21c-880b4094ce5b", + "relationshipStatus": "ACTIVE", + "relationshipAttributes": { + "typeName": "tabular_schema_columns" + } + }, + "meanings": [], + "outputFromProcesses": [], + "tabular_schema": null + }, + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Owner": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Owner Info" + } + ] + } + }, + { + "typeName": "column", + "attributes": { + "owner": null, + "qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/Experience/CBT/Extensions/CodeAnalysis.targets#:xml/Project/PropertyGroup/ExampleName2", + "name": "ExampleName2", + "description": null, + "type": "string" + }, + "guid": "b4ebc8be-cef4-860a-bee9-28cc34cb5caa", + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553072455110, + "updateTime": 1553072455110, + "version": 0, + "relationshipAttributes": { + "schema": [], + "inputToProcesses": [], + "composeSchema": { + "guid": "381dd3e6-dad5-7409-c21d-ea55b666e420", + "typeName": "tabular_schema", + "displayText": "tabular_schema", + "relationshipGuid": "0b652860-ab79-48cd-a0cf-0867fbba31a3", + "relationshipStatus": "ACTIVE", + "relationshipAttributes": { + "typeName": "tabular_schema_columns" + } + }, + "meanings": [], + "outputFromProcesses": [], + "tabular_schema": null + }, + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Owner": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Owner Info" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_ListByUniqueAttributes.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_ListByUniqueAttributes.json new file mode 100644 index 000000000000..16c42a58932e --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_ListByUniqueAttributes.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typeName": "azure_storage_account", + "attr_N:qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/DP_TFS/CBT/Extensions/DTTP.targets#:xml/Project/PropertyGroup/ExampleName1" + }, + "responses": { + "200": { + "body": { + "referredEntities": {}, + "entities": [ + { + "typeName": "column", + "attributes": { + "owner": null, + "qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/DP_TFS/CBT/Extensions/DTTP.targets#:xml/Project/PropertyGroup/ExampleName1", + "name": "ExampleName1", + "description": null, + "type": "string" + }, + "guid": "784c0f2f-afd2-e26b-f9cb-984f6c2c5021", + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553072455110, + "updateTime": 1553072455110, + "version": 0, + "relationshipAttributes": { + "schema": [], + "inputToProcesses": [], + "composeSchema": { + "guid": "cc6652ae-dc6d-90c9-1899-252eabc0e929", + "typeName": "tabular_schema", + "displayText": "tabular_schema", + "relationshipGuid": "400fd8e4-97bd-45eb-a21c-880b4094ce5b", + "relationshipStatus": "ACTIVE", + "relationshipAttributes": { + "typeName": "tabular_schema_columns" + } + }, + "meanings": [], + "outputFromProcesses": [], + "tabular_schema": null + } + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_MoveEntitiesToCollection.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_MoveEntitiesToCollection.json new file mode 100644 index 000000000000..c1e42199d3f1 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_MoveEntitiesToCollection.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "collectionId": "ExampleNewCollection", + "api-version": "2023-10-01-preview", + "moveEntitiesRequest": { + "entityGuids": [ + "321493e3-3fb7-4b3e-9df7-3b69154174c2", + "b2f9c306-cf65-4bb0-878e-cfaafde156b1" + ] + } + }, + "responses": { + "200": { + "body": { + "mutatedEntities": { + "UPDATE": [ + { + "typeName": "azure_storage_account", + "attributes": { + "qualifiedName": "exampleaccount" + }, + "lastModifiedTS": "3", + "guid": "b2f9c306-cf65-4bb0-878e-cfaafde156b1", + "status": "ACTIVE" + }, + { + "typeName": "azure_storage_account", + "attributes": { + "qualifiedName": "exampleaccount2" + }, + "lastModifiedTS": "2", + "guid": "321493e3-3fb7-4b3e-9df7-3b69154174c2", + "status": "ACTIVE" + } + ] + }, + "guidAssignments": { + "-9514774903018192": "321493e3-3fb7-4b3e-9df7-3b69154174c2", + "-9514774903018193": "b2f9c306-cf65-4bb0-878e-cfaafde156b1" + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_PartialUpdateAttributeByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_PartialUpdateAttributeByGuid.json new file mode 100644 index 000000000000..343a0b2ecb25 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_PartialUpdateAttributeByGuid.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "394d9a03-912e-483b-bbd2-bedee1a69798", + "name": "ExampleName", + "body": "ExampleNewName" + }, + "responses": { + "200": { + "body": { + "mutatedEntities": { + "CREATE": [ + { + "typeName": "azure_storage_account", + "attributes": { + "qualifiedName": "https://exampleaccount.core.windows.net" + }, + "lastModifiedTS": "1", + "guid": "394d9a03-912e-483b-bbd2-bedee1a69798", + "status": "ACTIVE" + } + ] + }, + "partialUpdatedEntities": [ + { + "typeName": "azure_storage_account", + "attributes": { + "qualifiedName": "https://exampleaccount.core.windows.net" + }, + "lastModifiedTS": "1", + "guid": "394d9a03-912e-483b-bbd2-bedee1a69798" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_PartialUpdateByUniqueAttributes.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_PartialUpdateByUniqueAttributes.json new file mode 100644 index 000000000000..9325c3fa7345 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_PartialUpdateByUniqueAttributes.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typeName": "azure_storage_account", + "attr:qualifiedName": "https://exampleaccount.core.windows.net", + "atlasEntityWithExtInfo": { + "entity": { + "createTime": 1.605766397985e12, + "createdBy": "8c062c84-5d25-449f-a990-9d8ab70b8ec7", + "guid": "dc507ccf-0c57-4165-9327-f37b0d13fda0", + "relationshipAttributes": { + "services": [], + "meanings": [] + }, + "status": "ACTIVE", + "updateTime": 1.605766397985e12, + "updatedBy": "8c062c84-5d25-449f-a990-9d8ab70b8ec7", + "lastModifiedTS": "1", + "version": 0.0, + "attributes": { + "owner": "ExampleOwner", + "qualifiedName": "https://exampleaccount.core.windows.net", + "createTime": 0, + "name": "ExampleNewName" + }, + "typeName": "azure_storage_account" + }, + "referredEntities": {} + } + }, + "responses": { + "200": { + "body": { + "guidAssignments": {}, + "mutatedEntities": { + "PARTIAL_UPDATE": [ + { + "guid": "dc507ccf-0c57-4165-9327-f37b0d13fda0", + "lastModifiedTS": "2", + "attributes": { + "qualifiedName": "https://exampleaccount.core.windows.net" + }, + "typeName": "azure_storage_account" + } + ] + }, + "partialUpdatedEntities": [ + { + "guid": "dc507ccf-0c57-4165-9327-f37b0d13fda0", + "lastModifiedTS": "2", + "attributes": { + "qualifiedName": "https://exampleaccount.core.windows.net" + }, + "typeName": "azure_storage_account" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveBusinessAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveBusinessAttribute.json new file mode 100644 index 000000000000..6335668124ae --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveBusinessAttribute.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "02c373fe-2823-4be3-97fa-55180a9faa06", + "bmName": "myBizMetaData1", + "body": { + "bizAttr1": "bizAttr1" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveBusinessMetadata.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveBusinessMetadata.json new file mode 100644 index 000000000000..9292ad587d04 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveBusinessMetadata.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "02c373fe-2823-4be3-97fa-55180a9faa06", + "body": { + "myBizMetadata1": { + "bizAttr1": "myBizMetaData1.bizAttr1" + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveClassification.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveClassification.json new file mode 100644 index 000000000000..0967940bc811 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveClassification.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "cc0730ba-9b30-41f0-6953-559d17626d2b", + "classificationName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER" + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveClassificationByUniqueAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveClassificationByUniqueAttribute.json new file mode 100644 index 000000000000..4d2cc9927070 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveClassificationByUniqueAttribute.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typeName": "column", + "classificationName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER", + "attr:qualifiedName": "https://exampleaccount.blob.core.windows.net/examplecontainer/exampledata.csv" + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveLabelsByUniqueAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveLabelsByUniqueAttribute.json new file mode 100644 index 000000000000..8479ed0cfe43 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_RemoveLabelsByUniqueAttribute.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typeName": "Asset", + "attr:qualifiedName": "https://asset1", + "body": [ + "label1" + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_SetLabelsByUniqueAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_SetLabelsByUniqueAttribute.json new file mode 100644 index 000000000000..b2132f45f70b --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_SetLabelsByUniqueAttribute.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typeName": "Asset", + "attr:qualifiedName": "https://asset1", + "body": [ + "label1", + "label2" + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Update.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Update.json new file mode 100644 index 000000000000..56799529f337 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_Update.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "entity": { + "referredEntities": {}, + "entity": { + "typeName": "azure_storage_account", + "attributes": { + "owner": "ExampleOwner", + "modifiedTime": 0, + "createTime": 0, + "qualifiedName": "exampleaccount", + "name": "ExampleStorageAccount", + "description": null, + "publicAccessLevel": null + }, + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Owner": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Owner Info" + } + ] + }, + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "version": 0 + } + } + }, + "responses": { + "200": { + "body": { + "mutatedEntities": { + "UPDATE": [ + { + "typeName": "azure_storage_account", + "attributes": { + "qualifiedName": "exampleaccount" + }, + "lastModifiedTS": "2", + "guid": "029d5668-a36c-40a9-bc11-6f352bafdc3b" + } + ] + }, + "guidAssignments": { + "-9514774903018167": "029d5668-a36c-40a9-bc11-6f352bafdc3b" + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_UpdateClassifications.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_UpdateClassifications.json new file mode 100644 index 000000000000..d558a272e7ea --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_UpdateClassifications.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "45dd4404-e897-b7e2-ca3c-f6e6b11b4f24", + "classifications": [ + { + "typeName": "MICROSOFT.FINANCIAL.CREDIT_CARD_NUMBER", + "entityGuid": "45dd4404-e897-b7e2-ca3c-f6e6b11b4f24" + }, + { + "typeName": "MICROSOFT.FINANCIAL.US_BANK_ACCOUNT_NUMBER", + "entityGuid": "45dd4404-e897-b7e2-ca3c-f6e6b11b4f24" + } + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_UpdateClassificationsByUniqueAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_UpdateClassificationsByUniqueAttribute.json new file mode 100644 index 000000000000..e82bbe57a2f3 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Entity_UpdateClassificationsByUniqueAttribute.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typeName": "azure_storage_account", + "attr:qualifiedName": "https://exampleaccount.core.windows.net", + "atlasClassificationArray": [ + { + "typeName": "MICROSOFT.FINANCIAL.US.ABA_ROUTING_NUMBER" + }, + { + "typeName": "MICROSOFT.FINANCIAL.CREDIT_CARD_NUMBER" + } + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_AssignTermToEntities.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_AssignTermToEntities.json new file mode 100644 index 000000000000..5ff085189499 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_AssignTermToEntities.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "termGuid": "8a7f65ec-6429-0b9b-3734-ec57bf1e34c2", + "relatedObjectIds": [ + { + "guid": "ab9f1920-0b94-436d-aeb4-11a32c270fc0", + "relationshipAttributes": { + "attributes": { + "expression": "Example Expression", + "confidence": 100, + "description": "Example Description", + "source": "ExampleSource" + } + } + } + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_Create.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_Create.json new file mode 100644 index 000000000000..a1ec9e6bee07 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_Create.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "atlasGlossary": { + "name": "Glossary", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "language": "en", + "usage": "Example Glossary" + } + }, + "responses": { + "200": { + "body": { + "guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "qualifiedName": "Glossary", + "name": "Glossary", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "lastModifiedTS": "1", + "language": "en", + "usage": "Example Glossary", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1672892675688, + "updateTime": 1672892675688 + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateCategories.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateCategories.json new file mode 100644 index 000000000000..17a515af1f09 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateCategories.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryCategory": [ + { + "name": "ExampleCategory2", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" + } + }, + { + "name": "ExampleCategory3", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" + } + } + ] + }, + "responses": { + "200": { + "body": [ + { + "guid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "qualifiedName": "ExampleCategory2@Glossary", + "name": "ExampleCategory2", + "lastModifiedTS": "1", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d" + } + }, + { + "guid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "qualifiedName": "ExampleCategory3@Glossary", + "name": "ExampleCategory3", + "lastModifiedTS": "1", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2" + } + } + ] + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateCategory.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateCategory.json new file mode 100644 index 000000000000..7f31caaea342 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateCategory.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryCategory": { + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" + }, + "name": "ExampleCategory1", + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea" + } + ] + } + }, + "responses": { + "200": { + "body": { + "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "qualifiedName": "ExampleCategory1@Glossary", + "name": "ExampleCategory1", + "lastModifiedTS": "1", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" + }, + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", + "displayText": "ExampleTerm1" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateTerm.json new file mode 100644 index 000000000000..efd7d2d547b2 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateTerm.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryTerm": { + "name": "ExampleTerm1", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "abbreviation": "T1", + "status": "Approved", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" + }, + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ], + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Steward": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Steward info" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "qualifiedName": "ExampleTerm1@Glossary", + "name": "ExampleTerm1", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "abbreviation": "T1", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" + }, + "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "createTime": 1606287247276, + "updateTime": 1606287247276, + "status": "Approved", + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ], + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Steward": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Steward Info" + } + ] + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateTermWithTemplate.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateTermWithTemplate.json new file mode 100644 index 000000000000..c9b7795a1b04 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateTermWithTemplate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryTerm": { + "name": "ExampleTerm", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" + }, + "attributes": { + "ExampleTermTemplateAttribute": { + "plain string": "Example String", + "date": 1606233600000, + "single choice": "Example Single Choice A", + "multi choice": [ + "Example Multi Choice A", + "Example Multi Choice B" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "guid": "9390cc82-1077-403e-a4d2-b6a69834707b", + "qualifiedName": "ExampleTerm@Glossary", + "name": "ExampleTerm", + "lastModifiedTS": "1", + "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "createTime": 1606287247276, + "updateTime": 1606287247276, + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" + }, + "attributes": { + "ExampleTermTemplateAttribute": { + "plain string": "Example String", + "date": 1606233600000, + "single choice": "Example Single Choice A", + "multi choice": [ + "Example Multi Choice A", + "Example Multi Choice B" + ] + } + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateTerms.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateTerms.json new file mode 100644 index 000000000000..ddd48b3a0782 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_CreateTerms.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryTerm": [ + { + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" + }, + "name": "ExampleTerm2", + "status": "Approved", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "abbreviation": "T2", + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ] + }, + { + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" + }, + "name": "ExampleTerm3", + "status": "Approved", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "abbreviation": "T3", + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ] + } + ] + }, + "responses": { + "200": { + "body": [ + { + "guid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "qualifiedName": "ExampleTerm2@Glossary", + "name": "ExampleTerm2", + "shortDescription": "Example Short Description", + "lastModifiedTS": "1", + "abbreviation": "T2", + "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "createTime": 1606287312495, + "updateTime": 1606287312495, + "status": "Approved", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189" + }, + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ] + }, + { + "guid": "821beef0-ced9-47ba-8f7f-c4f3459f4d18", + "qualifiedName": "ExampleTerm3@Glossary", + "name": "ExampleTerm3", + "shortDescription": "Example Short Description", + "lastModifiedTS": "1", + "abbreviation": "T3", + "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "createTime": 1606287312495, + "updateTime": 1606287312495, + "status": "Approved", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "f4de4878-3e43-4f8b-b090-07a233bb0ce6" + }, + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ] + } + ] + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_Delete.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_Delete.json new file mode 100644 index 000000000000..70b4059decdd --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_Delete.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryGuid": "c0c54153-13d1-1608-13af-43457cdffe75" + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_DeleteCategory.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_DeleteCategory.json new file mode 100644 index 000000000000..678b949d55e5 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_DeleteCategory.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "categoryGuid": "0e391355-252a-e5f3-ac18-5a3602df7616" + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_DeleteTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_DeleteTerm.json new file mode 100644 index 000000000000..32fd415f64d5 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_DeleteTerm.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "termGuid": "b0942506-2d7d-1f45-d286-c29ca9e7f2ef" + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_Get.json new file mode 100644 index 000000000000..1eb2a13b1f0b --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryGuid": "47029611-67a1-42d5-8766-90eb904f7f22" + }, + "responses": { + "200": { + "body": { + "guid": "47029611-67a1-42d5-8766-90eb904f7f22", + "qualifiedName": "Glossary", + "name": "Glossary", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "lastModifiedTS": "1", + "language": "en", + "usage": "Example Glossary", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1672892675688, + "updateTime": 1672892675688, + "terms": [ + { + "termGuid": "29d88363-9677-4ce6-aeee-5fdf45f84e9b", + "relationGuid": "fb3d4ac4-27e0-45a2-bb13-105214e0ef7e", + "displayText": "ExampleTerm3" + }, + { + "termGuid": "e5136a91-bc02-49da-81f4-f075bd54b8f5", + "relationGuid": "741186cd-1d62-4798-8e58-6cbe35105baa", + "displayText": "ExampleTerm1" + }, + { + "termGuid": "68347d87-ae38-43b4-a62c-0fdc25b54cb1", + "relationGuid": "2f2b1fe6-d2b6-4aef-81cd-bea7a510312e", + "displayText": "ExampleTerm2" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_GetCategory.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_GetCategory.json new file mode 100644 index 000000000000..2329430d0e4d --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_GetCategory.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12" + }, + "responses": { + "200": { + "body": { + "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "qualifiedName": "ExampleCategory1.ExampleCategory2@Glossary", + "name": "ExampleCategory1", + "lastModifiedTS": "2", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" + }, + "parentCategory": { + "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" + }, + "childrenCategories": [ + { + "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f", + "displayText": "ExampleCategory3" + } + ], + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", + "displayText": "ExampleTerm1" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_GetDetailed.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_GetDetailed.json new file mode 100644 index 000000000000..f5aea38d5f1d --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_GetDetailed.json @@ -0,0 +1,229 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8" + }, + "responses": { + "200": { + "body": { + "guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "qualifiedName": "Glossary", + "name": "Glossary", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "language": "en", + "usage": "Example Glossary", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1672892675688, + "updateTime": 1672892675688, + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0", + "displayText": "ExampleTerm1" + }, + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189", + "displayText": "ExampleTerm2" + } + ], + "categories": [ + { + "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2" + }, + { + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" + }, + { + "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d" + } + ], + "termInfo": { + "54688d39-b298-4104-9e80-f2a16f44aaea": { + "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "qualifiedName": "ExampleTerm1@Glossary", + "name": "ExampleTerm1", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "lastModifiedTS": "2", + "abbreviation": "T1", + "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "createTime": 1606287247276, + "updateTime": 1606290587593, + "status": "Approved", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" + }, + "assignedEntities": [ + { + "guid": "ab9f1920-0b94-436d-aeb4-11a32c270fc0", + "typeName": "hdfs_path", + "entityStatus": "ACTIVE", + "displayText": "1", + "relationshipType": "AtlasGlossarySemanticAssignment", + "relationshipGuid": "cf2e959c-05e6-4a9f-b106-b6475741c2ba", + "relationshipStatus": "ACTIVE", + "relationshipAttributes": { + "typeName": "AtlasGlossarySemanticAssignment", + "attributes": { + "expression": "Example Expression", + "createdBy": "ExampleCreator", + "steward": "ExampleSteward", + "confidence": 100, + "description": "Example Description", + "source": "Azure", + "status": null + } + } + } + ], + "categories": [ + { + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007" + } + ], + "seeAlso": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", + "displayText": "ExampleTerm2" + } + ], + "synonyms": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", + "displayText": "ExampleTerm2" + } + ], + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Steward": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Steward Info" + } + ] + }, + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ] + }, + "952c7ba4-4c89-42d8-a05a-7d2161be7008": { + "guid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "qualifiedName": "ExampleTerm2@Glossary", + "name": "ExampleTerm2", + "shortDescription": "Example Short Description", + "lastModifiedTS": "1", + "abbreviation": "T2", + "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "createTime": 1606287312495, + "updateTime": 1606287312495, + "status": "Approved", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189" + }, + "seeAlso": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", + "displayText": "ExampleTerm1" + } + ], + "synonyms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", + "displayText": "ExampleTerm1" + } + ], + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ] + } + }, + "categoryInfo": { + "ed7458f0-9463-48a5-b5c6-4f785fb34e12": { + "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "qualifiedName": "ExampleCategory1.ExampleCategory2@Glossary", + "name": "ExampleCategory1", + "longDescription": "Example Long Description", + "lastModifiedTS": "3", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" + }, + "parentCategory": { + "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" + }, + "childrenCategories": [ + { + "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f" + } + ], + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", + "displayText": "ExampleTerm1" + } + ] + }, + "e47c4584-daca-4f9e-9092-194e04692c9a": { + "guid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "qualifiedName": "ExampleCategory2@Glossary", + "name": "ExampleCategory2", + "lastModifiedTS": "1", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d" + }, + "childrenCategories": [ + { + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" + } + ] + }, + "0d6766f6-f4b6-435b-bda2-d3edc358998e": { + "guid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "qualifiedName": "ExampleCategory3.ExampleCategory1.ExampleCategory2@Glossary", + "name": "ExampleCategory3", + "lastModifiedTS": "2", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2" + }, + "parentCategory": { + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f" + } + } + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_GetTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_GetTerm.json new file mode 100644 index 000000000000..d1bf7157bbed --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_GetTerm.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea" + }, + "responses": { + "200": { + "body": { + "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "qualifiedName": "ExampleTerm1@Glossary", + "name": "ExampleTerm1", + "shortDescription": "Example Short Description", + "lastModifiedTS": "1", + "abbreviation": "T1", + "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "createTime": 1606287247276, + "updateTime": 1606287247276, + "status": "Approved", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" + }, + "seeAlso": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", + "displayText": "ExampleTerm2" + } + ], + "synonyms": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", + "displayText": "ExampleTerm2" + } + ], + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Steward": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Steward Info" + } + ] + }, + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ], + "assignedEntities": [ + { + "guid": "7e255139-b654-4c8d-a4bd-fbb5a243e83f", + "typeName": "azure_datalake_gen2_path", + "entityStatus": "ACTIVE", + "displayText": "moviesDB.csv", + "relationshipType": "AtlasGlossarySemanticAssignment", + "relationshipGuid": "ace36560-6259-4e7f-9214-3850b2af0a86", + "relationshipStatus": "ACTIVE", + "relationshipAttributes": { + "typeName": "AtlasGlossarySemanticAssignment", + "attributes": { + "expression": null, + "createdBy": null, + "steward": null, + "confidence": null, + "description": null, + "source": null, + "status": null + } + } + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_GetTermWithoutAssets.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_GetTermWithoutAssets.json new file mode 100644 index 000000000000..c0dcc7655580 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_GetTermWithoutAssets.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "excludeRelationshipTypes": [ + "AtlasGlossarySemanticAssignment" + ] + }, + "responses": { + "200": { + "body": { + "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "qualifiedName": "ExampleTerm1@Glossary", + "name": "ExampleTerm1", + "shortDescription": "Example Short Description", + "lastModifiedTS": "1", + "abbreviation": "T1", + "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "createTime": 1606287247276, + "updateTime": 1606287247276, + "status": "Approved", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" + }, + "seeAlso": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", + "displayText": "ExampleTerm2" + } + ], + "synonyms": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", + "displayText": "ExampleTerm2" + } + ], + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Steward": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Steward Info" + } + ] + }, + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_List.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_List.json new file mode 100644 index 000000000000..f8bc74ada7f4 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_List.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "limit": "1", + "offset": "0", + "sort": "ASC" + }, + "responses": { + "200": { + "body": [ + { + "guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "qualifiedName": "Glossary", + "name": "Glossary", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "lastModifiedTS": "1", + "language": "en", + "usage": "Example Glossary", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1672892675688, + "updateTime": 1672892675688, + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0", + "displayText": "ExampleTerm1" + }, + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189", + "displayText": "ExampleTerm2" + } + ], + "categories": [ + { + "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2", + "displayText": "ExampleCategory3" + }, + { + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "parentCategoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0", + "displayText": "ExampleCategory1" + }, + { + "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d", + "displayText": "ExampleCategory2" + } + ] + } + ] + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListCategories.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListCategories.json new file mode 100644 index 000000000000..aabcc66dc2d0 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListCategories.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "limit": "-1", + "offset": "0", + "sort": "ASC" + }, + "responses": { + "200": { + "body": [ + { + "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "qualifiedName": "ExampleCategory1.ExampleCategory2@Glossary", + "name": "ExampleCategory1", + "lastModifiedTS": "2", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" + }, + "parentCategory": { + "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" + }, + "childrenCategories": [ + { + "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f" + } + ], + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", + "displayText": "ExampleTerm1" + } + ] + }, + { + "guid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "qualifiedName": "ExampleCategory2@Glossary", + "name": "ExampleCategory2", + "lastModifiedTS": "1", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d" + }, + "childrenCategories": [ + { + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" + } + ] + }, + { + "guid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "qualifiedName": "ExampleCategory3.ExampleCategory1.ExampleCategory2@Glossary", + "name": "ExampleCategory3", + "lastModifiedTS": "2", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2" + }, + "parentCategory": { + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f" + } + } + ] + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListCategoriesHeaders.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListCategoriesHeaders.json new file mode 100644 index 000000000000..277c967f7f0b --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListCategoriesHeaders.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "limit": "-1", + "offset": "0", + "sort": "ASC" + }, + "responses": { + "200": { + "body": [ + { + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "parentCategoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0", + "displayText": "ExampleCategory1" + }, + { + "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d", + "displayText": "ExampleCategory2" + }, + { + "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2", + "displayText": "ExampleCategory3" + } + ] + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListCategoryTerms.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListCategoryTerms.json new file mode 100644 index 000000000000..7fe35d8dd8f2 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListCategoryTerms.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "limit": "-1", + "offset": "0", + "sort": "ASC" + }, + "responses": { + "200": { + "body": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", + "displayText": "ExampleTerm1" + } + ] + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListEntitiesAssignedWithTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListEntitiesAssignedWithTerm.json new file mode 100644 index 000000000000..ebfed3c2de40 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListEntitiesAssignedWithTerm.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "termGuid": "daf0ba4d-bc9a-4536-8a88-4b58e39dd3d4", + "limit": "-1", + "offset": "0", + "sort": "ASC" + }, + "responses": { + "200": { + "body": [ + { + "guid": "ea116881-222e-41c8-8acb-9af6f6f60009", + "typeName": "column", + "entityStatus": "ACTIVE", + "displayText": "ExampleColumnName", + "relationshipType": "AtlasGlossarySemanticAssignment", + "relationshipGuid": "ff9023a5-8495-49d6-bf04-a22c3634151e", + "relationshipStatus": "ACTIVE", + "relationshipAttributes": { + "typeName": "AtlasGlossarySemanticAssignment", + "attributes": { + "expression": null, + "createdBy": null, + "steward": null, + "confidence": null, + "description": null, + "source": null, + "status": null + } + } + }, + { + "guid": "fbf0a84d-7080-456b-b889-b5ba42186c2e", + "typeName": "azure_blob_path", + "entityStatus": "ACTIVE", + "displayText": "exampledata.csv", + "relationshipType": "AtlasGlossarySemanticAssignment", + "relationshipGuid": "dedc1294-a893-4e52-ba27-6be9b8694748", + "relationshipStatus": "ACTIVE", + "relationshipAttributes": { + "typeName": "AtlasGlossarySemanticAssignment", + "attributes": { + "expression": null, + "createdBy": null, + "steward": null, + "confidence": null, + "description": null, + "source": null, + "status": null + } + } + } + ] + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListRelatedCategories.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListRelatedCategories.json new file mode 100644 index 000000000000..7523745867a5 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListRelatedCategories.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "limit": "-1", + "offset": "0", + "sort": "ASC" + }, + "responses": { + "200": { + "body": { + "parent": [ + { + "categoryGuid": "6c8233cd-f6dc-6ef7-5597-b18ab590f2fc", + "relationGuid": "25cf5e46-c551-4ed4-8919-505c29ae311d" + } + ], + "children": [ + { + "categoryGuid": "abc6ac1b-5700-9c70-3f5a-60a519150035", + "parentCategoryGuid": "3243ea0a-9492-47e1-392e-a84e64980af9", + "relationGuid": "12d41563-2fd9-4be5-9eb9-9908f811a8f2", + "displayText": "ExampleCategory4" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListRelatedTerms.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListRelatedTerms.json new file mode 100644 index 000000000000..ca90bb6d08d7 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListRelatedTerms.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "limit": "-1", + "offset": "0", + "sort": "ASC" + }, + "responses": { + "200": { + "body": { + "seeAlso": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", + "displayText": "ExampleTerm2" + } + ], + "synonyms": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", + "displayText": "ExampleTerm2" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListTermHeaders.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListTermHeaders.json new file mode 100644 index 000000000000..1375aa567f2b --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListTermHeaders.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "limit": "-1", + "offset": "0", + "sort": "ASC" + }, + "responses": { + "200": { + "body": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0", + "displayText": "ExampleTerm1" + }, + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189", + "displayText": "ExampleTerm2" + } + ] + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListTerms.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListTerms.json new file mode 100644 index 000000000000..214bbd4c4f76 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_ListTerms.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "limit": "-1", + "offset": "0", + "sort": "ASC" + }, + "responses": { + "200": { + "body": [ + { + "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "qualifiedName": "ExampleTerm1@Glossary", + "name": "ExampleTerm1", + "shortDescription": "Example Short Description", + "lastModifiedTS": "1", + "abbreviation": "T1", + "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "createTime": 1606287247276, + "updateTime": 1606287247276, + "status": "Approved", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" + }, + "seeAlso": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", + "displayText": "ExampleTerm2" + } + ], + "synonyms": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", + "displayText": "ExampleTerm2" + } + ], + "contacts": { + "Expert": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Expert Info" + } + ], + "Steward": [ + { + "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df", + "info": "Example Steward Info" + } + ] + }, + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ] + }, + { + "guid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "qualifiedName": "ExampleTerm2@Glossary", + "name": "ExampleTerm2", + "shortDescription": "Example Short Description", + "lastModifiedTS": "1", + "abbreviation": "T2", + "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "createTime": 1606287312495, + "updateTime": 1606287312495, + "status": "Approved", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189" + }, + "seeAlso": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", + "displayText": "ExampleTerm1" + } + ], + "synonyms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", + "displayText": "ExampleTerm1" + } + ], + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ] + } + ] + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_PartialUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_PartialUpdate.json new file mode 100644 index 000000000000..4df90166a6b6 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_PartialUpdate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "partialUpdates": { + "longDescription": "Example Long Description" + } + }, + "responses": { + "200": { + "body": { + "guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "qualifiedName": "Glossary", + "name": "Glossary", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "lastModifiedTS": "3", + "language": "en", + "usage": "Example Glossary", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1672892675600, + "updateTime": 1672892675688, + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0", + "displayText": "ExampleTerm1" + }, + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189", + "displayText": "ExampleTerm2" + } + ], + "categories": [ + { + "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2", + "displayText": "ExampleCategory3" + }, + { + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "parentCategoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0", + "displayText": "ExampleCategory1" + }, + { + "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d", + "displayText": "ExampleCategory2" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_PartialUpdateCategory.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_PartialUpdateCategory.json new file mode 100644 index 000000000000..11516593b6bd --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_PartialUpdateCategory.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "categoryGuid": "3243ea0a-9492-47e1-392e-a84e64980af9", + "partialUpdates": { + "longDescription": "Example Long Description" + } + }, + "responses": { + "200": { + "body": { + "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "qualifiedName": "ExampleCategory1.ExampleCategory2@Glossary", + "name": "ExampleCategory1", + "longDescription": "Example Long Description", + "lastModifiedTS": "3", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" + }, + "parentCategory": { + "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" + }, + "childrenCategories": [ + { + "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f", + "displayText": "ExampleCategory3" + } + ], + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", + "displayText": "ExampleTerm1" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_PartialUpdateTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_PartialUpdateTerm.json new file mode 100644 index 000000000000..572d692fa4b6 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_PartialUpdateTerm.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "partialUpdates": { + "longDescription": "Example Long Descrition" + } + }, + "responses": { + "200": { + "body": { + "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "qualifiedName": "ExampleTerm1@Glossary", + "name": "ExampleTerm1", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Descrition", + "lastModifiedTS": "2", + "abbreviation": "T1", + "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "createTime": 1606287247276, + "updateTime": 1606290587593, + "status": "Approved", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" + }, + "categories": [ + { + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", + "displayText": "ExampleCategory1" + } + ], + "seeAlso": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", + "displayText": "ExampleTerm2" + } + ], + "synonyms": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", + "displayText": "ExampleTerm2" + } + ], + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_RemoveTermAssignmentFromEntities.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_RemoveTermAssignmentFromEntities.json new file mode 100644 index 000000000000..ca978c5df1fc --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_RemoveTermAssignmentFromEntities.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "termGuid": "8a7f65ec-6429-0b9b-3734-ec57bf1e34c2", + "relatedObjectIds": [ + { + "guid": "16feb2a1-2c79-ade1-338d-fb24fcb8b8bd", + "relationshipGuid": "624f08bb-3c93-4f03-9ce1-ed2ce2c7c8d5" + } + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_Update.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_Update.json new file mode 100644 index 000000000000..ac2868693994 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_Update.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "updatedGlossary": { + "guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "qualifiedName": "Glossary", + "name": "Glossary", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "lastModifiedTS": "1", + "language": "en", + "usage": "Example Glossary", + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0", + "displayText": "ExampleTerm1" + }, + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189", + "displayText": "ExampleTerm2" + } + ], + "categories": [ + { + "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2", + "displayText": "ExampleCategory3" + }, + { + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "parentCategoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0", + "displayText": "ExampleCategory1" + }, + { + "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d", + "displayText": "ExampleCategory2" + } + ] + } + }, + "responses": { + "200": { + "body": { + "guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "qualifiedName": "Glossary", + "name": "Glossary", + "shortDescription": "Example Short Description", + "longDescription": "Example Long Description", + "lastModifiedTS": "2", + "language": "en", + "usage": "Example Glossary", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1672892675600, + "updateTime": 1672892675688, + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0", + "displayText": "ExampleTerm1" + }, + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "9385640b-e6be-437d-a6b9-62d11c14a189", + "displayText": "ExampleTerm2" + } + ], + "categories": [ + { + "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "26a486a4-a8e2-483c-8a84-3b88e909f8d2", + "displayText": "ExampleCategory3" + }, + { + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "parentCategoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0", + "displayText": "ExampleCategory1" + }, + { + "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "94071e56-fd3e-4441-93ff-1834f818482d", + "displayText": "ExampleCategory2" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_UpdateCategory.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_UpdateCategory.json new file mode 100644 index 000000000000..fb8c92c94fd5 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_UpdateCategory.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "categoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "glossaryCategory": { + "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "qualifiedName": "ExampleCategory1@Glossary", + "name": "ExampleCategory1", + "lastModifiedTS": "1", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" + }, + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007" + } + ], + "childrenCategories": [ + { + "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e" + } + ], + "parentCategory": { + "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a" + } + } + }, + "responses": { + "200": { + "body": { + "guid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "qualifiedName": "ExampleCategory1.Category2@Glossary", + "name": "ExampleCategory1", + "lastModifiedTS": "2", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7bdcef93-a57a-4d1d-95ab-9d3036f394a0" + }, + "parentCategory": { + "categoryGuid": "e47c4584-daca-4f9e-9092-194e04692c9a", + "relationGuid": "82d569cd-2273-4ef9-9f67-c6f2ed637c20" + }, + "childrenCategories": [ + { + "categoryGuid": "0d6766f6-f4b6-435b-bda2-d3edc358998e", + "parentCategoryGuid": "ed7458f0-9463-48a5-b5c6-4f785fb34e12", + "relationGuid": "e50be8c5-7905-4c92-b676-4278866c2c2f", + "displayText": "ExampleCategory3" + } + ], + "terms": [ + { + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "relationGuid": "6aebf5ac-0c83-40c0-98bf-958fe9c99007", + "displayText": "ExampleTerm1" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_UpdateTerm.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_UpdateTerm.json new file mode 100644 index 000000000000..065bba39f639 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Glossary_UpdateTerm.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "termGuid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "glossaryTerm": { + "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "qualifiedName": "ExampleTerm1@Glossary", + "name": "ExampleTerm1", + "shortDescription": "Example Short Description", + "lastModifiedTS": "1", + "abbreviation": "T1", + "status": "Approved", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" + }, + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ], + "seeAlso": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008" + }, + { + "termGuid": "821beef0-ced9-47ba-8f7f-c4f3459f4d18" + } + ], + "synonyms": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008" + }, + { + "termGuid": "821beef0-ced9-47ba-8f7f-c4f3459f4d18" + } + ] + } + }, + "responses": { + "200": { + "body": { + "guid": "54688d39-b298-4104-9e80-f2a16f44aaea", + "qualifiedName": "ExampleTerm1@Glossary", + "name": "ExampleTerm1", + "shortDescription": "Example Short Description", + "lastModifiedTS": "1", + "abbreviation": "T1", + "createdBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "updatedBy": "23863cef-a2e9-40a3-a427-44dc0d201f61", + "createTime": 1606287247276, + "updateTime": 1606287247276, + "status": "Approved", + "anchor": { + "glossaryGuid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8", + "relationGuid": "7b6a8149-a928-476a-a068-dce58653cfa0" + }, + "seeAlso": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "dfa44030-bd14-4111-a0f1-3d01c964eb01", + "displayText": "ExampleTerm2" + }, + { + "termGuid": "821beef0-ced9-47ba-8f7f-c4f3459f4d18", + "relationGuid": "4d802ada-65f3-45a8-969f-aba47d9c6200", + "displayText": "ExampleTerm3" + } + ], + "synonyms": [ + { + "termGuid": "952c7ba4-4c89-42d8-a05a-7d2161be7008", + "relationGuid": "15bcbd12-eb48-4b63-8ff5-74f7ec3a562c", + "displayText": "ExampleTerm2" + }, + { + "termGuid": "821beef0-ced9-47ba-8f7f-c4f3459f4d18", + "relationGuid": "bb26fe7c-6e26-46ad-b936-50a5f7ffbbaf", + "displayText": "ExampleTerm3" + } + ], + "resources": [ + { + "displayName": "Example Display Name", + "url": "Example Url" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Lineage_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Lineage_Get.json new file mode 100644 index 000000000000..122a1804289c --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Lineage_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "a6894eb3-81f3-829b-2adc-52f3e603411a", + "depth": "1", + "width": "5", + "direction": "INPUT" + }, + "responses": { + "200": { + "body": { + "baseEntityGuid": "a6894eb3-81f3-829b-2adc-52f3e603411a", + "lineageDirection": "INPUT", + "lineageDepth": 1, + "lineageWidth": 1, + "childrenCount": 1, + "guidEntityMap": {}, + "widthCounts": {}, + "relations": [], + "parentRelations": [] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Lineage_GetByUniqueAttribute.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Lineage_GetByUniqueAttribute.json new file mode 100644 index 000000000000..4b9886deec69 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Lineage_GetByUniqueAttribute.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typeName": "azure_blob_path", + "depth": "2", + "width": "2", + "direction": "BOTH", + "attr:qualifiedName": "https://02cab97b-ba87-4675-972d-150b6cb522d3/entity.json/" + }, + "responses": { + "200": { + "body": { + "baseEntityGuid": "9b2751f1-2633-4f06-a578-e14fab4c52fd", + "lineageDirection": "BOTH", + "lineageDepth": 2, + "lineageWidth": 2, + "childrenCount": -1, + "guidEntityMap": { + "9b2751f1-2633-4f06-a578-e14fab4c52fd": { + "typeName": "azure_blob_path", + "attributes": { + "owner": "testOwner", + "modifiedTime": 0, + "qualifiedName": "https://02cab97b-ba87-4675-972d-150b6cb522d3/entity.json/", + "isBlob": false, + "accessTierInferred": false, + "description": "testDesc", + "committedBlockCount": 0, + "path": "/test/AzureBlobPath.json", + "size": 731, + "createTime": 0, + "name": "populate_azure_blob_path_02cab97b-ba87-4675-972d-150b6cb522d3", + "blobType": "BlockBlob", + "serverEncrypted": true + }, + "lastModifiedTS": "1", + "guid": "9b2751f1-2633-4f06-a578-e14fab4c52fd", + "status": "ACTIVE", + "displayText": "populate_azure_blob_path_02cab97b-ba87-4675-972d-150b6cb522d3", + "classificationNames": [ + "MICROSOFT.PERSONAL.EMAIL", + "MICROSOFT.PERSONAL.NAME" + ], + "meaningNames": [], + "meanings": [], + "isIncomplete": false, + "labels": [] + } + }, + "relations": [], + "parentRelations": [], + "widthCounts": { + "INPUT": { + "9b2751f1-2633-4f06-a578-e14fab4c52fd": 0 + }, + "OUTPUT": { + "9b2751f1-2633-4f06-a578-e14fab4c52fd": 0 + } + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Lineage_GetNextPage.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Lineage_GetNextPage.json new file mode 100644 index 000000000000..8c69663a036a --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Lineage_GetNextPage.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "a6894eb3-81f3-829b-2adc-52f3e603411a", + "offset": "0", + "limit": "5", + "direction": "INPUT", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "baseEntityGuid": "a6894eb3-81f3-829b-2adc-52f3e603411a", + "lineageDirection": "INPUT", + "lineageDepth": 1, + "lineageWidth": 1, + "childrenCount": 1, + "guidEntityMap": {}, + "widthCounts": {}, + "relations": [], + "parentRelations": [] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Relationship_Create.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Relationship_Create.json new file mode 100644 index 000000000000..8122eee5cd3a --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Relationship_Create.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "relationship": { + "typeName": "AtlasGlossarySynonym", + "attributes": { + "expression": "Example Expression", + "steward": "Example Steward", + "description": "Example Description", + "source": null, + "status": null + }, + "end1": { + "guid": "856d31e6-e342-a1ce-6273-22ddb77029c6", + "typeName": "AtlasGlossaryTerm" + }, + "end2": { + "guid": "77481037-2874-9bdc-9b9e-76bb94ee71aa", + "typeName": "AtlasGlossaryTerm" + }, + "label": "r:AtlasGlossarySynonym", + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "version": 0 + } + }, + "responses": { + "200": { + "body": { + "typeName": "AtlasGlossarySynonym", + "attributes": { + "expression": "Example Expression", + "steward": "Example Steward", + "description": "Example Description", + "source": null, + "status": null + }, + "guid": "63023d5b-c499-4360-a513-16bcbf73b039", + "end1": { + "guid": "856d31e6-e342-a1ce-6273-22ddb77029c6", + "typeName": "AtlasGlossaryTerm" + }, + "end2": { + "guid": "77481037-2874-9bdc-9b9e-76bb94ee71aa", + "typeName": "AtlasGlossaryTerm" + }, + "label": "r:AtlasGlossarySynonym", + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553840134724, + "updateTime": 1553840134724, + "version": 0 + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Relationship_Delete.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Relationship_Delete.json new file mode 100644 index 000000000000..291912c8ccac --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Relationship_Delete.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "5cf8a9e5-c9fd-abe0-2e8c-d40024263dcb" + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Relationship_Get.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Relationship_Get.json new file mode 100644 index 000000000000..7a9054f95285 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Relationship_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "5cf8a9e5-c9fd-abe0-2e8c-d40024263dcb", + "extendedInfo": "false" + }, + "responses": { + "200": { + "body": { + "relationship": { + "typeName": "AtlasGlossarySynonym", + "attributes": { + "expression": null, + "steward": null, + "description": null, + "source": null, + "status": null + }, + "guid": "de23cd5a-021c-413d-98a5-98752a1f7a3b", + "end1": { + "guid": "856d31e6-e342-a1ce-6273-22ddb77029c6", + "typeName": "AtlasGlossaryTerm" + }, + "end2": { + "guid": "b0942506-2d7d-1f45-d286-c29ca9e7f2ef", + "typeName": "AtlasGlossaryTerm" + }, + "label": "r:AtlasGlossarySynonym", + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553838993803, + "updateTime": 1553838993803, + "version": 0 + } + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Relationship_Update.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Relationship_Update.json new file mode 100644 index 000000000000..3664c81a3ec7 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Relationship_Update.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "relationship": { + "typeName": "AtlasGlossarySynonym", + "attributes": { + "expression": "Example Expression", + "steward": "Example Steward", + "description": "Example Description", + "source": null, + "status": null + }, + "guid": "b2810301-293f-493f-88f1-7ac8784fb1fd", + "end1": { + "guid": "77481037-2874-9bdc-9b9e-76bb94ee71aa", + "typeName": "AtlasGlossaryTerm" + }, + "end2": { + "guid": "b0942506-2d7d-1f45-d286-c29ca9e7f2ef", + "typeName": "AtlasGlossaryTerm" + }, + "label": "r:AtlasGlossarySynonym", + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "version": 0 + } + }, + "responses": { + "200": { + "body": { + "typeName": "AtlasGlossarySynonym", + "attributes": { + "expression": "Example Expression", + "steward": "Example Steward", + "description": "Example Description", + "source": null, + "status": null + }, + "guid": "b2810301-293f-493f-88f1-7ac8784fb1fd", + "end1": { + "guid": "77481037-2874-9bdc-9b9e-76bb94ee71aa", + "typeName": "AtlasGlossaryTerm" + }, + "end2": { + "guid": "b0942506-2d7d-1f45-d286-c29ca9e7f2ef", + "typeName": "AtlasGlossaryTerm" + }, + "label": "r:AtlasGlossarySynonym", + "status": "ACTIVE", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553839805039, + "updateTime": 1553839805039, + "version": 0 + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_BulkCreate.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_BulkCreate.json new file mode 100644 index 000000000000..3c08502d3e0f --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_BulkCreate.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typesDef": { + "enumDefs": [], + "structDefs": [], + "classificationDefs": [], + "entityDefs": [ + { + "name": "azure_sql_server_example", + "superTypes": [ + "azure_resource" + ], + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "databases", + "typeName": "array", + "cardinality": "SET", + "isIndexable": false, + "isOptional": true, + "isUnique": false + } + ] + } + ], + "relationshipDefs": [] + } + }, + "responses": { + "200": { + "body": { + "enumDefs": [], + "structDefs": [], + "classificationDefs": [], + "entityDefs": [ + { + "category": "ENTITY", + "guid": "a47fd902-a564-45f1-aa51-ce9224955881", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553672211954, + "updateTime": 1553672211954, + "version": 1, + "name": "azure_sql_server_example", + "description": "azure_sql_server_example", + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "databases", + "typeName": "array", + "isOptional": true, + "cardinality": "SET", + "valuesMinCount": 0, + "valuesMaxCount": 2147483647, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + } + ], + "superTypes": [ + "azure_resource" + ], + "subTypes": [] + } + ], + "relationshipDefs": [] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_BulkCreateBusinessMetadataDefs.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_BulkCreateBusinessMetadataDefs.json new file mode 100644 index 000000000000..66e7d50e8570 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_BulkCreateBusinessMetadataDefs.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typesDef": { + "enumDefs": [], + "structDefs": [], + "classificationDefs": [], + "entityDefs": [], + "relationshipDefs": [], + "businessMetadataDefs": [ + { + "name": "myBizMetadata1", + "description": "", + "attributeDefs": [ + { + "name": "bizAttr1", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": true, + "options": { + "maxStrLength": "50", + "applicableEntityTypes": "[\"Path\"]" + } + } + ] + } + ] + } + }, + "responses": { + "200": { + "body": { + "enumDefs": [], + "structDefs": [], + "classificationDefs": [], + "entityDefs": [], + "relationshipDefs": [], + "businessMetadataDefs": [ + { + "category": "BUSINESS_METADATA", + "guid": "f26dc6d1-be9c-a0ce-a274-b6388ff6e2eb", + "createdBy": "ServiceAdmin", + "updatedBy": "ServiceAdmin", + "createTime": 1646994112241, + "updateTime": 1646994112241, + "version": 1, + "name": "myBizMetadata1", + "description": "This is my businessMetadata1", + "typeVersion": "1.0", + "lastModifiedTS": "1", + "attributeDefs": [ + { + "name": "bizAttr1", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": true, + "includeInNotification": false, + "options": { + "applicableEntityTypes": "[\"Path\"]", + "maxStrLength": "50" + } + } + ] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_BulkDelete.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_BulkDelete.json new file mode 100644 index 000000000000..40e463be1ce9 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_BulkDelete.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typesDef": { + "enumDefs": [], + "structDefs": [], + "classificationDefs": [], + "entityDefs": [ + { + "name": "azure_sql_server_example", + "superTypes": [ + "azure_resource" + ], + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "databases", + "typeName": "array", + "cardinality": "SET", + "isIndexable": false, + "isOptional": true, + "isUnique": false + } + ] + } + ], + "relationshipDefs": [] + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_BulkUpdate.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_BulkUpdate.json new file mode 100644 index 000000000000..fd37acb1ec1c --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_BulkUpdate.json @@ -0,0 +1,288 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "typesDef": { + "enumDefs": [], + "structDefs": [], + "classificationDefs": [], + "entityDefs": [ + { + "name": "azure_sql_server", + "superTypes": [ + "azure_resource" + ], + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "databases", + "typeName": "array", + "cardinality": "SET", + "isIndexable": false, + "isOptional": true, + "isUnique": false + } + ] + }, + { + "name": "azure_sql_db", + "superTypes": [ + "azure_resource" + ], + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "server", + "typeName": "azure_sql_server", + "cardinality": "SINGLE", + "constraints": [ + { + "type": "inverseRef", + "params": { + "attribute": "databases" + } + } + ], + "isIndexable": false, + "isOptional": false, + "isUnique": false + }, + { + "name": "schemas", + "typeName": "array", + "cardinality": "SET", + "isIndexable": false, + "isOptional": true, + "isUnique": false + }, + { + "name": "collation", + "typeName": "string", + "cardinality": "SINGLE", + "isIndexable": false, + "isOptional": true, + "isUnique": false + }, + { + "name": "compatibilityLevel", + "typeName": "int", + "cardinality": "SINGLE", + "isIndexable": false, + "isOptional": true, + "isUnique": false + } + ] + } + ], + "relationshipDefs": [ + { + "name": "azure_sql_server_databases", + "typeVersion": "1.0", + "relationshipCategory": "COMPOSITION", + "endDef1": { + "type": "azure_sql_server", + "name": "databases", + "isContainer": true, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "azure_sql_db", + "name": "server", + "isContainer": false, + "cardinality": "SINGLE", + "isLegacyAttribute": true + } + }, + { + "name": "azure_sql_db_schemas", + "typeVersion": "1.0", + "relationshipCategory": "COMPOSITION", + "endDef1": { + "type": "azure_sql_db", + "name": "schemas", + "isContainer": true, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "azure_sql_schema", + "name": "db", + "isContainer": false, + "cardinality": "SINGLE", + "isLegacyAttribute": true + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "enumDefs": [], + "structDefs": [], + "classificationDefs": [], + "entityDefs": [ + { + "category": "ENTITY", + "guid": "a59fe369-2b1d-4bba-bb74-c273f3d74eb1", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1548841689501, + "updateTime": 1553671448662, + "version": 3, + "name": "azure_sql_server", + "description": "azure_sql_server", + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "databases", + "typeName": "array", + "isOptional": true, + "cardinality": "SET", + "valuesMinCount": 0, + "valuesMaxCount": 2147483647, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + } + ], + "superTypes": [ + "azure_resource" + ], + "subTypes": [] + }, + { + "category": "ENTITY", + "guid": "cc33ec5a-205a-4853-91dd-c0ebd0049ffb", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1548841689575, + "updateTime": 1553671448783, + "version": 3, + "name": "azure_sql_db", + "description": "azure_sql_db", + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "server", + "typeName": "azure_sql_server", + "isOptional": false, + "cardinality": "SINGLE", + "valuesMinCount": 1, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "constraints": [ + { + "type": "inverseRef", + "params": { + "attribute": "databases" + } + } + ] + }, + { + "name": "schemas", + "typeName": "array", + "isOptional": true, + "cardinality": "SET", + "valuesMinCount": 0, + "valuesMaxCount": 2147483647, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + }, + { + "name": "collation", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + }, + { + "name": "compatibilityLevel", + "typeName": "int", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + } + ], + "superTypes": [ + "azure_resource" + ], + "subTypes": [] + } + ], + "relationshipDefs": [ + { + "category": "RELATIONSHIP", + "guid": "1e0584a8-2587-4e1d-a772-db1e879469af", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1548841689879, + "updateTime": 1553671449536, + "version": 3, + "name": "azure_sql_server_databases", + "description": "azure_sql_server_databases", + "typeVersion": "1.0", + "attributeDefs": [], + "relationshipCategory": "COMPOSITION", + "endDef1": { + "type": "azure_sql_server", + "name": "databases", + "isContainer": true, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "azure_sql_db", + "name": "server", + "isContainer": false, + "cardinality": "SINGLE", + "isLegacyAttribute": true + }, + "relationshipLabel": "r:azure_sql_server_databases" + }, + { + "category": "RELATIONSHIP", + "guid": "77ee34f6-ea48-4fe3-86bf-7e2e722f4596", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1548841690094, + "updateTime": 1553671449545, + "version": 3, + "name": "azure_sql_db_schemas", + "description": "azure_sql_db_schemas", + "typeVersion": "1.0", + "attributeDefs": [], + "relationshipCategory": "COMPOSITION", + "endDef1": { + "type": "azure_sql_db", + "name": "schemas", + "isContainer": true, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "azure_sql_schema", + "name": "db", + "isContainer": false, + "cardinality": "SINGLE", + "isLegacyAttribute": true + }, + "relationshipLabel": "r:azure_sql_db_schemas" + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_Delete.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_Delete.json new file mode 100644 index 000000000000..d95c0728b9cb --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_Delete.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "name": "hive_order" + }, + "responses": { + "204": {} + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetBusinessMetadataDefByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetBusinessMetadataDefByGuid.json new file mode 100644 index 000000000000..5790a0df446e --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetBusinessMetadataDefByGuid.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "d8757510-c866-61ba-486f-1afca09f43b8" + }, + "responses": { + "200": { + "body": { + "category": "BUSINESS_METADATA", + "guid": "d8757510-c866-61ba-486f-1afca09f43b8", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1671545620780, + "updateTime": 1671545620780, + "version": 1, + "name": "Business_Metadata_Type_Name", + "description": "Business_Metadata_Type_Name", + "typeVersion": "1.0", + "lastModifiedTS": "1", + "attributeDefs": [ + { + "name": "customAttribute", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "options": { + "maxStrLength": "5000", + "isDisabled": "false", + "applicableEntityTypes": "[\"DataSet\"]" + } + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetBusinessMetadataDefByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetBusinessMetadataDefByName.json new file mode 100644 index 000000000000..89abf18c256d --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetBusinessMetadataDefByName.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "name": "Business_Metadata_Type_Name" + }, + "responses": { + "200": { + "body": { + "category": "BUSINESS_METADATA", + "guid": "d8757510-c866-61ba-486f-1afca09f43b8", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1671545620780, + "updateTime": 1671545620780, + "version": 1, + "name": "Business_Metadata_Type_Name", + "description": "Business_Metadata_Type_Name", + "typeVersion": "1.0", + "lastModifiedTS": "1", + "attributeDefs": [ + { + "name": "customAttribute", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "options": { + "maxStrLength": "5000", + "isDisabled": "false", + "applicableEntityTypes": "[\"DataSet\"]" + } + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetByGuid.json new file mode 100644 index 000000000000..ebd1ed4902de --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetByGuid.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "0ddc2fcf-ad17-4d06-984a-ffb2ffb2a941" + }, + "responses": { + "200": { + "body": { + "category": "ENUM", + "guid": "0ddc2fcf-ad17-4d06-984a-ffb2ffb2a941", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1604728877305, + "updateTime": 1604728877305, + "version": 1, + "name": "glossary_term_status_value", + "description": "glossary_term_status_value", + "typeVersion": "1.0", + "lastModifiedTS": "1", + "elementDefs": [ + { + "value": "Approved", + "ordinal": 0 + }, + { + "value": "Alert", + "ordinal": 1 + }, + { + "value": "Expired", + "ordinal": 2 + }, + { + "value": "Draft", + "ordinal": 3 + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetByName.json new file mode 100644 index 000000000000..77ec05812c26 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetByName.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "name": "glossary_term_status_value" + }, + "responses": { + "200": { + "body": { + "category": "ENUM", + "guid": "0ddc2fcf-ad17-4d06-984a-ffb2ffb2a941", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1604728877305, + "updateTime": 1604728877305, + "version": 1, + "name": "glossary_term_status_value", + "description": "glossary_term_status_value", + "typeVersion": "1.0", + "lastModifiedTS": "1", + "elementDefs": [ + { + "value": "Approved", + "ordinal": 0 + }, + { + "value": "Alert", + "ordinal": 1 + }, + { + "value": "Expired", + "ordinal": 2 + }, + { + "value": "Draft", + "ordinal": 3 + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetClassificationDefByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetClassificationDefByGuid.json new file mode 100644 index 000000000000..31f09a6d61e6 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetClassificationDefByGuid.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "e79878fa-adba-4ee5-adc5-328d8841cd49" + }, + "responses": { + "200": { + "body": { + "category": "CLASSIFICATION", + "guid": "e79878fa-adba-4ee5-adc5-328d8841cd49", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553065966043, + "updateTime": 1553065966043, + "version": 1, + "name": "MICROSOFT.GOVERNMENT.CANADA.SOCIAL_INSURANCE_NUMBER", + "description": "Canada Social Insurance Number", + "typeVersion": "1.0", + "attributeDefs": [], + "superTypes": [], + "entityTypes": [], + "subTypes": [] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetClassificationDefByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetClassificationDefByName.json new file mode 100644 index 000000000000..b7d7ed8a4f74 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetClassificationDefByName.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "name": "MICROSOFT.GOVERNMENT.CANADA.SOCIAL_INSURANCE_NUMBER" + }, + "responses": { + "200": { + "body": { + "category": "CLASSIFICATION", + "guid": "e79878fa-adba-4ee5-adc5-328d8841cd49", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553065966043, + "updateTime": 1553065966043, + "version": 1, + "name": "MICROSOFT.GOVERNMENT.CANADA.SOCIAL_INSURANCE_NUMBER", + "description": "Canada Social Insurance Number", + "typeVersion": "1.0", + "attributeDefs": [], + "superTypes": [], + "entityTypes": [], + "subTypes": [] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetEntityDefByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetEntityDefByGuid.json new file mode 100644 index 000000000000..2728fb2507c3 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetEntityDefByGuid.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "4bc54c37-98a8-4de8-9ee8-182610859d43" + }, + "responses": { + "200": { + "body": { + "category": "ENTITY", + "guid": "4bc54c37-98a8-4de8-9ee8-182610859d43", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553065960959, + "updateTime": 1553065960959, + "version": 1, + "name": "DataSet", + "description": "DataSet", + "typeVersion": "1.1", + "attributeDefs": [], + "superTypes": [ + "Asset" + ], + "subTypes": [ + "rdbms_foreign_key", + "azure_datalake_gen1_path", + "hive_table", + "mssql_column", + "sqoop_dbdatastore", + "hbase_column", + "azure_sql_table", + "rdbms_instance", + "azure_datalake_gen2_path", + "jms_topic", + "falcon_feed", + "hbase_table", + "rdbms_table", + "rdbms_column", + "hbase_column_family", + "hive_column", + "azure_blob_container", + "rdbms_db", + "column", + "azure_blob_path", + "kafka_topic", + "tabular_schema", + "azure_datalake_gen2_filesystem", + "rdbms_index", + "azure_sql_column", + "mssql_table", + "avro_type", + "fs_path" + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetEntityDefByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetEntityDefByName.json new file mode 100644 index 000000000000..0542db979369 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetEntityDefByName.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "name": "DataSet" + }, + "responses": { + "200": { + "body": { + "category": "ENTITY", + "guid": "4bc54c37-98a8-4de8-9ee8-182610859d43", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553065960959, + "updateTime": 1553065960959, + "version": 1, + "name": "DataSet", + "description": "DataSet", + "typeVersion": "1.1", + "attributeDefs": [], + "superTypes": [ + "Asset" + ], + "subTypes": [ + "rdbms_foreign_key", + "azure_datalake_gen1_path", + "hive_table", + "mssql_column", + "sqoop_dbdatastore", + "hbase_column", + "azure_sql_table", + "rdbms_instance", + "azure_datalake_gen2_path", + "jms_topic", + "falcon_feed", + "hbase_table", + "rdbms_table", + "rdbms_column", + "hbase_column_family", + "hive_column", + "azure_blob_container", + "rdbms_db", + "column", + "azure_blob_path", + "kafka_topic", + "tabular_schema", + "azure_datalake_gen2_filesystem", + "rdbms_index", + "azure_sql_column", + "mssql_table", + "avro_type", + "fs_path" + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetEnumDefByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetEnumDefByGuid.json new file mode 100644 index 000000000000..9c324ce8d35b --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetEnumDefByGuid.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "644ab9c7-893a-4a4d-8e0a-591a6556d1a0" + }, + "responses": { + "200": { + "body": { + "category": "ENUM", + "guid": "644ab9c7-893a-4a4d-8e0a-591a6556d1a0", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553065968102, + "updateTime": 1553065968102, + "version": 1, + "name": "hive_principal_type", + "description": "hive_principal_type", + "typeVersion": "1.0", + "elementDefs": [ + { + "value": "USER", + "ordinal": 1 + }, + { + "value": "ROLE", + "ordinal": 2 + }, + { + "value": "GROUP", + "ordinal": 3 + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetEnumDefByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetEnumDefByName.json new file mode 100644 index 000000000000..6adfee266b61 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetEnumDefByName.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "name": "hive_principal_type" + }, + "responses": { + "200": { + "body": { + "category": "ENUM", + "guid": "644ab9c7-893a-4a4d-8e0a-591a6556d1a0", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553065968102, + "updateTime": 1553065968102, + "version": 1, + "name": "hive_principal_type", + "description": "hive_principal_type", + "typeVersion": "1.0", + "elementDefs": [ + { + "value": "USER", + "ordinal": 1 + }, + { + "value": "ROLE", + "ordinal": 2 + }, + { + "value": "GROUP", + "ordinal": 3 + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetRelationshipDefByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetRelationshipDefByGuid.json new file mode 100644 index 000000000000..66b6efd3f8bf --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetRelationshipDefByGuid.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "695edde1-2782-4a3c-841b-0b3aba25fe45" + }, + "responses": { + "200": { + "body": { + "category": "RELATIONSHIP", + "guid": "695edde1-2782-4a3c-841b-0b3aba25fe45", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553065976797, + "updateTime": 1553065976797, + "version": 1, + "name": "storm_topology_nodes", + "description": "storm_topology_nodes", + "typeVersion": "1.0", + "attributeDefs": [], + "relationshipCategory": "ASSOCIATION", + "endDef1": { + "type": "storm_topology", + "name": "nodes", + "isContainer": false, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "storm_node", + "name": "topolgies", + "isContainer": false, + "cardinality": "SET", + "isLegacyAttribute": false + }, + "relationshipLabel": "r:storm_topology_nodes" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetRelationshipDefByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetRelationshipDefByName.json new file mode 100644 index 000000000000..148c7d655371 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetRelationshipDefByName.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "name": "storm_topology_nodes" + }, + "responses": { + "200": { + "body": { + "category": "RELATIONSHIP", + "guid": "695edde1-2782-4a3c-841b-0b3aba25fe45", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553065976797, + "updateTime": 1553065976797, + "version": 1, + "name": "storm_topology_nodes", + "description": "storm_topology_nodes", + "typeVersion": "1.0", + "attributeDefs": [], + "relationshipCategory": "ASSOCIATION", + "endDef1": { + "type": "storm_topology", + "name": "nodes", + "isContainer": false, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "storm_node", + "name": "topolgies", + "isContainer": false, + "cardinality": "SET", + "isLegacyAttribute": false + }, + "relationshipLabel": "r:storm_topology_nodes" + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetStructDefByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetStructDefByGuid.json new file mode 100644 index 000000000000..d2e1e0901f30 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetStructDefByGuid.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "f1571b6e-ad08-4040-a9a7-c30ed935d437" + }, + "responses": { + "200": { + "body": { + "category": "STRUCT", + "guid": "f1571b6e-ad08-4040-a9a7-c30ed935d437", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553065968145, + "updateTime": 1553065968145, + "version": 1, + "name": "hive_order", + "description": "hive_order", + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "order", + "typeName": "int", + "isOptional": false, + "cardinality": "SINGLE", + "valuesMinCount": 1, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + }, + { + "name": "col", + "typeName": "string", + "isOptional": false, + "cardinality": "SINGLE", + "valuesMinCount": 1, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetStructDefByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetStructDefByName.json new file mode 100644 index 000000000000..6bffd4888fa2 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetStructDefByName.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "name": "hive_order" + }, + "responses": { + "200": { + "body": { + "category": "STRUCT", + "guid": "f1571b6e-ad08-4040-a9a7-c30ed935d437", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1553065968145, + "updateTime": 1553065968145, + "version": 1, + "name": "hive_order", + "description": "hive_order", + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "order", + "typeName": "int", + "isOptional": false, + "cardinality": "SINGLE", + "valuesMinCount": 1, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + }, + { + "name": "col", + "typeName": "string", + "isOptional": false, + "cardinality": "SINGLE", + "valuesMinCount": 1, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetTermTemplateDefByGuid.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetTermTemplateDefByGuid.json new file mode 100644 index 000000000000..e9209ec93829 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetTermTemplateDefByGuid.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "guid": "d776af9c-985c-4168-abb2-477523dbfc70", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "category": "TERM_TEMPLATE", + "guid": "d776af9c-985c-4168-abb2-477523dbfc70", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1606300465443, + "updateTime": 1606300465443, + "version": 1, + "name": "MS KPI", + "description": "This is the description", + "typeVersion": "1.0", + "lastModifiedTS": "1", + "attributeDefs": [ + { + "name": "date", + "typeName": "date", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "options": { + "isDisabled": "false" + } + }, + { + "name": "single choice", + "typeName": "TERM_TEMPLATE_ENUM_EXAMPLE_1", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "options": { + "isDisabled": "false" + } + }, + { + "name": "multi choice", + "typeName": "array", + "isOptional": true, + "cardinality": "SET", + "valuesMinCount": 0, + "valuesMaxCount": 2147483647, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "options": { + "isDisabled": "false" + } + }, + { + "name": "plain string", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "defaultValue": "this is a default value", + "options": { + "isDisabled": "false" + } + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetTermTemplateDefByName.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetTermTemplateDefByName.json new file mode 100644 index 000000000000..60eba7ba0c08 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_GetTermTemplateDefByName.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "name": "MS KPI", + "api-version": "2023-10-01-preview" + }, + "responses": { + "200": { + "body": { + "category": "TERM_TEMPLATE", + "guid": "d776af9c-985c-4168-abb2-477523dbfc70", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1606300465443, + "updateTime": 1606300465443, + "version": 1, + "name": "MS KPI", + "description": "This is the description", + "typeVersion": "1.0", + "lastModifiedTS": "1", + "attributeDefs": [ + { + "name": "date", + "typeName": "date", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "options": { + "isDisabled": "false" + } + }, + { + "name": "single choice", + "typeName": "TERM_TEMPLATE_ENUM_EXAMPLE_1", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "options": { + "isDisabled": "false" + } + }, + { + "name": "multi choice", + "typeName": "array", + "isOptional": true, + "cardinality": "SET", + "valuesMinCount": 0, + "valuesMaxCount": 2147483647, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "options": { + "isDisabled": "false" + } + }, + { + "name": "plain string", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "defaultValue": "this is a default value", + "options": { + "isDisabled": "false" + } + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_List.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_List.json new file mode 100644 index 000000000000..4e6b37b8b6f1 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_List.json @@ -0,0 +1,269 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "includeTermTemplate": true + }, + "responses": { + "200": { + "body": { + "enumDefs": [ + { + "category": "ENUM", + "guid": "0ddc2fcf-ad17-4d06-984a-ffb2ffb2a941", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1604728877305, + "updateTime": 1604728877305, + "version": 1, + "name": "glossary_term_status_value", + "description": "glossary_term_status_value", + "typeVersion": "1.0", + "lastModifiedTS": "1", + "elementDefs": [ + { + "value": "Approved", + "ordinal": 0 + }, + { + "value": "Alert", + "ordinal": 1 + }, + { + "value": "Expired", + "ordinal": 2 + }, + { + "value": "Draft", + "ordinal": 3 + } + ] + } + ], + "structDefs": [ + { + "category": "STRUCT", + "guid": "a8892bd7-59d6-47d8-b80d-ba4c7631098f", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1604729507664, + "updateTime": 1604729507664, + "version": 1, + "name": "blob_soft_deleted_state", + "description": "blob_soft_deleted_state", + "typeVersion": "1.0", + "serviceType": "Azure Blob Storage", + "lastModifiedTS": "1", + "attributeDefs": [ + { + "name": "deleted", + "typeName": "boolean", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + }, + { + "name": "deletedTime", + "typeName": "date", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + }, + { + "name": "remainingRetentionDays", + "typeName": "long", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + } + ] + } + ], + "classificationDefs": [ + { + "category": "CLASSIFICATION", + "guid": "bd97460e-e5db-4701-8158-5b4062cf8a10", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1604730971448, + "updateTime": 1604730971448, + "version": 1, + "name": "MICROSOFT.GOVERNMENT.CHILE.CDI_NUMBER", + "description": "Chile Identity Card Number", + "typeVersion": "1.0", + "options": { + "displayName": "Chile Identity Card Number" + }, + "attributeDefs": [], + "superTypes": [], + "entityTypes": [], + "subTypes": [] + } + ], + "entityDefs": [ + { + "category": "ENTITY", + "guid": "7c53da5d-2797-4e8a-9b89-dd9b3b26ffa8", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1604730605047, + "updateTime": 1604730605047, + "version": 1, + "name": "sap_ecc_data_element", + "description": "sap_ecc_data_element", + "typeVersion": "1.0", + "serviceType": "SAP ECC", + "lastModifiedTS": "1", + "attributeDefs": [ + { + "name": "dataType", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + }, + { + "name": "length", + "typeName": "int", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + }, + { + "name": "decimalPlaces", + "typeName": "int", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + }, + { + "name": "documentation", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false + } + ], + "superTypes": [ + "Asset" + ], + "subTypes": [], + "relationshipAttributeDefs": [ + { + "name": "package", + "typeName": "sap_ecc_package", + "isOptional": false, + "cardinality": "SINGLE", + "valuesMinCount": -1, + "valuesMaxCount": -1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "relationshipTypeName": "sap_ecc_package_data_elements", + "isLegacyAttribute": false + }, + { + "name": "table_fields", + "typeName": "array", + "isOptional": true, + "cardinality": "SET", + "valuesMinCount": -1, + "valuesMaxCount": -1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "relationshipTypeName": "sap_ecc_table_field_data_element", + "isLegacyAttribute": false + }, + { + "name": "domain", + "typeName": "sap_ecc_domain", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": -1, + "valuesMaxCount": -1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "relationshipTypeName": "sap_ecc_data_element_domain", + "isLegacyAttribute": false + }, + { + "name": "meanings", + "typeName": "array", + "isOptional": true, + "cardinality": "SET", + "valuesMinCount": -1, + "valuesMaxCount": -1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "relationshipTypeName": "AtlasGlossarySemanticAssignment", + "isLegacyAttribute": false + } + ] + } + ], + "relationshipDefs": [ + { + "category": "RELATIONSHIP", + "guid": "6284b865-cbb3-4236-83ed-059a407f06fb", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1604729078159, + "updateTime": 1604729323080, + "version": 2, + "name": "storm_topology_nodes", + "description": "storm_topology_nodes", + "typeVersion": "1.1", + "serviceType": "storm", + "lastModifiedTS": "2", + "attributeDefs": [], + "relationshipCategory": "ASSOCIATION", + "endDef1": { + "type": "storm_topology", + "name": "nodes", + "isContainer": false, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "storm_node", + "name": "topolgies", + "isContainer": false, + "cardinality": "SET", + "isLegacyAttribute": false + } + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_ListEnumDefs.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_ListEnumDefs.json new file mode 100644 index 000000000000..0c3b2d78f851 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_ListEnumDefs.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "type": "enum" + }, + "responses": { + "200": { + "body": { + "enumDefs": [ + { + "category": "ENUM", + "guid": "0ddc2fcf-ad17-4d06-984a-ffb2ffb2a941", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1604728877305, + "updateTime": 1604728877305, + "version": 1, + "name": "glossary_term_status_value", + "description": "glossary_term_status_value", + "typeVersion": "1.0", + "lastModifiedTS": "1", + "elementDefs": [ + { + "value": "Approved", + "ordinal": 0 + }, + { + "value": "Alert", + "ordinal": 1 + }, + { + "value": "Expired", + "ordinal": 2 + }, + { + "value": "Draft", + "ordinal": 3 + } + ] + }, + { + "category": "ENUM", + "guid": "c694edf1-6f9e-4b60-b832-23e8d6187675", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1604728832692, + "updateTime": 1604728905525, + "version": 2, + "name": "AtlasGlossaryTermRelationshipStatus", + "description": "TermRelationshipStatus defines how reliable the relationship is between two glossary terms", + "typeVersion": "1.1", + "serviceType": "atlas_core", + "lastModifiedTS": "2", + "elementDefs": [ + { + "value": "DRAFT", + "description": "DRAFT means the relationship is under development.", + "ordinal": 0 + }, + { + "value": "ACTIVE", + "description": "ACTIVE means the relationship is validated and in use.", + "ordinal": 1 + }, + { + "value": "DEPRECATED", + "description": "DEPRECATED means the the relationship is being phased out.", + "ordinal": 2 + }, + { + "value": "OBSOLETE", + "description": "OBSOLETE means that the relationship should not be used anymore.", + "ordinal": 3 + }, + { + "value": "OTHER", + "description": "OTHER means that there is another status.", + "ordinal": 99 + } + ] + } + ], + "structDefs": [], + "classificationDefs": [], + "entityDefs": [], + "relationshipDefs": [] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_ListHeaders.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_ListHeaders.json new file mode 100644 index 000000000000..99ec7d9d00b2 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_ListHeaders.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "includeTermTemplate": true + }, + "responses": { + "200": { + "body": [ + { + "guid": "644ab9c7-893a-4a4d-8e0a-591a6556d1a0", + "name": "hive_principal_type", + "category": "ENUM" + }, + { + "guid": "e5030e81-da05-4571-84f1-265ce20fa6d9", + "name": "AtlasGlossaryTermRelationshipStatus", + "category": "ENUM" + }, + { + "guid": "d776af9c-985c-4168-abb2-477523dbfc70", + "name": "MS KPI", + "category": "TERM_TEMPLATE" + } + ] + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_ListTermTemplateDefs.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_ListTermTemplateDefs.json new file mode 100644 index 000000000000..26902f2461c6 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/examples/Type_ListTermTemplateDefs.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "type": "term_template" + }, + "responses": { + "200": { + "body": { + "enumDefs": [], + "structDefs": [], + "classificationDefs": [], + "entityDefs": [], + "relationshipDefs": [], + "termTemplateDefs": [ + { + "category": "TERM_TEMPLATE", + "guid": "d776af9c-985c-4168-abb2-477523dbfc70", + "createdBy": "ExampleCreator", + "updatedBy": "ExampleUpdator", + "createTime": 1606300465443, + "updateTime": 1606300465443, + "version": 1, + "name": "MS KPI", + "description": "This is the description", + "typeVersion": "1.0", + "lastModifiedTS": "1", + "attributeDefs": [ + { + "name": "date", + "typeName": "date", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "options": { + "isDisabled": "false" + } + }, + { + "name": "single choice", + "typeName": "TERM_TEMPLATE_ENUM_EXAMPLE_1", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "options": { + "isDisabled": "false" + } + }, + { + "name": "multi choice", + "typeName": "array", + "isOptional": true, + "cardinality": "SET", + "valuesMinCount": 0, + "valuesMaxCount": 2147483647, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "options": { + "isDisabled": "false" + } + }, + { + "name": "plain string", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 0, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false, + "includeInNotification": false, + "defaultValue": "this is a default value", + "options": { + "isDisabled": "false" + } + } + ] + } + ] + } + } + } +} diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/purviewdatamap.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/purviewdatamap.json new file mode 100644 index 000000000000..c2a4d73738a6 --- /dev/null +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/purviewdatamap.json @@ -0,0 +1,7718 @@ +{ + "swagger": "2.0", + "info": { + "title": "Purview Data Map Service REST API Document", + "description": "Purview Data Map Service is a fully managed cloud service whose users can discover the data sources they need and understand the data sources they find. At the same time, Data Map helps organizations get more value from their existing investments. This spec defines REST API of Purview Data Map Service.", + "version": "2023-10-01-preview" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/endpoint" + } + ] + }, + "basePath": "/datamap/api", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow." + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/atlas/v2/entity": { + "post": { + "tags": [ + "Entity" + ], + "description": "Create or update an entity.\nExisting entity is matched using its unique guid if supplied or by its unique attributes eg: qualifiedName.\nMap and array of collections are not well supported. E.g., array>, array>.\nFor each contact type, the maximum number of contacts is 20.", + "operationId": "Entity_CreateOrUpdate", + "x-ms-examples": { + "Entity_Create": { + "$ref": "./examples/Entity_Create.json" + }, + "Entity_Update": { + "$ref": "./examples/Entity_Update.json" + }, + "Entity_AddCustomAttribute": { + "$ref": "./examples/Entity_AddCustomAttribute.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "entity", + "description": "Atlas entity with extended information.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasEntityWithExtInfo" + } + }, + { + "$ref": "#/parameters/businessAttributeUpdateBehavior" + }, + { + "$ref": "#/parameters/collectionId" + }, + { + "$ref": "#/parameters/atlasAPIVersion" + } + ], + "responses": { + "200": { + "description": "Created with EntityMutationResponse.", + "schema": { + "$ref": "#/definitions/EntityMutationResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/bulk": { + "get": { + "tags": [ + "Entity" + ], + "description": "List entities in bulk identified by its GUIDs.", + "operationId": "Entity_ListByGuids", + "x-ms-examples": { + "Entity_ListByGuids": { + "$ref": "./examples/Entity_ListByGuids.json" + } + }, + "parameters": [ + { + "name": "guid", + "in": "query", + "description": "An array of GUIDs of entities to list.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "x-ms-client-name": "guids" + }, + { + "$ref": "#/parameters/minExtInfo" + }, + { + "$ref": "#/parameters/ignoreRelationships" + }, + { + "$ref": "#/parameters/atlasAPIVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AtlasEntitiesWithExtInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "post": { + "tags": [ + "Entity" + ], + "description": "Create or update entities in bulk.\nExisting entity is matched using its unique guid if supplied or by its unique attributes eg: qualifiedName.\nMap and array of collections are not well supported. E.g., array>, array>.\nFor each contact type, the maximum number of contacts is 20.", + "operationId": "Entity_BulkCreateOrUpdate", + "x-ms-examples": { + "Entity_BulkCreateOrUpdate": { + "$ref": "./examples/Entity_BulkCreateOrUpdate.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "entities", + "description": "An array of entities to create or update.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasEntitiesWithExtInfo" + } + }, + { + "$ref": "#/parameters/collectionId" + }, + { + "$ref": "#/parameters/atlasAPIVersion" + }, + { + "$ref": "#/parameters/businessAttributeUpdateBehavior" + } + ], + "responses": { + "200": { + "description": "Ok.", + "schema": { + "$ref": "#/definitions/EntityMutationResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Entity" + ], + "description": "Delete a list of entities in bulk identified by their GUIDs or unique attributes.", + "operationId": "Entity_BulkDelete", + "x-ms-examples": { + "Entity_BulkDelete": { + "$ref": "./examples/Entity_BulkDelete.json" + } + }, + "parameters": [ + { + "name": "guid", + "in": "query", + "description": "An array of GUIDs of entities to delete.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "x-ms-client-name": "guids" + } + ], + "responses": { + "200": { + "description": "Deleted with EntityMutationResponse.", + "schema": { + "$ref": "#/definitions/EntityMutationResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/bulk/classification": { + "post": { + "tags": [ + "Entity" + ], + "description": "Associate a classification to multiple entities in bulk.", + "operationId": "Entity_AddClassification", + "x-ms-examples": { + "Entity_AddClassificationToEntityByGuids": { + "$ref": "./examples/Entity_AddClassificationToEntityByGuids.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "request", + "description": "The request to associate a classification to multiple entities.", + "required": true, + "schema": { + "$ref": "#/definitions/ClassificationAssociateRequest" + } + } + ], + "responses": { + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/guid/{guid}": { + "get": { + "tags": [ + "Entity" + ], + "operationId": "Entity_Get", + "x-ms-examples": { + "Entity_Get": { + "$ref": "./examples/Entity_Get.json" + } + }, + "description": "Get complete definition of an entity given its GUID.", + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "$ref": "#/parameters/minExtInfo" + }, + { + "$ref": "#/parameters/ignoreRelationships" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AtlasEntityWithExtInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Entity" + ], + "description": "Update entity partially - create or update entity attribute identified by its GUID.\nSupports only primitive attribute type and entity references.\nIt does not support updating complex types like arrays, and maps.\nNull updates are not possible.", + "operationId": "Entity_PartialUpdateAttributeByGuid", + "x-ms-examples": { + "Entity_PartialUpdateEntityAttributeByGuid": { + "$ref": "./examples/Entity_PartialUpdateAttributeByGuid.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "name": "name", + "in": "query", + "description": "The name of the attribute.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "description": "The value of the attribute.", + "required": true, + "schema": { + "type": "object" + } + } + ], + "responses": { + "200": { + "description": "Updated with EntityMutationResponse.", + "schema": { + "$ref": "#/definitions/EntityMutationResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Entity" + ], + "description": "Delete an entity identified by its GUID.", + "operationId": "Entity_Delete", + "x-ms-examples": { + "Entity_Delete": { + "$ref": "./examples/Entity_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + } + ], + "responses": { + "200": { + "description": "Deleted with EntityMutationResponse.", + "schema": { + "$ref": "#/definitions/EntityMutationResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/guid/{guid}/classification/{classificationName}": { + "get": { + "tags": [ + "Entity" + ], + "description": "Get classification for a given entity represented by a GUID.", + "operationId": "Entity_GetClassification", + "x-ms-examples": { + "Entity_GetClassification": { + "$ref": "./examples/Entity_GetClassification.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "$ref": "#/parameters/classificationName" + } + ], + "responses": { + "200": { + "description": "The classification for the given entity GUID.", + "schema": { + "$ref": "#/definitions/AtlasClassification" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Entity" + ], + "description": "Delete a given classification from an existing entity represented by a GUID.", + "operationId": "Entity_RemoveClassification", + "x-ms-examples": { + "Entity_RemoveClassification": { + "$ref": "./examples/Entity_RemoveClassification.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "$ref": "#/parameters/classificationName" + } + ], + "responses": { + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/guid/{guid}/classifications": { + "get": { + "tags": [ + "Entity" + ], + "description": "List classifications for a given entity represented by a GUID.", + "operationId": "Entity_GetClassifications", + "x-ms-examples": { + "Entity_GetClassifications": { + "$ref": "./examples/Entity_GetClassifications.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + } + ], + "responses": { + "200": { + "description": "An array of classifications for the given entity GUID.", + "schema": { + "$ref": "#/definitions/AtlasClassifications" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "post": { + "tags": [ + "Entity" + ], + "description": "Add classifications to an existing entity represented by a GUID.", + "operationId": "Entity_AddClassifications", + "x-ms-examples": { + "Entity_AddClassifications": { + "$ref": "./examples/Entity_AddClassifications.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "in": "body", + "name": "classifications", + "description": "An array of classifications to be added.", + "required": true, + "schema": { + "type": "array", + "description": "An array of classifications.", + "items": { + "$ref": "#/definitions/AtlasClassification" + } + } + } + ], + "responses": { + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Entity" + ], + "description": "Update classifications to an existing entity represented by a guid.", + "operationId": "Entity_UpdateClassifications", + "x-ms-examples": { + "Entity_UpdateClassifications": { + "$ref": "./examples/Entity_UpdateClassifications.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "in": "body", + "name": "classifications", + "description": "An array of classifications to be updated.", + "required": true, + "schema": { + "type": "array", + "description": "An array of classifications.", + "items": { + "$ref": "#/definitions/AtlasClassification" + } + } + } + ], + "responses": { + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/uniqueAttribute/type/{typeName}": { + "get": { + "tags": [ + "Entity" + ], + "description": "Get complete definition of an entity given its type and unique attribute.\nIn addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format:\nattr:\\=. \nNOTE: The attrName and attrValue should be unique across entities, eg. qualifiedName.\nThe REST request would look something like this:\nGET /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.", + "operationId": "Entity_GetByUniqueAttributes", + "x-ms-examples": { + "Entity_GetByUniqueAttributes": { + "$ref": "./examples/Entity_GetByUniqueAttributes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeName" + }, + { + "$ref": "#/parameters/minExtInfo" + }, + { + "$ref": "#/parameters/ignoreRelationships" + }, + { + "name": "attr:qualifiedName", + "in": "query", + "description": "The qualified name of the entity. (This is only an example. qualifiedName can be changed to other unique attributes)", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "AtlasEntityWithExtInfo.", + "schema": { + "$ref": "#/definitions/AtlasEntityWithExtInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Entity" + ], + "description": "Update entity partially - Allow a subset of attributes to be updated on\nan entity which is identified by its type and unique attribute eg: Referenceable.qualifiedName.\nNull updates are not possible.\nIn addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format:\nattr:=.\nNOTE: The attrName and attrValue should be unique across entities, eg. qualifiedName.\nThe REST request would look something like this:\nPUT /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.", + "operationId": "Entity_PartialUpdateByUniqueAttributes", + "x-ms-examples": { + "Entity_PartialUpdateEntityByUniqueAttributes": { + "$ref": "./examples/Entity_PartialUpdateByUniqueAttributes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeName" + }, + { + "name": "attr:qualifiedName", + "in": "query", + "description": "The qualified name of the entity. (This is only an example. qualifiedName can be changed to other unique attributes)", + "required": false, + "type": "string" + }, + { + "in": "body", + "name": "atlasEntityWithExtInfo", + "description": "Atlas entity with extended information.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasEntityWithExtInfo" + } + } + ], + "responses": { + "200": { + "description": "Updated with EntityMutationResponse.", + "schema": { + "$ref": "#/definitions/EntityMutationResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Entity" + ], + "description": "Delete an entity identified by its type and unique attributes.\nIn addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format:\nattr:\\=\\.\nNOTE: The attrName and attrValue should be unique across entities, eg. qualifiedName.\nThe REST request would look something like this:\nDELETE /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.", + "operationId": "Entity_DeleteByUniqueAttribute", + "x-ms-examples": { + "Entity_DeleteByUniqueAttribute": { + "$ref": "./examples/Entity_DeleteByUniqueAttribute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeName" + }, + { + "name": "attr:qualifiedName", + "in": "query", + "description": "The qualified name of the entity. (This is only an example. qualifiedName can be changed to other unique attributes)", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Deleted with EntityMutationResponse.", + "schema": { + "$ref": "#/definitions/EntityMutationResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/uniqueAttribute/type/{typeName}/classification/{classificationName}": { + "delete": { + "tags": [ + "Entity" + ], + "description": "Delete a given classification from an entity identified by its type and unique attributes.", + "operationId": "Entity_RemoveClassificationByUniqueAttribute", + "x-ms-examples": { + "Entity_RemoveClassificationByUniqueAttribute": { + "$ref": "./examples/Entity_RemoveClassificationByUniqueAttribute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeName" + }, + { + "$ref": "#/parameters/classificationName" + }, + { + "name": "attr:qualifiedName", + "in": "query", + "description": "The qualified name of the entity. (This is only an example. qualifiedName can be changed to other unique attributes)", + "required": false, + "type": "string" + } + ], + "responses": { + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/uniqueAttribute/type/{typeName}/classifications": { + "post": { + "tags": [ + "Entity" + ], + "description": "Add classification to the entity identified by its type and unique attributes.", + "operationId": "Entity_AddClassificationsByUniqueAttribute", + "x-ms-examples": { + "Entity_AddClassificationsByUniqueAttribute": { + "$ref": "./examples/Entity_AddClassificationsByUniqueAttribute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeName" + }, + { + "name": "attr:qualifiedName", + "in": "query", + "description": "The qualified name of the entity. (This is only an example. qualifiedName can be changed to other unique attributes)", + "required": false, + "type": "string" + }, + { + "in": "body", + "name": "atlasClassificationArray", + "description": "An array of classification to be added.", + "required": true, + "schema": { + "type": "array", + "description": "An array of classification.", + "items": { + "$ref": "#/definitions/AtlasClassification" + } + } + } + ], + "responses": { + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Entity" + ], + "description": "Update classification on an entity identified by its type and unique attributes.", + "operationId": "Entity_UpdateClassificationsByUniqueAttribute", + "x-ms-examples": { + "Entity_UpdateClassificationsByUniqueAttribute": { + "$ref": "./examples/Entity_UpdateClassificationsByUniqueAttribute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeName" + }, + { + "name": "attr:qualifiedName", + "in": "query", + "description": "The qualified name of the entity. (This is only an example. qualifiedName can be changed to other unique attributes)", + "required": false, + "type": "string" + }, + { + "in": "body", + "name": "atlasClassificationArray", + "description": "An array of classification to be updated.", + "required": true, + "schema": { + "type": "array", + "description": "An array of classification.", + "items": { + "$ref": "#/definitions/AtlasClassification" + } + } + } + ], + "responses": { + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/bulk/setClassifications": { + "post": { + "tags": [ + "Entity" + ], + "description": "Set classifications on entities in bulk.", + "operationId": "Entity_BulkSetClassifications", + "x-ms-examples": { + "Entity_BulkSetClassifications": { + "$ref": "./examples/Entity_BulkSetClassifications.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "entityHeaders", + "description": "Atlas entity headers.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasEntityHeaders" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "description": "Response that indicates each classification mutation result.", + "items": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/bulk/uniqueAttribute/type/{typeName}": { + "get": { + "tags": [ + "Entity" + ], + "description": "Bulk API to retrieve list of entities identified by its unique attributes.\n\nIn addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format\n\ntypeName=\\&attr_1:\\=\\&attr_2:\\=\\&attr_3:\\=\\\n\nNOTE: The attrName should be an unique attribute for the given entity-type\n\nThe REST request would look something like this\n\nGET /v2/entity/bulk/uniqueAttribute/type/hive_db?attr_1:qualifiedName=db1@cl1&attr_2:qualifiedName=db2@cl1\nNote: at least one unique attribute must be provided.", + "operationId": "Entity_ListByUniqueAttributes", + "x-ms-examples": { + "Entity_ListByUniqueAttributes": { + "$ref": "./examples/Entity_ListByUniqueAttributes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeName" + }, + { + "$ref": "#/parameters/minExtInfo" + }, + { + "$ref": "#/parameters/ignoreRelationships" + }, + { + "name": "attr_N:qualifiedName", + "in": "query", + "description": "Qualified name of an entity. E.g. to find 2 entities you can set attrs_1:qualifiedName=db1@cl1&attrs_2:qualifiedName=db2@cl1. (This is only an example. qualifiedName can be changed to other unique attributes)", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AtlasEntitiesWithExtInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/guid/{guid}/header": { + "get": { + "tags": [ + "Entity" + ], + "description": "Get entity header given its GUID.", + "operationId": "Entity_GetHeader", + "x-ms-examples": { + "Entity_GetHeader": { + "$ref": "./examples/Entity_GetHeader.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/AtlasEntityHeader" + }, + "description": "AtlasEntityHeader" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/guid/{guid}/businessmetadata": { + "delete": { + "tags": [ + "Entity" + ], + "description": "Remove business metadata from an entity.", + "operationId": "Entity_RemoveBusinessMetadata", + "consumes": [ + "application/json" + ], + "x-ms-examples": { + "Entity_RemoveBusinessMetadata": { + "$ref": "./examples/Entity_RemoveBusinessMetadata.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "name": "businessMetadata", + "required": false, + "in": "body", + "schema": { + "$ref": "#/definitions/BusinessMetadata" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "post": { + "tags": [ + "Entity" + ], + "description": "Add business metadata to an entity.", + "operationId": "Entity_AddOrUpdateBusinessMetadata", + "consumes": [ + "application/json" + ], + "x-ms-examples": { + "Entity_AddOrUpdateBusinessMetadata": { + "$ref": "./examples/Entity_AddOrUpdate_BusinessAttribute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "in": "query", + "type": "boolean", + "name": "isOverwrite", + "description": "Whether to overwrite the existing business metadata on the entity or not, default is false.", + "required": false + }, + { + "name": "businessMetadata", + "required": false, + "in": "body", + "schema": { + "$ref": "#/definitions/BusinessMetadata" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/guid/{guid}/businessmetadata/{bmName}": { + "delete": { + "tags": [ + "Entity" + ], + "description": "Delete business metadata attributes from an entity.", + "operationId": "Entity_RemoveBusinessMetadataAttributes", + "consumes": [ + "application/json" + ], + "x-ms-examples": { + "Entity_RemoveBusinessAttribute": { + "$ref": "./examples/Entity_RemoveBusinessAttribute.json" + } + }, + "parameters": [ + { + "name": "bmName", + "in": "path", + "type": "string", + "description": "BusinessMetadata name", + "required": true + }, + { + "$ref": "#/parameters/guid" + }, + { + "name": "businessMetadataAttributes", + "required": false, + "in": "body", + "schema": { + "$ref": "#/definitions/BusinessMetadataAttributes" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "post": { + "tags": [ + "Entity" + ], + "description": "Add or update business metadata attributes", + "operationId": "Entity_AddOrUpdateBusinessMetadataAttributes", + "consumes": [ + "application/json" + ], + "x-ms-examples": { + "Entity_AddOrUpdateBusinessAttribute": { + "$ref": "./examples/Entity_AddOrUpdate_BusinessAttribute.json" + } + }, + "parameters": [ + { + "name": "bmName", + "in": "path", + "type": "string", + "description": "BusinessMetadata name", + "required": true + }, + { + "$ref": "#/parameters/guid" + }, + { + "name": "businessMetadataAttributes", + "required": false, + "in": "body", + "schema": { + "$ref": "#/definitions/BusinessMetadataAttributes" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/businessmetadata/import/template": { + "get": { + "tags": [ + "Entity" + ], + "description": "Get the sample Template for uploading/creating bulk BusinessMetaData", + "operationId": "Entity_GetSampleBusinessMetadataTemplate", + "produces": [ + "application/octet-stream" + ], + "x-ms-examples": { + "Entity_GetSampleBusinessMetadataTemplate": { + "$ref": "./examples/Entity_GetSampleBusinessMetadataTemplate.json" + } + }, + "parameters": [], + "responses": { + "200": { + "schema": { + "description": "Template File", + "type": "file" + }, + "description": "Template File" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/businessmetadata/import": { + "post": { + "tags": [ + "Entity" + ], + "description": "Upload the file for creating Business Metadata in BULK", + "operationId": "Entity_ImportBusinessMetadata", + "consumes": [ + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "x-ms-examples": { + "Entity_ImportBusinessMetadata": { + "$ref": "./examples/Entity_ImportBusinessMetadata.json" + } + }, + "parameters": [ + { + "name": "uploadedInputStream", + "in": "formData", + "type": "file", + "description": "InputStream of file" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/BulkImportResponse", + "description": "If Business Metadata creation was successful" + }, + "description": "If Business Metadata creation was successful" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/guid/{guid}/labels": { + "delete": { + "tags": [ + "Entity" + ], + "description": "delete given labels to a given entity", + "operationId": "Entity_RemoveLabels", + "consumes": [ + "application/json" + ], + "x-ms-examples": { + "Entity_RemoveLabels": { + "$ref": "./examples/Entity_Label.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "name": "body", + "required": false, + "in": "body", + "schema": { + "description": "set of labels to be deleted", + "type": "array", + "items": { + "type": "string" + } + }, + "description": "set of labels to be deleted" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "post": { + "tags": [ + "Entity" + ], + "description": "Set labels to a given entity", + "operationId": "Entity_SetLabels", + "consumes": [ + "application/json" + ], + "x-ms-examples": { + "Entity_SetLabel": { + "$ref": "./examples/Entity_Label.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "name": "body", + "required": false, + "in": "body", + "schema": { + "description": "set of labels to be set to the entity", + "type": "array", + "items": { + "type": "string" + } + }, + "description": "set of labels to be set to the entity" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Entity" + ], + "description": "add given labels to a given entity", + "operationId": "Entity_AddLabel", + "consumes": [ + "application/json" + ], + "x-ms-examples": { + "Entity_AddLabel": { + "$ref": "./examples/Entity_Label.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "name": "body", + "required": false, + "in": "body", + "schema": { + "description": "set of labels to be added", + "type": "array", + "items": { + "type": "string" + } + }, + "description": "set of labels to be added" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/entity/uniqueAttribute/type/{typeName}/labels": { + "delete": { + "tags": [ + "Entity" + ], + "operationId": "Entity_RemoveLabelsByUniqueAttribute", + "description": "Delete given labels to a given entity identified by its type and unique attributes, if labels is null/empty, no labels will be removed. If any labels in labels set are non-existing labels, they will be ignored, only existing labels will be removed. In addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format: attr:=. NOTE: The attrName and attrValue should be unique across entities, eg. qualifiedName. The REST request would look something like this: DELETE /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. ", + "consumes": [ + "application/json" + ], + "x-ms-examples": { + "Entity_RemoveLabelsByUniqueAttribute": { + "$ref": "./examples/Entity_RemoveLabelsByUniqueAttribute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeName" + }, + { + "name": "attr:qualifiedName", + "in": "query", + "description": "The qualified name of the entity. (This is only an example. qualifiedName can be changed to other unique attributes)", + "required": false, + "type": "string" + }, + { + "name": "body", + "required": false, + "in": "body", + "schema": { + "description": "set of labels to be deleted", + "type": "array", + "items": { + "type": "string" + } + }, + "description": "set of labels to be deleted" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "post": { + "tags": [ + "Entity" + ], + "operationId": "Entity_SetLabelsByUniqueAttribute", + "description": "Set labels to a given entity identified by its type and unique attributes, if labels is null/empty, existing labels will all be removed. In addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format: attr:=. NOTE: The attrName and attrValue should be unique across entities, eg. qualifiedName. The REST request would look something like this: POST /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.", + "consumes": [ + "application/json" + ], + "x-ms-examples": { + "Entity_SetLabelsByUniqueAttribute": { + "$ref": "./examples/Entity_SetLabelsByUniqueAttribute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeName" + }, + { + "name": "attr:qualifiedName", + "in": "query", + "description": "The qualified name of the entity. (This is only an example. qualifiedName can be changed to other unique attributes)", + "required": false, + "type": "string" + }, + { + "name": "body", + "required": false, + "in": "body", + "schema": { + "description": "set of labels to be set", + "type": "array", + "items": { + "type": "string" + } + }, + "description": "set of labels to be set" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Entity" + ], + "operationId": "Entity_AddLabelsByUniqueAttribute", + "description": "Add given labels to a given entity identified by its type and unique attributes, if labels is null/empty, no labels will be added. In addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format: attr:=. NOTE: The attrName and attrValue should be unique across entities, eg. qualifiedName. The REST request would look something like this: PUT /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.", + "consumes": [ + "application/json" + ], + "x-ms-examples": { + "Entity_AddLabelsByUniqueAttribute": { + "$ref": "./examples/Entity_AddLabelsByUniqueAttribute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeName" + }, + { + "name": "attr:qualifiedName", + "in": "query", + "description": "The qualified name of the entity. (This is only an example. qualifiedName can be changed to other unique attributes)", + "required": false, + "type": "string" + }, + { + "name": "body", + "required": false, + "in": "body", + "schema": { + "description": "set of labels to be added", + "type": "array", + "items": { + "type": "string" + } + }, + "description": "set of labels to be added" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/entity/moveTo": { + "post": { + "tags": [ + "Entity" + ], + "description": "Move existing entities to the target collection.", + "operationId": "Entity_MoveEntitiesToCollection", + "x-ms-examples": { + "Collection_MoveEntitiesToCollection": { + "$ref": "./examples/Entity_MoveEntitiesToCollection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/requiredCollectionId" + }, + { + "$ref": "#/parameters/purviewAPIVersion" + }, + { + "in": "body", + "name": "moveEntitiesRequest", + "description": "Entity guids to be moved to target collection.", + "required": true, + "schema": { + "$ref": "#/definitions/MoveEntitiesRequest" + } + } + ], + "responses": { + "200": { + "description": "Created with EntityMutationResponse.", + "schema": { + "$ref": "#/definitions/EntityMutationResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/entity/bulk/delete": { + "delete": { + "tags": [ + "Entity" + ], + "description": "Delete entities with hierarchy", + "operationId": "Entity_DeleteWithHierarchy", + "x-ms-examples": { + "Entity_DeleteWithHierarchy": { + "$ref": "./examples/Entity_DeleteWithHierarchy.json" + } + }, + "parameters": [ + { + "name": "guid", + "in": "query", + "description": "An array of GUIDs of entities to delete.", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "x-ms-client-name": "guids" + }, + { + "name": "parallelCount", + "in": "query", + "description": "This parameter is used only for entity bulk delete to define the number of concurrent threads.", + "required": false, + "type": "string", + "enum": [ + "PARALLEL_COUNT_4", + "PARALLEL_COUNT_8", + "PARALLEL_COUNT_16", + "PARALLEL_COUNT_32", + "PARALLEL_COUNT_64" + ], + "x-ms-enum": { + "name": "parallelCount", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/purviewAPIVersion" + } + ], + "responses": { + "202": { + "description": "Accepted. A job to delete entities with hierarchy.", + "headers": { + "Operation-Location": { + "description": "Response header for long running operation", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "operation-location" + } + } + }, + "/entity/operations/{operationId}": { + "get": { + "tags": [ + "Entity" + ], + "description": "Get the status of entity long running operation", + "operationId": "Entity_GetOperationStatus", + "x-ms-examples": { + "Entity_GetOperationForDeleteWithHierarchy": { + "$ref": "./examples/Entity_GetOperationForDeleteWithHierarchy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/operationId" + }, + { + "$ref": "#/parameters/purviewAPIVersion" + } + ], + "responses": { + "200": { + "description": "OK. Return the status of the long running operation.", + "schema": { + "$ref": "#/definitions/EntityLongRunningOperation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary": { + "get": { + "tags": [ + "Glossary" + ], + "description": "Get all glossaries. Recommend using limit/offset to get pagination result. Recommended using 'ignoreTermsAndCategories=true' and fetch terms/categories separately using 'GET /datamap/api/atlas/v2/glossary/{glossaryGuid}/terms' and 'GET '/datamap/api/atlas/v2/glossary/{glossaryGuid}/categories'.", + "operationId": "Glossary_List", + "x-ms-examples": { + "Glossary_List": { + "$ref": "./examples/Glossary_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/offset" + }, + { + "$ref": "#/parameters/sort" + }, + { + "$ref": "#/parameters/ignoreTermsAndCategories" + }, + { + "$ref": "#/parameters/atlasAPIVersion" + } + ], + "responses": { + "200": { + "description": "An array of existing glossaries fitting the search criteria or empty list if nothing matches.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/AtlasGlossary" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "post": { + "tags": [ + "Glossary" + ], + "description": "Create a glossary.", + "operationId": "Glossary_Create", + "x-ms-examples": { + "Glossary_Create": { + "$ref": "./examples/Glossary_Create.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "atlasGlossary", + "description": "Glossary definition, terms & categories can be anchored to a glossary.\nUsing the anchor attribute when creating the Term/Category.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasGlossary" + } + } + ], + "responses": { + "200": { + "description": "OK. If glossary creation was successful.", + "schema": { + "$ref": "#/definitions/AtlasGlossary" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/categories": { + "post": { + "tags": [ + "Glossary" + ], + "description": "Create glossary category in bulk.", + "operationId": "Glossary_CreateCategories", + "x-ms-examples": { + "Glossary_CreateCategories": { + "$ref": "./examples/Glossary_CreateCategories.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "glossaryCategory", + "description": "An array of glossary category definitions to be created.", + "required": true, + "schema": { + "type": "array", + "description": "An array of glossary category definitions.", + "items": { + "$ref": "#/definitions/AtlasGlossaryCategory" + } + } + } + ], + "responses": { + "200": { + "description": "OK. If bulk glossary category creation was successful.", + "schema": { + "type": "array", + "description": "An array of glossary category created successfully in bulk.", + "items": { + "$ref": "#/definitions/AtlasGlossaryCategory" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/category": { + "post": { + "tags": [ + "Glossary" + ], + "description": "Create a glossary category.", + "operationId": "Glossary_CreateCategory", + "x-ms-examples": { + "Glossary_CreateCategory": { + "$ref": "./examples/Glossary_CreateCategory.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "glossaryCategory", + "description": "The glossary category definition. A category must be anchored to a Glossary when creating.\nOptionally, terms belonging to the category and the hierarchy can also be defined during creation.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasGlossaryCategory" + } + } + ], + "responses": { + "200": { + "description": "OK. If glossary category creation was successful.", + "schema": { + "$ref": "#/definitions/AtlasGlossaryCategory" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/category/{categoryGuid}": { + "get": { + "tags": [ + "Glossary" + ], + "description": "Get specific glossary category by its GUID.", + "operationId": "Glossary_GetCategory", + "x-ms-examples": { + "Glossary_GetCategory": { + "$ref": "./examples/Glossary_GetCategory.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/categoryGuid" + } + ], + "responses": { + "200": { + "description": "OK. If glossary category exists for given GUID.", + "schema": { + "$ref": "#/definitions/AtlasGlossaryCategory" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Glossary" + ], + "description": "Update the given glossary category by its GUID.", + "operationId": "Glossary_UpdateCategory", + "x-ms-examples": { + "Glossary_UpdateCategory": { + "$ref": "./examples/Glossary_UpdateCategory.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/categoryGuid" + }, + { + "in": "body", + "name": "glossaryCategory", + "description": "The glossary category to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasGlossaryCategory" + } + } + ], + "responses": { + "200": { + "description": "OK. If glossary category partial update was successful.", + "schema": { + "$ref": "#/definitions/AtlasGlossaryCategory" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Glossary" + ], + "description": "Delete a glossary category.", + "operationId": "Glossary_DeleteCategory", + "x-ms-examples": { + "Glossary_DeleteCategory": { + "$ref": "./examples/Glossary_DeleteCategory.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/categoryGuid" + } + ], + "responses": { + "204": { + "description": "OK. If glossary category deletion is successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/category/{categoryGuid}/partial": { + "put": { + "tags": [ + "Glossary" + ], + "description": "Update the glossary category partially. So far we only supports partial updating shortDescription and longDescription for category.", + "operationId": "Glossary_PartialUpdateCategory", + "x-ms-examples": { + "Glossary_PartialUpdateCategory": { + "$ref": "./examples/Glossary_PartialUpdateCategory.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/categoryGuid" + }, + { + "in": "body", + "name": "partialUpdates", + "description": "A map containing keys as attribute names and values as corresponding attribute values for partial update.", + "required": true, + "schema": { + "type": "object", + "description": "A map containing keys as attribute names and values as corresponding attribute values." + } + } + ], + "responses": { + "200": { + "description": "OK. If glossary category partial update was successful.", + "schema": { + "$ref": "#/definitions/AtlasGlossaryCategory" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/category/{categoryGuid}/related": { + "get": { + "tags": [ + "Glossary" + ], + "description": "Get all related categories (parent and children). Limit, offset, and sort parameters are currently not being enabled and won't work even they are passed.", + "operationId": "Glossary_ListRelatedCategories", + "x-ms-examples": { + "Glossary_ListRelatedCategories": { + "$ref": "./examples/Glossary_ListRelatedCategories.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/categoryGuid" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/offset" + }, + { + "$ref": "#/parameters/sort" + } + ], + "responses": { + "200": { + "description": "OK. Gets an array of related categories.", + "schema": { + "$ref": "#/definitions/RelatedCategoryHeaders" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/category/{categoryGuid}/terms": { + "get": { + "tags": [ + "Glossary" + ], + "description": "Get all terms associated with the specific category.", + "operationId": "Glossary_ListCategoryTerms", + "x-ms-examples": { + "Glossary_ListCategoryTerms": { + "$ref": "./examples/Glossary_ListCategoryTerms.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/categoryGuid" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/offset" + }, + { + "$ref": "#/parameters/sort" + } + ], + "responses": { + "200": { + "description": "An array of terms for the given category or an empty list.", + "schema": { + "type": "array", + "description": "An array of terms for the given category or an empty list.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/term": { + "post": { + "tags": [ + "Glossary" + ], + "description": "Create a glossary term.", + "operationId": "Glossary_CreateTerm", + "x-ms-examples": { + "Glossary_CreateTerm": { + "$ref": "./examples/Glossary_CreateTerm.json" + }, + "Glossary_CreateTermWithTemplate": { + "$ref": "./examples/Glossary_CreateTermWithTemplate.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "glossaryTerm", + "description": "The glossary term definition. A term must be anchored to a Glossary at the time of creation.\nOptionally it can be categorized as well.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasGlossaryTerm" + } + }, + { + "$ref": "#/parameters/includeTermHierarchy" + } + ], + "responses": { + "200": { + "description": "OK. If glossary term creation was successful.", + "schema": { + "$ref": "#/definitions/AtlasGlossaryTerm" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/term/{termGuid}": { + "get": { + "tags": [ + "Glossary" + ], + "description": "Get a specific glossary term by its GUID. ", + "operationId": "Glossary_GetTerm", + "x-ms-examples": { + "Glossary_GetTerm": { + "$ref": "./examples/Glossary_GetTerm.json" + }, + "Glossary_GetTerm_WithoutAssets": { + "$ref": "./examples/Glossary_GetTermWithoutAssets.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/atlasAPIVersion" + }, + { + "$ref": "#/parameters/termGuid" + } + ], + "responses": { + "200": { + "description": "OK. If glossary term exists for given GUID.", + "schema": { + "$ref": "#/definitions/AtlasGlossaryTerm" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Glossary" + ], + "description": "Update the given glossary term by its GUID.", + "operationId": "Glossary_UpdateTerm", + "x-ms-examples": { + "Glossary_UpdateTerm": { + "$ref": "./examples/Glossary_UpdateTerm.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/atlasAPIVersion" + }, + { + "$ref": "#/parameters/termGuid" + }, + { + "in": "body", + "name": "glossaryTerm", + "description": "The glossary term to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasGlossaryTerm" + } + }, + { + "$ref": "#/parameters/includeTermHierarchy" + } + ], + "responses": { + "200": { + "description": "OK. If glossary term update was successful.", + "schema": { + "$ref": "#/definitions/AtlasGlossaryTerm" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Glossary" + ], + "description": "Delete a glossary term.", + "operationId": "Glossary_DeleteTerm", + "x-ms-examples": { + "Glossary_DeleteTerm": { + "$ref": "./examples/Glossary_DeleteTerm.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/termGuid" + } + ], + "responses": { + "204": { + "description": "OK. If glossary term delete was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/term/{termGuid}/partial": { + "put": { + "tags": [ + "Glossary" + ], + "description": "Update the glossary term partially. So far we only supports partial updating shortDescription, longDescription, abbreviation, usage and status for term.", + "operationId": "Glossary_PartialUpdateTerm", + "x-ms-examples": { + "Glossary_PartialUpdateTerm": { + "$ref": "./examples/Glossary_PartialUpdateTerm.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/atlasAPIVersion" + }, + { + "$ref": "#/parameters/termGuid" + }, + { + "$ref": "#/parameters/includeTermHierarchy" + }, + { + "in": "body", + "name": "partialUpdates", + "description": "A map containing keys as attribute names and values as corresponding attribute values to be updated.", + "required": true, + "schema": { + "type": "object", + "description": "A map containing keys as attribute names and values as corresponding attribute values." + } + } + ], + "responses": { + "200": { + "description": "OK. If glossary partial update was successful.", + "schema": { + "$ref": "#/definitions/AtlasGlossaryTerm" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/terms": { + "post": { + "tags": [ + "Glossary" + ], + "description": "Create glossary terms in bulk.", + "operationId": "Glossary_CreateTerms", + "x-ms-examples": { + "Glossary_CreateTerms": { + "$ref": "./examples/Glossary_CreateTerms.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/atlasAPIVersion" + }, + { + "in": "body", + "name": "glossaryTerm", + "description": "An array of glossary term definitions to be created in bulk.", + "required": true, + "schema": { + "type": "array", + "description": "An array of glossary term definitions.", + "items": { + "$ref": "#/definitions/AtlasGlossaryTerm" + } + } + }, + { + "$ref": "#/parameters/includeTermHierarchy" + } + ], + "responses": { + "200": { + "description": "OK. If bulk glossary terms creation was successful.", + "schema": { + "type": "array", + "description": "If bulk glossary terms creation was successful.", + "items": { + "$ref": "#/definitions/AtlasGlossaryTerm" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/terms/{termGuid}/assignedEntities": { + "get": { + "tags": [ + "Glossary" + ], + "description": "List all related objects assigned with the specified term. Recommend using limit/offset to get pagination result.", + "operationId": "Glossary_ListEntitiesAssignedWithTerm", + "x-ms-examples": { + "Glossary_ListEntitiesAssignedWithTerm": { + "$ref": "./examples/Glossary_ListEntitiesAssignedWithTerm.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/termGuid" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/offset" + }, + { + "$ref": "#/parameters/sort" + } + ], + "responses": { + "200": { + "description": "OK. An array of related objects (if any) for the given glossary or an empty list.", + "schema": { + "type": "array", + "description": "An array of related objects (if any) for the given glossary or an empty list.", + "items": { + "$ref": "#/definitions/AtlasRelatedObjectId" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "post": { + "tags": [ + "Glossary" + ], + "description": "Assign the given term to the provided list of related objects. Recommend using small batches with multiple API calls.", + "operationId": "Glossary_AssignTermToEntities", + "x-ms-examples": { + "Glossary_AssignTermToEntities": { + "$ref": "./examples/Glossary_AssignTermToEntities.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/termGuid" + }, + { + "in": "body", + "name": "relatedObjectIds", + "description": "An array of related object IDs to which the term has to be associated.", + "required": true, + "schema": { + "type": "array", + "description": "An array of related object IDs to which the term has to be associated.", + "items": { + "$ref": "#/definitions/AtlasRelatedObjectId" + } + } + } + ], + "responses": { + "204": { + "description": "OK. If the term assignment was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Glossary" + ], + "description": "Delete the term assignment for the given list of related objects.", + "operationId": "Glossary_DeleteTermAssignmentFromEntities", + "x-ms-examples": { + "Glossary_RemoveTermAssignmentFromEntities": { + "$ref": "./examples/Glossary_RemoveTermAssignmentFromEntities.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/termGuid" + }, + { + "in": "body", + "name": "relatedObjectIds", + "description": "An array of related object IDs from which the term has to be dissociated.", + "required": true, + "schema": { + "type": "array", + "description": "An array of related object IDs from which the term has to be dissociated.", + "items": { + "$ref": "#/definitions/AtlasRelatedObjectId" + } + } + } + ], + "responses": { + "204": { + "description": "OK. If glossary term dissociation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/terms/{termGuid}/related": { + "get": { + "tags": [ + "Glossary" + ], + "description": "Get all related terms for a specific term by its GUID. Limit, offset, and sort parameters are currently not being enabled and won't work even they are passed.", + "operationId": "Glossary_ListRelatedTerms", + "x-ms-examples": { + "Glossary_ListRelatedTerms": { + "$ref": "./examples/Glossary_ListRelatedTerms.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/atlasAPIVersion" + }, + { + "$ref": "#/parameters/termGuid" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/offset" + }, + { + "$ref": "#/parameters/sort" + } + ], + "responses": { + "200": { + "description": "OK. An array of related glossary terms for the given glossary or an empty list.", + "schema": { + "$ref": "#/definitions/RelatedTermHeaders" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/{glossaryGuid}": { + "get": { + "tags": [ + "Glossary" + ], + "description": "Get a specific Glossary by its GUID.", + "operationId": "Glossary_Get", + "x-ms-examples": { + "Glossary_Get": { + "$ref": "./examples/Glossary_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/glossaryGuid" + } + ], + "responses": { + "200": { + "description": "OK. If glossary with given guid exists.", + "schema": { + "$ref": "#/definitions/AtlasGlossary" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Glossary" + ], + "description": "Update the given glossary.", + "operationId": "Glossary_Update", + "x-ms-examples": { + "Glossary_Update": { + "$ref": "./examples/Glossary_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/atlasAPIVersion" + }, + { + "$ref": "#/parameters/glossaryGuid" + }, + { + "$ref": "#/parameters/ignoreTermsAndCategories" + }, + { + "in": "body", + "name": "updatedGlossary", + "description": "The glossary definition to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasGlossary" + } + } + ], + "responses": { + "200": { + "description": "OK. If glossary update was successful.", + "schema": { + "$ref": "#/definitions/AtlasGlossary" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Glossary" + ], + "description": "Delete a glossary. Will delete underlying terms/categories together. Recommend separate delete terms and categories.", + "operationId": "Glossary_Delete", + "x-ms-examples": { + "Glossary_Delete": { + "$ref": "./examples/Glossary_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/glossaryGuid" + } + ], + "responses": { + "204": { + "description": "OK. If glossary delete was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/{glossaryGuid}/categories": { + "get": { + "tags": [ + "Glossary" + ], + "description": "Get the categories belonging to a specific glossary. Recommend using limit/offset to get pagination result.", + "operationId": "Glossary_ListCategories", + "x-ms-examples": { + "Glossary_ListCategories": { + "$ref": "./examples/Glossary_ListCategories.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/glossaryGuid" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/offset" + }, + { + "$ref": "#/parameters/sort" + } + ], + "responses": { + "200": { + "description": "OK. An array of glossary categories for the given glossary or an empty list.", + "schema": { + "type": "array", + "description": "An array of glossary categories for the given glossary or an empty list.", + "items": { + "$ref": "#/definitions/AtlasGlossaryCategory" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/{glossaryGuid}/categories/headers": { + "get": { + "tags": [ + "Glossary" + ], + "description": "Get the category headers belonging to a specific glossary. Recommend using limit/offset to get pagination result.", + "operationId": "Glossary_ListCategoriesHeaders", + "x-ms-examples": { + "Glossary_ListCategoriesHeaders": { + "$ref": "./examples/Glossary_ListCategoriesHeaders.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/glossaryGuid" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/offset" + }, + { + "$ref": "#/parameters/sort" + } + ], + "responses": { + "200": { + "description": "OK. An array of glossary category headers for the given glossary or an empty list.", + "schema": { + "type": "array", + "description": "An array of glossary category headers for the given glossary or an empty list.", + "items": { + "$ref": "#/definitions/AtlasRelatedCategoryHeader" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/{glossaryGuid}/detailed": { + "get": { + "tags": [ + "Glossary" + ], + "description": "Get a specific glossary with detailed information. This API is not recommend. Recommended fetch terms/categories details separately using 'GET /datamap/api/atlas/v2/glossary/{glossaryGuid}/terms' and 'GET '/datamap/api/atlas/v2/glossary/{glossaryGuid}/categories'.", + "operationId": "Glossary_GetDetailed", + "x-ms-examples": { + "Glossary_GetDetailed": { + "$ref": "./examples/Glossary_GetDetailed.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/atlasAPIVersion" + }, + { + "$ref": "#/parameters/glossaryGuid" + } + ], + "responses": { + "200": { + "description": "OK. If glossary exists for given GUID.", + "schema": { + "$ref": "#/definitions/AtlasGlossaryExtInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/{glossaryGuid}/partial": { + "put": { + "tags": [ + "Glossary" + ], + "description": "Update the glossary partially. Some properties such as qualifiedName are not allowed to be updated. So far we only supports partial updating shortDescription, longDescription, language and usage for glossary. Recommend using 'ignoreTermsAndCategories=true' to reduce response body size.", + "operationId": "Glossary_PartialUpdate", + "x-ms-examples": { + "Glossary_PartialUpdate": { + "$ref": "./examples/Glossary_PartialUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/atlasAPIVersion" + }, + { + "$ref": "#/parameters/glossaryGuid" + }, + { + "$ref": "#/parameters/ignoreTermsAndCategories" + }, + { + "in": "body", + "name": "partialUpdates", + "description": "A map containing keys as attribute names and values as corresponding attribute values.", + "required": true, + "schema": { + "type": "object", + "description": "A map containing keys as attribute names and values as corresponding attribute values." + } + } + ], + "responses": { + "200": { + "description": "OK. If glossary partial update was successful.", + "schema": { + "$ref": "#/definitions/AtlasGlossary" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/{glossaryGuid}/terms": { + "get": { + "tags": [ + "Glossary" + ], + "description": "Get terms belonging to a specific glossary. Recommend using limit/offset to get pagination result.", + "operationId": "Glossary_ListTerms", + "x-ms-examples": { + "Glossary_ListTerms": { + "$ref": "./examples/Glossary_ListTerms.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/atlasAPIVersion" + }, + { + "$ref": "#/parameters/glossaryGuid" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/offset" + }, + { + "$ref": "#/parameters/sort" + } + ], + "responses": { + "200": { + "description": "OK. An array of glossary terms for the given glossary or an empty list.", + "schema": { + "type": "array", + "description": "An array of glossary terms for the given glossary or an empty list.", + "items": { + "$ref": "#/definitions/AtlasGlossaryTerm" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/glossary/{glossaryGuid}/terms/headers": { + "get": { + "tags": [ + "Glossary" + ], + "description": "Get term headers belonging to a specific glossary. Recommend using limit/offset to get pagination result.", + "operationId": "Glossary_ListTermHeaders", + "x-ms-examples": { + "Glossary_ListTermHeaders": { + "$ref": "./examples/Glossary_ListTermHeaders.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/glossaryGuid" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/offset" + }, + { + "$ref": "#/parameters/sort" + } + ], + "responses": { + "200": { + "description": "OK. An array of glossary terms for the given glossary or an empty list.", + "schema": { + "type": "array", + "description": "An array of glossary terms for the given glossary or an empty list.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/search/query": { + "post": { + "tags": [ + "Discovery" + ], + "description": "Gets data using search.", + "operationId": "Discovery_Query", + "x-ms-examples": { + "Discovery_Query": { + "$ref": "./examples/Discovery_Query.json" + }, + "Discovery_Query_And": { + "$ref": "./examples/Discovery_Query_And.json" + }, + "Discovery_Query_Not": { + "$ref": "./examples/Discovery_Query_Not.json" + }, + "Discovery_Query_AndOrNested": { + "$ref": "./examples/Discovery_Query_AndOrNested.json" + }, + "Discovery_Query_SystemTime": { + "$ref": "./examples/Discovery_Query_SystemTime.json" + }, + "Discovery_Query_BusinessMetadataAttribute": { + "$ref": "./examples/Discovery_Query_BusinessMetadataAttribute.json" + }, + "Discovery_Query_Attribute": { + "$ref": "./examples/Discovery_Query_Attribute.json" + }, + "Discovery_Query_Classification": { + "$ref": "./examples/Discovery_Query_Classification.json" + }, + "Discovery_Query_FileExtension": { + "$ref": "./examples/Discovery_Query_FileExtension.json" + }, + "Discovery_Query_Id": { + "$ref": "./examples/Discovery_Query_Id.json" + }, + "Discovery_Query_EntityType": { + "$ref": "./examples/Discovery_Query_Type.json" + }, + "Discovery_Query_AssetType": { + "$ref": "./examples/Discovery_Query_AssetType.json" + }, + "Discovery_Query_Term": { + "$ref": "./examples/Discovery_Query_TermAssignment.json" + }, + "Discovery_Query_Facet": { + "$ref": "./examples/Discovery_Query_Facet.json" + }, + "Discovery_Query_Taxonomy": { + "$ref": "./examples/Discovery_Query_Taxonomy.json" + }, + "Discovery_Query_Collection": { + "$ref": "./examples/Discovery_Query_Collection.json" + }, + "Discovery_Query_GlossaryTerm": { + "$ref": "./examples/Discovery_Query_GlossaryTerm.json" + }, + "Discovery_Query_ObjectType": { + "$ref": "./examples/Discovery_Query_ObjectType.json" + }, + "Discovery_Query_PaginationFirstPage": { + "$ref": "./examples/Discovery_Query_PaginationFirstPage.json" + }, + "Discovery_Query_PaginationContinuationPage": { + "$ref": "./examples/Discovery_Query_PaginationContinuationPage.json" + }, + "Discovery_Query_PaginationLastPage": { + "$ref": "./examples/Discovery_Query_PaginationLastPage.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "searchRequest", + "description": "An object specifying the search criteria.", + "required": true, + "schema": { + "$ref": "#/definitions/SearchRequest" + } + }, + { + "$ref": "#/parameters/purviewAPIVersion" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the advanced search.", + "schema": { + "$ref": "#/definitions/SearchResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/search/suggest": { + "post": { + "tags": [ + "Discovery" + ], + "description": "Get search suggestions by query criteria.", + "operationId": "Discovery_Suggest", + "x-ms-examples": { + "Discovery_Suggest": { + "$ref": "./examples/Discovery_Suggest.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "suggestRequest", + "description": "An object specifying the suggest criteria.", + "required": true, + "schema": { + "$ref": "#/definitions/SuggestRequest" + } + }, + { + "$ref": "#/parameters/purviewAPIVersion" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the suggestions.", + "schema": { + "$ref": "#/definitions/SuggestResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/search/autocomplete": { + "post": { + "tags": [ + "Discovery" + ], + "description": "Get auto complete options.", + "operationId": "Discovery_AutoComplete", + "x-ms-examples": { + "Discovery_AutoComplete": { + "$ref": "./examples/Discovery_AutoComplete.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "autoCompleteRequest", + "description": "An object specifying the autocomplete criteria.", + "required": true, + "schema": { + "$ref": "#/definitions/AutoCompleteRequest" + } + }, + { + "$ref": "#/parameters/purviewAPIVersion" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the auto complete options.", + "schema": { + "$ref": "#/definitions/AutoCompleteResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/lineage/{guid}": { + "get": { + "tags": [ + "Lineage" + ], + "description": "Get lineage info of the entity specified by GUID.", + "operationId": "Lineage_Get", + "x-ms-examples": { + "Lineage_Get": { + "$ref": "./examples/Lineage_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "$ref": "#/parameters/depth" + }, + { + "$ref": "#/parameters/direction" + } + ], + "responses": { + "200": { + "description": "OK. If the request is valid.", + "schema": { + "$ref": "#/definitions/AtlasLineageInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/lineage/{guid}/next/": { + "get": { + "tags": [ + "Lineage" + ], + "description": "Return immediate next page lineage info about entity with pagination", + "operationId": "Lineage_GetNextPage", + "x-ms-examples": { + "Lineage_GetNextPage": { + "$ref": "./examples/Lineage_GetNextPage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/guid" + }, + { + "$ref": "#/parameters/direction" + }, + { + "$ref": "#/parameters/offset" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/purviewAPIVersion" + } + ], + "responses": { + "200": { + "description": "OK. If the input is valid.", + "schema": { + "$ref": "#/definitions/AtlasLineageInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/lineage/uniqueAttribute/type/{typeName}": { + "get": { + "tags": [ + "Lineage" + ], + "description": "Returns lineage info about entity.\n\nIn addition to the typeName path parameter, attribute key-value pair(s) can be provided in the following format\n\nattr:[attrName]=[attrValue]\n\nNOTE: The attrName and attrValue should be unique across entities, eg. qualifiedName.\nThe REST request would look something like this:\nGET /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.", + "operationId": "Lineage_GetByUniqueAttribute", + "x-ms-examples": { + "Lineage_GetByUniqueAttribute": { + "$ref": "./examples/Lineage_GetByUniqueAttribute.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/typeName" + }, + { + "$ref": "#/parameters/depth" + }, + { + "$ref": "#/parameters/direction" + }, + { + "name": "attr:qualifiedName", + "in": "query", + "description": "The qualified name of the entity. (This is only an example. qualifiedName can be changed to other unique attributes)", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/AtlasLineageInfo", + "description": "If Lineage exists for the given entity" + }, + "description": "If Lineage exists for the given entity" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/relationship": { + "post": { + "tags": [ + "Relationship" + ], + "description": "Create a new relationship between entities.", + "operationId": "Relationship_Create", + "x-ms-examples": { + "Relationship_Create": { + "$ref": "./examples/Relationship_Create.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "relationship", + "description": "The AtlasRelationship object containing the information for the relationship to be created.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasRelationship" + } + } + ], + "responses": { + "200": { + "description": "OK. The relationship is created.", + "schema": { + "$ref": "#/definitions/AtlasRelationship" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Relationship" + ], + "description": "Update an existing relationship between entities.", + "operationId": "Relationship_Update", + "x-ms-examples": { + "Relationship_Update": { + "$ref": "./examples/Relationship_Update.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "relationship", + "description": "The AtlasRelationship object containing the information for the relationship to be created.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasRelationship" + } + } + ], + "responses": { + "200": { + "description": "OK. The relationship is updated.", + "schema": { + "$ref": "#/definitions/AtlasRelationship" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/relationship/guid/{guid}": { + "get": { + "tags": [ + "Relationship" + ], + "description": "Get relationship information between entities by its GUID.", + "operationId": "Relationship_Get", + "x-ms-examples": { + "Relationship_Get": { + "$ref": "./examples/Relationship_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/relationshipGuid" + }, + { + "$ref": "#/parameters/extendedInfo" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AtlasRelationshipWithExtInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Relationship" + ], + "description": "Delete a relationship between entities by its GUID.", + "operationId": "Relationship_Delete", + "x-ms-examples": { + "Relationship_Delete": { + "$ref": "./examples/Relationship_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/relationshipGuid" + } + ], + "responses": { + "204": { + "description": "OK. The relationship is deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/businessmetadatadef/guid/{guid}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the businessMetadata definition for the given guid", + "operationId": "Type_GetBusinessMetadataDefByGuid", + "x-ms-examples": { + "Type_GetBusinessMetadataDefByGuid": { + "$ref": "./examples/Type_GetBusinessMetadataDefByGuid.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "guid", + "in": "path", + "type": "string", + "description": "businessMetadata guid", + "required": true + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/AtlasBusinessMetadataDef", + "description": "On successful lookup of the the businessMetadata definition by it's guid" + }, + "description": "On successful lookup of the the businessMetadata definition by it's guid" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/businessmetadatadef/name/{name}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the businessMetadata definition by it's name (unique)", + "operationId": "Type_GetBusinessMetadataDefByName", + "x-ms-examples": { + "Type_GetBusinessMetadataDefByName": { + "$ref": "./examples/Type_GetBusinessMetadataDefByName.json" + } + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "name", + "in": "path", + "type": "string", + "description": "businessMetadata name", + "required": true + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/AtlasBusinessMetadataDef", + "description": "On successful lookup of the the businessMetadata definition by it's name" + }, + "description": "On successful lookup of the the businessMetadata definition by it's name" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/classificationdef/guid/{guid}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the classification definition for the given GUID.", + "operationId": "Type_GetClassificationDefByGuid", + "x-ms-examples": { + "Type_GetClassificationDefByGuid": { + "$ref": "./examples/Type_GetClassificationDefByGuid.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/classificationDefGuid" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the classification definition by its GUID.", + "schema": { + "$ref": "#/definitions/AtlasClassificationDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/classificationdef/name/{name}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the classification definition by its name (unique).", + "operationId": "Type_GetClassificationDefByName", + "x-ms-examples": { + "Type_GetClassificationDefByName": { + "$ref": "./examples/Type_GetClassificationDefByName.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/classificationDefName" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the classification definition by its name.", + "schema": { + "$ref": "#/definitions/AtlasClassificationDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/entitydef/guid/{guid}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the Entity definition for the given GUID.", + "operationId": "Type_GetEntityDefByGuid", + "x-ms-examples": { + "Type_GetEntityDefByGuid": { + "$ref": "./examples/Type_GetEntityDefByGuid.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/entityDefGuid" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the entity definition by its GUID.", + "schema": { + "$ref": "#/definitions/AtlasEntityDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/entitydef/name/{name}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the entity definition by its name (unique).", + "operationId": "Type_GetEntityDefByName", + "x-ms-examples": { + "Type_GetEntityDefByName": { + "$ref": "./examples/Type_GetEntityDefByName.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/entityDefName" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the entity definition by its name.", + "schema": { + "$ref": "#/definitions/AtlasEntityDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/enumdef/guid/{guid}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the enum definition for the given GUID.", + "operationId": "Type_GetEnumDefByGuid", + "x-ms-examples": { + "Type_GetEnumDefByGuid": { + "$ref": "./examples/Type_GetEnumDefByGuid.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/enumDefGuid" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the enum definition by its GUID.", + "schema": { + "$ref": "#/definitions/AtlasEnumDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/enumdef/name/{name}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the enum definition by its name (unique).", + "operationId": "Type_GetEnumDefByName", + "x-ms-examples": { + "Type_GetEnumDefByName": { + "$ref": "./examples/Type_GetEnumDefByName.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/enumDefName" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the enum definition by its name.", + "schema": { + "$ref": "#/definitions/AtlasEnumDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/relationshipdef/guid/{guid}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the relationship definition for the given GUID.", + "operationId": "Type_GetRelationshipDefByGuid", + "x-ms-examples": { + "Type_GetRelationshipDefByGuid": { + "$ref": "./examples/Type_GetRelationshipDefByGuid.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/relationshipDefGuid" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the relationship definition by its GUID.", + "schema": { + "$ref": "#/definitions/AtlasRelationshipDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/relationshipdef/name/{name}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the relationship definition by its name (unique).", + "operationId": "Type_GetRelationshipDefByName", + "x-ms-examples": { + "Type_GetRelationshipDefByName": { + "$ref": "./examples/Type_GetRelationshipDefByName.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/relationshipDefName" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the relationship definition by its name.", + "schema": { + "$ref": "#/definitions/AtlasRelationshipDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/structdef/guid/{guid}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the struct definition for the given GUID.", + "operationId": "Type_GetStructDefByGuid", + "x-ms-examples": { + "Type_GetStructDefByGuid": { + "$ref": "./examples/Type_GetStructDefByGuid.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/structDefGuid" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the struct definition by its GUID.", + "schema": { + "$ref": "#/definitions/AtlasStructDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/structdef/name/{name}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the struct definition by its name (unique).", + "operationId": "Type_GetStructDefByName", + "x-ms-examples": { + "Type_GetStructDefByName": { + "$ref": "./examples/Type_GetStructDefByName.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/structDefName" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the struct definition by its name.", + "schema": { + "$ref": "#/definitions/AtlasStructDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/typedef/guid/{guid}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the type definition for the given GUID.", + "operationId": "Type_GetByGuid", + "x-ms-examples": { + "Type_GetByGuid": { + "$ref": "./examples/Type_GetByGuid.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeDefGuid" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the type definition by its GUID.", + "schema": { + "$ref": "#/definitions/AtlasTypeDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/typedef/name/{name}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the type definition by its name (unique).", + "operationId": "Type_GetByName", + "x-ms-examples": { + "Type_GetByName": { + "$ref": "./examples/Type_GetByName.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeDefName" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the type definition by its name.", + "schema": { + "$ref": "#/definitions/AtlasTypeDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Type" + ], + "description": "Delete API for type identified by its name.", + "operationId": "Type_Delete", + "x-ms-examples": { + "Type_Delete": { + "$ref": "./examples/Type_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/typeDefName" + } + ], + "responses": { + "204": { + "description": "On successful deletion of the requested type definitions" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/typedefs": { + "get": { + "tags": [ + "Type" + ], + "description": "List all type definitions in bulk.", + "operationId": "Type_List", + "x-ms-examples": { + "Type_List": { + "$ref": "./examples/Type_List.json" + }, + "Type_ListEnumDefs": { + "$ref": "./examples/Type_ListEnumDefs.json" + }, + "Type_ListTermTemplateDefs": { + "$ref": "./examples/Type_ListTermTemplateDefs.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/includeTermTemplate" + }, + { + "$ref": "#/parameters/type" + }, + { + "$ref": "#/parameters/purviewAPIVersion" + } + ], + "responses": { + "200": { + "description": "OK. AtlasTypesDef with type definitions matching the search criteria or else returns empty list of type definitions.", + "schema": { + "$ref": "#/definitions/AtlasTypesDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "post": { + "tags": [ + "Type" + ], + "description": "Create all atlas type definitions in bulk, only new definitions will be created.\nAny changes to the existing definitions will be discarded.", + "operationId": "Type_BulkCreate", + "x-ms-examples": { + "Type_BulkCreate": { + "$ref": "./examples/Type_BulkCreate.json" + }, + "Type_BulkCreateBusinessMetadataDefs": { + "$ref": "./examples/Type_BulkCreateBusinessMetadataDefs.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "typesDef", + "description": "A composite wrapper object with corresponding lists of the type definition.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasTypesDef" + } + } + ], + "responses": { + "200": { + "description": "OK. On successful update of requested type definitions.", + "schema": { + "$ref": "#/definitions/AtlasTypesDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Type" + ], + "description": "Update all types in bulk, changes detected in the type definitions would be persisted.", + "operationId": "Type_BulkUpdate", + "x-ms-examples": { + "Type_BulkUpdate": { + "$ref": "./examples/Type_BulkUpdate.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "typesDef", + "description": "A composite object that captures all type definition changes.", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasTypesDef" + } + } + ], + "responses": { + "200": { + "description": "OK. On successful update of requested type definitions.", + "schema": { + "$ref": "#/definitions/AtlasTypesDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Type" + ], + "description": "Delete API for all types in bulk.", + "operationId": "Type_BulkDelete", + "x-ms-examples": { + "Type_BulkDelete": { + "$ref": "./examples/Type_BulkDelete.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "typesDef", + "description": "A composite object that captures all types to be deleted", + "required": true, + "schema": { + "$ref": "#/definitions/AtlasTypesDef" + } + } + ], + "responses": { + "204": { + "description": "OK. On successful deletion of the requested type definitions." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/atlas/v2/types/typedefs/headers": { + "get": { + "tags": [ + "Type" + ], + "description": "List all type definitions returned as a list of minimal information header.", + "operationId": "Type_ListHeaders", + "x-ms-examples": { + "Type_ListHeaders": { + "$ref": "./examples/Type_ListHeaders.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/includeTermTemplate" + }, + { + "$ref": "#/parameters/type" + }, + { + "$ref": "#/parameters/purviewAPIVersion" + } + ], + "responses": { + "200": { + "description": "An array of AtlasTypeDefHeader matching the search criteria\nor an empty list if no match.", + "schema": { + "type": "array", + "description": "An array of AtlasTypeDefHeader matching the search criteria\nor an empty list if no match.", + "items": { + "$ref": "#/definitions/AtlasTypeDefHeader" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/types/termtemplatedef/guid/{guid}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the term template definition for the given GUID.", + "operationId": "Type_GetTermTemplateDefByGuid", + "x-ms-examples": { + "Type_GetTermTemplateDefByGuid": { + "$ref": "./examples/Type_GetTermTemplateDefByGuid.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/termTemplateDefGuid" + }, + { + "$ref": "#/parameters/purviewAPIVersion" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the term template definition by its GUID.", + "schema": { + "$ref": "#/definitions/TermTemplateDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/types/termtemplatedef/name/{name}": { + "get": { + "tags": [ + "Type" + ], + "description": "Get the term template definition by its name (unique).", + "operationId": "Type_GetTermTemplateDefByName", + "x-ms-examples": { + "Type_GetTermTemplateDefByName": { + "$ref": "./examples/Type_GetTermTemplateDefByName.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/termTemplateDefName" + }, + { + "$ref": "#/parameters/purviewAPIVersion" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of the the term template definition by its name.", + "schema": { + "$ref": "#/definitions/TermTemplateDef" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/audit/query": { + "post": { + "tags": [ + "Audit" + ], + "description": "Query audit logs for an asset, glossaryTerm, classificationDef, etc.", + "operationId": "Audit_Query", + "x-ms-examples": { + "Audit_Query": { + "$ref": "./examples/Audit_Query.json" + } + }, + "parameters": [ + { + "in": "body", + "name": "auditLogQueryRequest", + "description": "An object specifying the search criteria.", + "required": true, + "schema": { + "$ref": "#/definitions/AuditLogQueryRequest" + } + }, + { + "$ref": "#/parameters/purviewAPIVersion" + } + ], + "responses": { + "200": { + "description": "OK. On successful lookup of audit logs within the search criteria.", + "schema": { + "$ref": "#/definitions/AuditLogQueryResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "AtlasAttributeDef": { + "type": "object", + "properties": { + "cardinality": { + "$ref": "#/definitions/Cardinality" + }, + "constraints": { + "type": "array", + "description": "An array of constraints.", + "items": { + "$ref": "#/definitions/AtlasConstraintDef" + } + }, + "defaultValue": { + "type": "string", + "description": "The default value of the attribute." + }, + "description": { + "type": "string", + "description": "The description of the attribute." + }, + "includeInNotification": { + "type": "boolean", + "description": "Determines if it is included in notification." + }, + "isIndexable": { + "type": "boolean", + "description": "Determines if it is indexable." + }, + "isOptional": { + "type": "boolean", + "description": "Determines if it is optional." + }, + "isUnique": { + "type": "boolean", + "description": "Determines if it unique." + }, + "name": { + "type": "string", + "description": "The name of the attribute." + }, + "options": { + "type": "object", + "description": "The options for the attribute.", + "additionalProperties": { + "type": "string" + } + }, + "typeName": { + "type": "string", + "description": "The name of the type." + }, + "valuesMaxCount": { + "type": "integer", + "format": "int32", + "description": "The maximum count of the values." + }, + "valuesMinCount": { + "type": "integer", + "format": "int32", + "description": "The minimum count of the values." + } + }, + "title": "AtlasAttributeDef", + "description": "class that captures details of a struct-attribute." + }, + "AtlasBaseModelObject": { + "type": "object", + "properties": { + "guid": { + "type": "string", + "description": "The GUID of the object." + } + }, + "title": "AtlasBaseModelObject", + "description": "The base model object." + }, + "AtlasBaseTypeDef": { + "type": "object", + "properties": { + "category": { + "$ref": "#/definitions/TypeCategory" + }, + "createTime": { + "type": "integer", + "format": "int64", + "description": "The created time of the record." + }, + "createdBy": { + "type": "string", + "description": "The user who created the record." + }, + "dateFormatter": { + "$ref": "#/definitions/DateFormat" + }, + "description": { + "type": "string", + "description": "The description of the type definition." + }, + "guid": { + "type": "string", + "description": "The GUID of the type definition." + }, + "name": { + "type": "string", + "description": "The name of the type definition." + }, + "options": { + "type": "object", + "description": "The options for the type definition.", + "additionalProperties": { + "type": "string" + } + }, + "serviceType": { + "readOnly": false, + "description": "The service type.", + "type": "string" + }, + "typeVersion": { + "type": "string", + "description": "The version of the type." + }, + "updateTime": { + "type": "integer", + "format": "int64", + "description": "The update time of the record." + }, + "updatedBy": { + "type": "string", + "description": "The user who updated the record." + }, + "version": { + "type": "number", + "description": "The version of the record." + }, + "lastModifiedTS": { + "$ref": "#/definitions/LastModifiedTS" + } + }, + "title": "AtlasBaseTypeDef", + "description": "Base class that captures common-attributes for all types." + }, + "AtlasBusinessMetadataDef": { + "type": "object", + "title": "AtlasBusinessMetadataDef", + "allOf": [ + { + "$ref": "#/definitions/AtlasStructDef" + } + ], + "description": "class that captures details of a struct-type." + }, + "AtlasClassification": { + "type": "object", + "title": "AtlasClassification", + "properties": { + "entityGuid": { + "type": "string", + "description": "The GUID of the entity." + }, + "entityStatus": { + "$ref": "#/definitions/Status" + }, + "removePropagationsOnEntityDelete": { + "type": "boolean", + "description": "Determines if propagations will be removed on entity deletion." + }, + "validityPeriods": { + "type": "array", + "description": "An array of time boundaries indicating validity periods.", + "items": { + "$ref": "#/definitions/TimeBoundary" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasStruct" + } + ], + "description": "An instance of a classification; it doesn't have an identity, this object exists only when associated with an entity." + }, + "AtlasClassificationDef": { + "type": "object", + "title": "AtlasClassificationDef", + "properties": { + "entityTypes": { + "type": "array", + "description": "Specifying a list of entityType names in the classificationDef, ensures that classifications can\nonly be applied to those entityTypes.\n
    \n
  • Any subtypes of the entity types inherit the restriction
  • \n
  • Any classificationDef subtypes inherit the parents entityTypes restrictions
  • \n
  • Any classificationDef subtypes can further restrict the parents entityTypes restrictions by specifying a subset of the entityTypes
  • \n
  • An empty entityTypes list when there are no parent restrictions means there are no restrictions
  • \n
  • An empty entityTypes list when there are parent restrictions means that the subtype picks up the parents restrictions
  • \n
  • If a list of entityTypes are supplied, where one inherits from another, this will be rejected. This should encourage cleaner classificationsDefs
  • \n
", + "items": { + "type": "string" + } + }, + "subTypes": { + "type": "array", + "description": "An array of sub types.", + "items": { + "type": "string" + } + }, + "superTypes": { + "type": "array", + "description": "An array of super types.", + "items": { + "type": "string" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasStructDef" + } + ], + "description": "class that captures details of a classification-type." + }, + "AtlasClassifications": { + "type": "object", + "title": "AtlasClassifications", + "allOf": [ + { + "$ref": "#/definitions/PList" + } + ], + "description": "REST serialization friendly list." + }, + "AtlasConstraintDef": { + "type": "object", + "properties": { + "params": { + "type": "object", + "description": "The parameters of the constraint definition.", + "additionalProperties": {} + }, + "type": { + "type": "string", + "description": "The type of the constraint." + } + }, + "title": "AtlasConstraintDef", + "description": "class that captures details of a constraint." + }, + "AtlasEntitiesWithExtInfo": { + "type": "object", + "title": "AtlasEntitiesWithExtInfo", + "properties": { + "entities": { + "type": "array", + "description": "An array of entities.", + "items": { + "$ref": "#/definitions/AtlasEntity" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasEntityExtInfo" + } + ], + "description": "An instance of an entity along with extended info - like hive_table, hive_database." + }, + "AtlasEntity": { + "type": "object", + "title": "AtlasEntity", + "properties": { + "businessAttributes": { + "readOnly": false, + "description": "Business Attributes", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "classifications": { + "type": "array", + "description": "An array of classifications.", + "items": { + "$ref": "#/definitions/AtlasClassification" + } + }, + "createTime": { + "type": "integer", + "format": "int64", + "description": "The created time of the record." + }, + "createdBy": { + "type": "string", + "description": "The user who created the record." + }, + "customAttributes": { + "readOnly": false, + "description": "Custom Attribute", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "guid": { + "type": "string", + "description": "The GUID of the entity." + }, + "homeId": { + "type": "string", + "description": "The home ID of the entity." + }, + "collectionId": { + "readOnly": true, + "type": "string", + "description": "The collection ID of the entity." + }, + "isIncomplete": { + "readOnly": false, + "description": "Whether it is a shell entity", + "type": "boolean" + }, + "labels": { + "readOnly": false, + "description": "labels", + "type": "array", + "items": { + "type": "string" + } + }, + "meanings": { + "type": "array", + "description": "An array of term assignment headers indicating the meanings of the entity.", + "items": { + "$ref": "#/definitions/AtlasTermAssignmentHeader" + } + }, + "provenanceType": { + "readOnly": false, + "description": "Used to record the provenance of an instance of an entity or relationship.", + "type": "number" + }, + "proxy": { + "type": "boolean", + "description": "Determines if there's a proxy." + }, + "relationshipAttributes": { + "type": "object", + "description": "The attributes of relationship.", + "additionalProperties": {} + }, + "status": { + "$ref": "#/definitions/Status" + }, + "updateTime": { + "type": "integer", + "format": "int64", + "description": "The update time of the record." + }, + "updatedBy": { + "type": "string", + "description": "The user who updated the record." + }, + "version": { + "type": "number", + "description": "The version of the entity." + }, + "contacts": { + "type": "object", + "description": "The dictionary of contacts for entities. Key could be Expert or Owner.", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactBasic" + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasStruct" + } + ], + "description": "An instance of an entity - like hive_table, hive_database." + }, + "TermTemplateDef": { + "type": "object", + "title": "TermTemplateDef", + "allOf": [ + { + "$ref": "#/definitions/AtlasStructDef" + } + ], + "description": "term template definition for glossary term." + }, + "AtlasEntityDef": { + "type": "object", + "title": "AtlasEntityDef", + "properties": { + "subTypes": { + "type": "array", + "description": "An array of sub types.", + "items": { + "type": "string" + } + }, + "superTypes": { + "type": "array", + "description": "An array of super types.", + "items": { + "type": "string" + } + }, + "relationshipAttributeDefs": { + "type": "array", + "description": "An array of relationship attributes.", + "items": { + "$ref": "#/definitions/AtlasRelationshipAttributeDef" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasStructDef" + } + ], + "description": "class that captures details of a entity-type." + }, + "AtlasEntityExtInfo": { + "type": "object", + "properties": { + "referredEntities": { + "type": "object", + "description": "The referred entities.", + "additionalProperties": { + "$ref": "#/definitions/AtlasEntity" + } + } + }, + "title": "AtlasEntityExtInfo", + "description": "An instance of an entity along with extended info - like hive_table, hive_database." + }, + "AtlasEntityHeader": { + "type": "object", + "title": "AtlasEntityHeader", + "properties": { + "classificationNames": { + "type": "array", + "description": "An array of classification names.", + "items": { + "type": "string" + } + }, + "classifications": { + "type": "array", + "description": "An array of classifications.", + "items": { + "$ref": "#/definitions/AtlasClassification" + } + }, + "displayText": { + "type": "string", + "description": "The display text." + }, + "guid": { + "type": "string", + "description": "The GUID of the record." + }, + "isIncomplete": { + "readOnly": false, + "description": "Whether it is a shell entity", + "type": "boolean" + }, + "labels": { + "readOnly": false, + "description": "labels", + "type": "array", + "items": { + "type": "string" + } + }, + "meaningNames": { + "type": "array", + "description": "An array of meanings.", + "items": { + "type": "string" + } + }, + "meanings": { + "type": "array", + "description": "An array of term assignment headers.", + "items": { + "$ref": "#/definitions/AtlasTermAssignmentHeader" + } + }, + "status": { + "$ref": "#/definitions/Status" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasStruct" + } + ], + "description": "An instance of an entity - like hive_table, hive_database." + }, + "AtlasEntityHeaders": { + "type": "object", + "title": "AtlasEntityHeaders", + "properties": { + "guidHeaderMap": { + "readOnly": false, + "description": "The description of the guid header map,", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/AtlasEntityHeader" + } + } + }, + "description": "An instance of an entity header map." + }, + "AtlasEntityWithExtInfo": { + "type": "object", + "title": "AtlasEntityWithExtInfo", + "properties": { + "entity": { + "$ref": "#/definitions/AtlasEntity" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasEntityExtInfo" + } + ], + "description": "An instance of an entity along with extended info - like hive_table, hive_database." + }, + "AtlasEnumDef": { + "type": "object", + "title": "AtlasEnumDef", + "properties": { + "defaultValue": { + "type": "string", + "description": "The default value." + }, + "elementDefs": { + "type": "array", + "description": "An array of enum element definitions.", + "items": { + "$ref": "#/definitions/AtlasEnumElementDef" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasBaseTypeDef" + } + ], + "description": "class that captures details of an enum-type." + }, + "AtlasEnumElementDef": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of the enum element definition." + }, + "ordinal": { + "type": "number", + "description": "The ordinal of the enum element definition." + }, + "value": { + "type": "string", + "description": "The value of the enum element definition." + } + }, + "title": "AtlasEnumElementDef", + "description": "class that captures details of an enum-element." + }, + "AtlasGlossary": { + "type": "object", + "title": "AtlasGlossary", + "properties": { + "categories": { + "type": "array", + "description": "An array of categories.", + "items": { + "$ref": "#/definitions/AtlasRelatedCategoryHeader" + } + }, + "language": { + "type": "string", + "description": "The language of the glossary." + }, + "terms": { + "type": "array", + "description": "An array of related term headers.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "usage": { + "type": "string", + "description": "The usage of the glossary." + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasGlossaryBaseObject" + } + ], + "description": "The glossary object." + }, + "AtlasGlossaryBaseObject": { + "type": "object", + "title": "AtlasGlossaryBaseObject", + "properties": { + "classifications": { + "type": "array", + "description": "An array of classifications.", + "items": { + "$ref": "#/definitions/AtlasClassification" + } + }, + "longDescription": { + "type": "string", + "description": "The long version description." + }, + "name": { + "type": "string", + "description": "The name of the glossary object." + }, + "qualifiedName": { + "type": "string", + "description": "The qualified name of the glossary object." + }, + "shortDescription": { + "type": "string", + "description": "The short version of description." + }, + "lastModifiedTS": { + "$ref": "#/definitions/LastModifiedTS" + }, + "createTime": { + "type": "integer", + "format": "int64", + "description": "The created time of the record." + }, + "createdBy": { + "type": "string", + "description": "The user who created the record." + }, + "updateTime": { + "type": "integer", + "format": "int64", + "description": "The update time of the record." + }, + "updatedBy": { + "type": "string", + "description": "The user who updated the record." + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasBaseModelObject" + } + ], + "description": "The glossary base object." + }, + "AtlasGlossaryCategory": { + "type": "object", + "title": "AtlasGlossaryCategory", + "properties": { + "anchor": { + "$ref": "#/definitions/AtlasGlossaryHeader" + }, + "childrenCategories": { + "type": "array", + "description": "An array of children categories.", + "items": { + "$ref": "#/definitions/AtlasRelatedCategoryHeader" + } + }, + "parentCategory": { + "$ref": "#/definitions/AtlasRelatedCategoryHeader" + }, + "terms": { + "type": "array", + "description": "An array of related term headers.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasGlossaryBaseObject" + } + ], + "description": "The glossary category." + }, + "AtlasGlossaryExtInfo": { + "type": "object", + "title": "AtlasGlossaryExtInfo", + "properties": { + "categoryInfo": { + "type": "object", + "description": "The glossary category information.", + "additionalProperties": { + "$ref": "#/definitions/AtlasGlossaryCategory" + } + }, + "termInfo": { + "type": "object", + "description": "The glossary term information.", + "additionalProperties": { + "$ref": "#/definitions/AtlasGlossaryTerm" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasGlossary" + } + ], + "description": "The extended information of glossary." + }, + "AtlasGlossaryHeader": { + "type": "object", + "properties": { + "displayText": { + "type": "string", + "description": "The display text." + }, + "glossaryGuid": { + "type": "string", + "description": "The GUID of the glossary." + }, + "relationGuid": { + "type": "string", + "description": "The GUID of the relationship." + } + }, + "title": "AtlasGlossaryHeader", + "description": "The glossary header with basic information." + }, + "AtlasGlossaryTerm": { + "type": "object", + "title": "AtlasGlossaryTerm", + "properties": { + "abbreviation": { + "type": "string", + "description": "The abbreviation of the term." + }, + "templateName": { + "type": "array", + "items": { + "type": "object" + } + }, + "anchor": { + "$ref": "#/definitions/AtlasGlossaryHeader" + }, + "antonyms": { + "type": "array", + "description": "An array of related term headers as antonyms.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "status": { + "$ref": "#/definitions/TermStatus" + }, + "nickName": { + "type": "string", + "description": "The nick name of the term." + }, + "hierarchyInfo": { + "type": "array", + "description": "The hierarchy information of the term.", + "items": { + "$ref": "#/definitions/PurviewObjectId" + } + }, + "resources": { + "type": "array", + "description": "An array of resource link for term", + "items": { + "$ref": "#/definitions/ResourceLink" + } + }, + "contacts": { + "type": "object", + "description": "The dictionary of contacts for terms. Key could be Expert or Steward.", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactBasic" + } + } + }, + "attributes": { + "$ref": "#/definitions/TermCustomAttributes" + }, + "assignedEntities": { + "type": "array", + "description": "An array of related object IDs.", + "items": { + "$ref": "#/definitions/AtlasRelatedObjectId" + } + }, + "categories": { + "type": "array", + "description": "An array of term categorization headers.", + "items": { + "$ref": "#/definitions/AtlasTermCategorizationHeader" + } + }, + "classifies": { + "type": "array", + "description": "An array of related term headers.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "examples": { + "type": "array", + "description": "An array of examples.", + "items": { + "type": "string" + } + }, + "isA": { + "type": "array", + "description": "An array of related term headers indicating the is-a relationship.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "preferredTerms": { + "type": "array", + "description": "An array of preferred related term headers.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "preferredToTerms": { + "type": "array", + "description": "An array of related term headers that are preferred to.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "replacedBy": { + "type": "array", + "description": "An array of related term headers that are replaced by.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "replacementTerms": { + "type": "array", + "description": "An array of related term headers for replacement.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "seeAlso": { + "type": "array", + "description": "An array of related term headers for see also.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "synonyms": { + "type": "array", + "description": "An array of related term headers as synonyms.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "translatedTerms": { + "type": "array", + "description": "An array of translated related term headers.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "translationTerms": { + "type": "array", + "description": "An array of related term headers for translation.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "usage": { + "type": "string", + "description": "The usage of the term." + }, + "validValues": { + "type": "array", + "description": "An array of related term headers as valid values.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + }, + "validValuesFor": { + "type": "array", + "description": "An array of related term headers as valid values for other records.", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasGlossaryBaseObject" + } + ], + "description": "The glossary term." + }, + "ResourceLink": { + "title": "ResourceLink", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "Display name for url." + }, + "url": { + "type": "string", + "description": "web url. http or https" + } + } + }, + "ContactBasic": { + "title": "ContactBasic", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Azure Active Directory object Id." + }, + "info": { + "type": "string", + "description": "additional information to describe this contact." + } + } + }, + "TermStatus": { + "type": "string", + "title": "Status", + "description": "Status of the AtlasGlossaryTerm", + "enum": [ + "Draft", + "Approved", + "Alert", + "Expired" + ], + "x-ms-enum": { + "name": "TermStatus", + "modelAsString": true + } + }, + "TermCustomAttributes": { + "title": "attributes", + "description": "The custom attributes of the term, which is map>.\nThe key of the first layer map is term template name.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/TermCustomAttributesExtraProperties" + } + }, + "TermCustomAttributesExtraProperties": { + "type": "object", + "description": "The term attribute name and attribute value, which is map", + "additionalProperties": { + "description": "The value of custom term attribute" + } + }, + "AtlasLineageInfo": { + "type": "object", + "properties": { + "baseEntityGuid": { + "type": "string", + "description": "The GUID of the base entity." + }, + "guidEntityMap": { + "type": "object", + "description": "The GUID entity map.", + "additionalProperties": { + "$ref": "#/definitions/AtlasEntityHeader" + } + }, + "widthCounts": { + "type": "object", + "description": "The entity count in specific direction.", + "additionalProperties": { + "$ref": "#/definitions/AtlasLineageInfoExtraProperties" + } + }, + "lineageDepth": { + "type": "integer", + "format": "int32", + "description": "The depth of lineage." + }, + "lineageWidth": { + "type": "integer", + "format": "int32", + "description": "The width of lineage." + }, + "childrenCount": { + "type": "integer", + "format": "int32", + "description": "The number of children node." + }, + "lineageDirection": { + "$ref": "#/definitions/LineageDirection" + }, + "parentRelations": { + "type": "array", + "description": "An array of parentRelations relations.", + "items": { + "$ref": "#/definitions/ParentRelation" + } + }, + "relations": { + "type": "array", + "description": "An array of lineage relations.", + "items": { + "$ref": "#/definitions/LineageRelation" + } + } + }, + "title": "AtlasLineageInfo", + "description": "The lineage information." + }, + "AtlasLineageInfoExtraProperties": { + "type": "object", + "description": "The lineage direction", + "additionalProperties": { + "description": "The entity guid." + } + }, + "AtlasObjectId": { + "type": "object", + "properties": { + "guid": { + "type": "string", + "description": "The GUID of the object." + }, + "typeName": { + "type": "string", + "description": "The name of the type." + }, + "uniqueAttributes": { + "type": "object", + "description": "The unique attributes of the object.", + "additionalProperties": {} + } + }, + "title": "AtlasObjectId", + "description": "Reference to an object-instance of a type - like entity." + }, + "PurviewObjectId": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "displayText": { + "type": "string" + }, + "itemPath": { + "type": "string" + }, + "resourceId": { + "type": "string" + }, + "properties": { + "type": "object", + "additionalProperties": {} + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasObjectId" + } + ], + "title": "PurviewObjectId" + }, + "AtlasRelatedCategoryHeader": { + "type": "object", + "properties": { + "categoryGuid": { + "type": "string", + "description": "The GUID of the category." + }, + "description": { + "type": "string", + "description": "The description of the category header." + }, + "displayText": { + "type": "string", + "description": "The display text." + }, + "parentCategoryGuid": { + "type": "string", + "description": "The GUID of the parent category." + }, + "relationGuid": { + "type": "string", + "description": "The GUID of the relationship." + } + }, + "title": "AtlasRelatedCategoryHeader", + "description": "The header of the related category." + }, + "AtlasRelatedObjectId": { + "type": "object", + "title": "AtlasRelatedObjectId", + "properties": { + "displayText": { + "type": "string", + "description": "The display text." + }, + "entityStatus": { + "$ref": "#/definitions/Status" + }, + "relationshipType": { + "type": "string" + }, + "relationshipAttributes": { + "$ref": "#/definitions/AtlasStruct" + }, + "relationshipGuid": { + "type": "string", + "description": "The GUID of the relationship." + }, + "relationshipStatus": { + "$ref": "#/definitions/Status_AtlasRelationship" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasObjectId" + } + ], + "description": "Reference to an object-instance of AtlasEntity type used in relationship attribute values" + }, + "AtlasRelatedTermHeader": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of the related term." + }, + "displayText": { + "type": "string", + "description": "The display text." + }, + "expression": { + "type": "string", + "description": "The expression of the term." + }, + "relationGuid": { + "type": "string", + "description": "The GUID of the relationship." + }, + "status": { + "$ref": "#/definitions/AtlasTermRelationshipStatus" + }, + "steward": { + "type": "string", + "description": "The steward of the term." + }, + "termGuid": { + "type": "string", + "description": "The GUID of the term." + } + }, + "title": "AtlasRelatedTermHeader", + "description": "The header of the related term." + }, + "AtlasRelationship": { + "type": "object", + "title": "AtlasRelationship", + "properties": { + "createTime": { + "type": "integer", + "format": "int64", + "description": "The created time of the record." + }, + "createdBy": { + "type": "string", + "description": "The user who created the record." + }, + "end1": { + "$ref": "#/definitions/AtlasObjectId" + }, + "end2": { + "$ref": "#/definitions/AtlasObjectId" + }, + "guid": { + "type": "string", + "description": "The GUID of the relationship." + }, + "homeId": { + "type": "string", + "description": "The home ID of the relationship." + }, + "label": { + "type": "string", + "description": "The label of the relationship." + }, + "provenanceType": { + "readOnly": false, + "description": "Used to record the provenance of an instance of an entity or relationship", + "type": "number" + }, + "status": { + "$ref": "#/definitions/Status_AtlasRelationship" + }, + "updateTime": { + "type": "integer", + "format": "int64", + "description": "The update time of the record." + }, + "updatedBy": { + "type": "string", + "description": "The user who updated the record." + }, + "version": { + "type": "number", + "description": "The version of the relationship." + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasStruct" + } + ], + "description": "Atlas relationship instance." + }, + "AtlasRelationshipDef": { + "type": "object", + "title": "AtlasRelationshipDef", + "properties": { + "endDef1": { + "$ref": "#/definitions/AtlasRelationshipEndDef" + }, + "endDef2": { + "$ref": "#/definitions/AtlasRelationshipEndDef" + }, + "relationshipCategory": { + "$ref": "#/definitions/RelationshipCategory" + }, + "relationshipLabel": { + "type": "string", + "description": "The label of the relationship." + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasStructDef" + } + ], + "description": "AtlasRelationshipDef is a TypeDef that defines a relationship.\n

\nAs with other typeDefs the AtlasRelationshipDef has a name. Once created the RelationshipDef has a guid.\nThe name and the guid are the 2 ways that the RelationshipDef is identified.\n

\nRelationshipDefs have 2 ends, each of which specify cardinality, an EntityDef type name and name and optionally\nwhether the end is a container.\n

\nRelationshipDefs can have AttributeDefs - though only primitive types are allowed.
\nRelationshipDefs have a relationshipCategory specifying the UML type of relationship required
\nThe way EntityDefs and RelationshipDefs are intended to be used is that EntityDefs will define AttributeDefs these AttributeDefs\nwill not specify an EntityDef type name as their types.\n

\nRelationshipDefs introduce new attributes to the entity instances. For example\n

\nEntityDef A might have attributes attr1,attr2,attr3
\nEntityDef B might have attributes attr4,attr5,attr6
\nRelationshipDef AtoB might define 2 ends
\n\n

\n   end1:  type A, name attr7\n   end2:  type B, name attr8  
\n\n

\nWhen an instance of EntityDef A is created, it will have attributes attr1,attr2,attr3,attr7
\nWhen an instance of EntityDef B is created, it will have attributes attr4,attr5,attr6,attr8\n

\nIn this way relationshipDefs can be authored separately from entityDefs and can inject relationship attributes into\nthe entity instances" + }, + "AtlasRelationshipEndDef": { + "type": "object", + "properties": { + "cardinality": { + "$ref": "#/definitions/Cardinality" + }, + "description": { + "type": "string", + "description": "The description of the relationship end definition." + }, + "isContainer": { + "type": "boolean", + "description": "Determines if it is container." + }, + "isLegacyAttribute": { + "type": "boolean", + "description": "Determines if it is a legacy attribute." + }, + "name": { + "type": "string", + "description": "The name of the relationship end definition." + }, + "type": { + "type": "string", + "description": "The type of the relationship end." + } + }, + "title": "AtlasRelationshipEndDef", + "description": "The relationshipEndDef represents an end of the relationship. The end of the relationship is defined by a type, an\nattribute name, cardinality and whether it is the container end of the relationship." + }, + "AtlasRelationshipAttributeDef": { + "type": "object", + "properties": { + "isLegacyAttribute": { + "type": "boolean", + "description": "Determines if it is a legacy attribute." + }, + "relationshipTypeName": { + "type": "string", + "description": "The name of the relationship type." + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasAttributeDef" + } + ], + "title": "AtlasRelationshipEndDef", + "description": "The relationshipEndDef represents an end of the relationship. The end of the relationship is defined by a type, an\nattribute name, cardinality and whether it is the container end of the relationship." + }, + "AtlasRelationshipWithExtInfo": { + "type": "object", + "properties": { + "referredEntities": { + "type": "object", + "description": "The referred entity header.", + "additionalProperties": { + "$ref": "#/definitions/AtlasEntityHeader" + } + }, + "relationship": { + "$ref": "#/definitions/AtlasRelationship" + } + }, + "title": "AtlasRelationshipWithExtInfo", + "description": "The relationship with extended information." + }, + "AtlasStruct": { + "type": "object", + "properties": { + "attributes": { + "type": "object", + "description": "The attributes of the struct.", + "additionalProperties": {} + }, + "typeName": { + "type": "string", + "description": "The name of the type." + }, + "lastModifiedTS": { + "$ref": "#/definitions/LastModifiedTS" + } + }, + "title": "AtlasStruct", + "description": "Captures details of struct contents. Not instantiated directly, used only via AtlasEntity, AtlasClassification." + }, + "AtlasStructDef": { + "type": "object", + "title": "AtlasStructDef", + "properties": { + "attributeDefs": { + "type": "array", + "description": "An array of attribute definitions.", + "items": { + "$ref": "#/definitions/AtlasAttributeDef" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AtlasBaseTypeDef" + } + ], + "description": "class that captures details of a struct-type." + }, + "AtlasTermAssignmentHeader": { + "type": "object", + "properties": { + "confidence": { + "type": "integer", + "format": "int32", + "description": "The confidence of the term assignment." + }, + "createdBy": { + "type": "string", + "description": "The user who created the record." + }, + "description": { + "type": "string", + "description": "The description of the term assignment." + }, + "displayText": { + "type": "string", + "description": "The display text." + }, + "expression": { + "type": "string", + "description": "The expression of the term assignment." + }, + "relationGuid": { + "type": "string", + "description": "The GUID of the relationship." + }, + "status": { + "$ref": "#/definitions/AtlasTermAssignmentStatus" + }, + "steward": { + "type": "string", + "description": "The steward of the term." + }, + "termGuid": { + "type": "string", + "description": "The GUID of the term." + } + }, + "title": "AtlasTermAssignmentHeader", + "description": "The header for term assignment." + }, + "AtlasTermAssignmentStatus": { + "type": "string", + "title": "AtlasTermAssignmentStatus", + "description": "The status of terms assignment.", + "enum": [ + "DISCOVERED", + "PROPOSED", + "IMPORTED", + "VALIDATED", + "DEPRECATED", + "OBSOLETE", + "OTHER" + ], + "x-ms-enum": { + "name": "AtlasTermAssignmentStatus", + "modelAsString": true + } + }, + "AtlasTermCategorizationHeader": { + "type": "object", + "properties": { + "categoryGuid": { + "type": "string", + "description": "The GUID of the category." + }, + "description": { + "type": "string", + "description": "The description of the record." + }, + "displayText": { + "type": "string", + "description": "The display text." + }, + "relationGuid": { + "type": "string", + "description": "The GUID of the relationship." + }, + "status": { + "$ref": "#/definitions/AtlasTermRelationshipStatus" + } + }, + "title": "AtlasTermCategorizationHeader", + "description": "The basic information for term categorization." + }, + "AtlasTermRelationshipStatus": { + "type": "string", + "title": "AtlasTermRelationshipStatus", + "description": "The status of term relationship.", + "enum": [ + "DRAFT", + "ACTIVE", + "DEPRECATED", + "OBSOLETE", + "OTHER" + ], + "x-ms-enum": { + "name": "AtlasTermRelationshipStatus", + "modelAsString": true + } + }, + "AtlasTypeDefHeader": { + "type": "object", + "properties": { + "category": { + "$ref": "#/definitions/TypeCategory" + }, + "guid": { + "type": "string", + "description": "The GUID of the type definition." + }, + "name": { + "type": "string", + "description": "The name of the type definition." + } + }, + "title": "AtlasTypeDefHeader", + "description": "The basic information of the type definition." + }, + "AtlasTypesDef": { + "type": "object", + "properties": { + "businessMetadataDefs": { + "readOnly": false, + "description": "businessMetadataDefs", + "type": "array", + "items": { + "$ref": "#/definitions/AtlasBusinessMetadataDef" + } + }, + "classificationDefs": { + "type": "array", + "description": "An array of classification definitions.", + "items": { + "$ref": "#/definitions/AtlasClassificationDef" + } + }, + "entityDefs": { + "type": "array", + "description": "An array of entity definitions.", + "items": { + "$ref": "#/definitions/AtlasEntityDef" + } + }, + "enumDefs": { + "type": "array", + "description": "An array of enum definitions.", + "items": { + "$ref": "#/definitions/AtlasEnumDef" + } + }, + "relationshipDefs": { + "type": "array", + "description": "An array of relationship definitions.", + "items": { + "$ref": "#/definitions/AtlasRelationshipDef" + } + }, + "structDefs": { + "type": "array", + "description": "An array of struct definitions.", + "items": { + "$ref": "#/definitions/AtlasStructDef" + } + }, + "termTemplateDefs": { + "type": "array", + "description": "An array of term template definitions.", + "items": { + "$ref": "#/definitions/TermTemplateDef" + } + } + }, + "title": "AtlasTypesDef", + "description": "The definitions of types." + }, + "AtlasExtraTypeDef": { + "type": "object", + "properties": { + "entityTypes": { + "type": "array", + "description": "Specifying a list of entityType names in the classificationDef, ensures that classifications can\nonly be applied to those entityTypes.\n

    \n
  • Any subtypes of the entity types inherit the restriction
  • \n
  • Any classificationDef subtypes inherit the parents entityTypes restrictions
  • \n
  • Any classificationDef subtypes can further restrict the parents entityTypes restrictions by specifying a subset of the entityTypes
  • \n
  • An empty entityTypes list when there are no parent restrictions means there are no restrictions
  • \n
  • An empty entityTypes list when there are parent restrictions means that the subtype picks up the parents restrictions
  • \n
  • If a list of entityTypes are supplied, where one inherits from another, this will be rejected. This should encourage cleaner classificationsDefs
  • \n
", + "items": { + "type": "string" + } + }, + "subTypes": { + "type": "array", + "description": "An array of sub types.", + "items": { + "type": "string" + } + }, + "superTypes": { + "type": "array", + "description": "An array of super types.", + "items": { + "type": "string" + } + }, + "relationshipAttributeDefs": { + "type": "array", + "description": "An array of relationship attributes.", + "items": { + "$ref": "#/definitions/AtlasRelationshipAttributeDef" + } + }, + "defaultValue": { + "type": "string", + "description": "The default value." + }, + "elementDefs": { + "type": "array", + "description": "An array of enum element definitions.", + "items": { + "$ref": "#/definitions/AtlasEnumElementDef" + } + }, + "endDef1": { + "$ref": "#/definitions/AtlasRelationshipEndDef" + }, + "endDef2": { + "$ref": "#/definitions/AtlasRelationshipEndDef" + }, + "relationshipCategory": { + "$ref": "#/definitions/RelationshipCategory" + }, + "relationshipLabel": { + "type": "string", + "description": "The label of the relationship." + }, + "attributeDefs": { + "type": "array", + "description": "An array of attribute definitions.", + "items": { + "$ref": "#/definitions/AtlasAttributeDef" + } + } + }, + "title": "AtlasExtraTypeDef", + "description": "Extra properties for a type." + }, + "AtlasTypeDef": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AtlasBaseTypeDef" + }, + { + "$ref": "#/definitions/AtlasExtraTypeDef" + } + ], + "title": "AtlasTypeDef", + "description": "The definitions of type." + }, + "ImportInfo": { + "type": "object", + "title": "ImportInfo", + "properties": { + "childObjectName": { + "readOnly": false, + "description": "childObjectName", + "type": "string" + }, + "importStatus": { + "readOnly": false, + "$ref": "#/definitions/ImportStatus", + "description": "importStatus" + }, + "parentObjectName": { + "readOnly": false, + "description": "parentObjectName", + "type": "string" + }, + "remarks": { + "readOnly": false, + "description": "remarks", + "type": "string" + } + }, + "example": { + "childObjectName": "...", + "importStatus": "SUCCESS", + "parentObjectName": "...", + "remarks": "..." + }, + "description": "ImportInfo" + }, + "ImportStatus": { + "type": "string", + "title": "ImportStatus", + "enum": [ + "SUCCESS", + "FAILED" + ], + "description": "ImportStatus", + "x-ms-enum": { + "name": "importStatus", + "modelAsString": true + } + }, + "BulkImportResponse": { + "type": "object", + "title": "BulkImportResponse", + "properties": { + "failedImportInfoList": { + "readOnly": false, + "description": "failed importInfoList", + "type": "array", + "items": { + "$ref": "#/definitions/ImportInfo" + } + }, + "successImportInfoList": { + "readOnly": false, + "description": "successful importInfoList", + "type": "array", + "items": { + "$ref": "#/definitions/ImportInfo" + } + } + }, + "example": { + "failedImportInfoList": [ + { + "childObjectName": "...", + "importStatus": "SUCCESS", + "parentObjectName": "...", + "remarks": "..." + }, + { + "childObjectName": "...", + "importStatus": "SUCCESS", + "parentObjectName": "...", + "remarks": "..." + } + ], + "successImportInfoList": [ + { + "childObjectName": "...", + "importStatus": "FAILED", + "parentObjectName": "...", + "remarks": "..." + }, + { + "childObjectName": "...", + "importStatus": "FAILED", + "parentObjectName": "...", + "remarks": "..." + } + ] + }, + "description": "example" + }, + "Cardinality": { + "type": "string", + "title": "Cardinality", + "description": "single-valued attribute or multi-valued attribute.", + "enum": [ + "SINGLE", + "LIST", + "SET" + ], + "x-ms-enum": { + "name": "Cardinality", + "modelAsString": true + } + }, + "ClassificationAssociateRequest": { + "type": "object", + "properties": { + "classification": { + "$ref": "#/definitions/AtlasClassification" + }, + "entityGuids": { + "type": "array", + "description": "The GUID of the entity.", + "items": { + "type": "string" + } + } + }, + "title": "ClassificationAssociateRequest", + "description": "The request for classification association." + }, + "MoveEntitiesRequest": { + "type": "object", + "properties": { + "entityGuids": { + "type": "array", + "description": "An array of entity guids to be moved to target collection.", + "items": { + "type": "string" + } + } + } + }, + "DateFormat": { + "type": "object", + "title": "DateFormat", + "properties": { + "availableLocales": { + "type": "array", + "description": "An array of available locales.", + "items": { + "type": "string" + } + }, + "calendar": { + "type": "number" + }, + "dateInstance": { + "$ref": "#/definitions/DateFormat" + }, + "dateTimeInstance": { + "$ref": "#/definitions/DateFormat" + }, + "instance": { + "$ref": "#/definitions/DateFormat" + }, + "lenient": { + "type": "boolean", + "description": "Determines the leniency of the date format." + }, + "numberFormat": { + "$ref": "#/definitions/NumberFormat" + }, + "timeInstance": { + "$ref": "#/definitions/DateFormat" + }, + "timeZone": { + "$ref": "#/definitions/TimeZone" + } + }, + "description": "The date format." + }, + "EntityMutationResponse": { + "type": "object", + "properties": { + "guidAssignments": { + "type": "object", + "description": "A map of GUID assignments with entities.", + "additionalProperties": { + "type": "string" + } + }, + "mutatedEntities": { + "type": "object", + "description": "The entity headers of mutated entities.", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/AtlasEntityHeader" + } + } + }, + "partialUpdatedEntities": { + "type": "array", + "description": "An array of entity headers that partially updated.", + "items": { + "$ref": "#/definitions/AtlasEntityHeader" + } + } + }, + "title": "EntityMutationResponse", + "description": "The mutation response of entity." + }, + "LineageDirection": { + "type": "string", + "title": "LineageDirection", + "description": "The enum of lineage direction.", + "enum": [ + "INPUT", + "OUTPUT", + "BOTH" + ], + "x-ms-enum": { + "name": "LineageDirection", + "modelAsString": true + } + }, + "LineageRelation": { + "type": "object", + "properties": { + "fromEntityId": { + "type": "string", + "description": "The GUID of from-entity." + }, + "relationshipId": { + "type": "string", + "description": "The GUID of relationship." + }, + "toEntityId": { + "type": "string", + "description": "The GUID of to-entity." + } + }, + "title": "LineageRelation", + "description": "The lineage relation with GUID of the from and to entity." + }, + "ParentRelation": { + "type": "object", + "properties": { + "childEntityId": { + "type": "string", + "description": "The GUID of child entity." + }, + "relationshipId": { + "type": "string", + "description": "The GUID of relationship." + }, + "parentEntityId": { + "type": "string", + "description": "The GUID of parent entity." + } + }, + "title": "ParentRelation", + "description": "The lineage parents relation with GUID of the parent entity and to child entity." + }, + "NumberFormat": { + "type": "object", + "title": "NumberFormat", + "properties": { + "availableLocales": { + "type": "array", + "description": "The number format.", + "items": { + "type": "string" + } + }, + "currency": { + "type": "string", + "description": "The currency." + }, + "currencyInstance": { + "$ref": "#/definitions/NumberFormat" + }, + "groupingUsed": { + "type": "boolean", + "description": "Determines if grouping is used." + }, + "instance": { + "$ref": "#/definitions/NumberFormat" + }, + "integerInstance": { + "$ref": "#/definitions/NumberFormat" + }, + "maximumFractionDigits": { + "type": "integer", + "format": "int32", + "description": "The maximum of fraction digits." + }, + "maximumIntegerDigits": { + "type": "integer", + "format": "int32", + "description": "The maximum of integer digits." + }, + "minimumFractionDigits": { + "type": "integer", + "format": "int32", + "description": "The minimum of fraction digits." + }, + "minimumIntegerDigits": { + "type": "integer", + "format": "int32", + "description": "The minimum of integer digits." + }, + "numberInstance": { + "$ref": "#/definitions/NumberFormat" + }, + "parseIntegerOnly": { + "type": "boolean", + "description": "Determines if only integer is parsed." + }, + "percentInstance": { + "$ref": "#/definitions/NumberFormat" + }, + "roundingMode": { + "$ref": "#/definitions/RoundingMode" + } + }, + "description": "The number format." + }, + "TermGuid": { + "type": "string", + "title": "termGuid", + "description": "The globally unique identifier for glossary term." + }, + "PList": { + "type": "object", + "properties": { + "list": { + "type": "array", + "description": "An array of objects.", + "items": { + "type": "object", + "properties": {} + } + }, + "pageSize": { + "type": "integer", + "format": "int32", + "description": "The size of the page." + }, + "sortBy": { + "type": "string", + "description": "The sorted by field." + }, + "sortType": { + "$ref": "#/definitions/SortType" + }, + "startIndex": { + "type": "integer", + "format": "int64", + "description": "The start index of the page." + }, + "totalCount": { + "type": "integer", + "format": "int64", + "description": "The total count of items." + } + }, + "title": "PList", + "description": "Paginated-list, for returning search results." + }, + "RelationshipCategory": { + "type": "string", + "title": "RelationshipCategory", + "description": "The Relationship category determines the style of relationship around containment and lifecycle.\nUML terminology is used for the values.\n

\nASSOCIATION is a relationship with no containment.
\nCOMPOSITION and AGGREGATION are containment relationships.\n

\nThe difference being in the lifecycles of the container and its children. In the COMPOSITION case,\nthe children cannot exist without the container. For AGGREGATION, the life cycles\nof the container and children are totally independent.", + "enum": [ + "ASSOCIATION", + "AGGREGATION", + "COMPOSITION" + ], + "x-ms-enum": { + "name": "RelationshipCategory", + "modelAsString": true + } + }, + "RoundingMode": { + "type": "string", + "title": "RoundingMode", + "description": "The enum of rounding mode.", + "enum": [ + "UP", + "DOWN", + "CEILING", + "FLOOR", + "HALF_UP", + "HALF_DOWN", + "HALF_EVEN", + "UNNECESSARY" + ], + "x-ms-enum": { + "name": "RoundingMode", + "modelAsString": true + } + }, + "SortType": { + "type": "string", + "title": "SortType", + "description": "to specify whether the result should be sorted? If yes, whether asc or desc.", + "enum": [ + "NONE", + "ASC", + "DESC" + ], + "x-ms-enum": { + "name": "SortType", + "modelAsString": true + } + }, + "Status": { + "type": "string", + "title": "Status", + "description": "Status of the entity - can be active or deleted. Deleted entities are not removed.", + "enum": [ + "ACTIVE", + "DELETED" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true + } + }, + "Status_AtlasRelationship": { + "type": "string", + "title": "Status", + "description": "The enum of relationship status.", + "enum": [ + "ACTIVE", + "DELETED" + ], + "x-ms-enum": { + "name": "Status_AtlasRelationship", + "modelAsString": true + } + }, + "TimeBoundary": { + "type": "object", + "properties": { + "endTime": { + "type": "string", + "description": "The end of the time boundary." + }, + "startTime": { + "type": "string", + "description": "The start of the time boundary." + }, + "timeZone": { + "type": "string", + "description": "The timezone of the time boundary." + } + }, + "title": "TimeBoundary", + "description": "Captures time-boundary details" + }, + "TimeZone": { + "type": "object", + "properties": { + "dstSavings": { + "type": "integer", + "format": "int32", + "description": "The value of the daylight saving time." + }, + "id": { + "type": "string", + "description": "The ID of the timezone." + }, + "availableIds": { + "type": "array", + "description": "An array of available IDs.", + "items": { + "type": "string" + } + }, + "default": { + "$ref": "#/definitions/TimeZone" + }, + "displayName": { + "type": "string", + "description": "The display name of the timezone." + }, + "rawOffset": { + "type": "integer", + "format": "int32", + "description": "The raw offset of the timezone." + } + }, + "title": "TimeZone", + "description": "The timezone information." + }, + "TypeCategory": { + "type": "string", + "title": "TypeCategory", + "description": "The enum of type category.", + "enum": [ + "PRIMITIVE", + "OBJECT_ID_TYPE", + "ENUM", + "STRUCT", + "CLASSIFICATION", + "ENTITY", + "ARRAY", + "MAP", + "RELATIONSHIP", + "TERM_TEMPLATE" + ], + "x-ms-enum": { + "name": "TypeCategory", + "modelAsString": true + } + }, + "SuggestResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SuggestResultValue" + } + } + }, + "title": "SuggestResult", + "description": "The result item of the search suggest." + }, + "SuggestResultValue": { + "type": "object", + "properties": { + "@search.score": { + "type": "number", + "format": "float", + "description": "The search score calculated by the search engine. The results are ordered by search score by default." + }, + "@search.text": { + "type": "string", + "description": "The target text that contains the keyword as prefix. The keyword is wrapped with emphasis mark." + }, + "objectType": { + "type": "string", + "description": "The object type of the record. Object type is the top-level property to distinguish whether a record is an asset or a term." + }, + "createTime": { + "type": "integer", + "format": "int64", + "description": "The create time of the record. The Unix epoch format." + }, + "updateTime": { + "type": "integer", + "format": "int64", + "description": "The last update time of the record. The Unix epoch format." + }, + "id": { + "type": "string", + "description": "The GUID of the record." + }, + "name": { + "type": "string", + "description": "The name of the record." + }, + "qualifiedName": { + "type": "string", + "description": "The qualified name of the record." + }, + "entityType": { + "type": "string", + "description": "The type name of the asset." + }, + "description": { + "type": "string", + "description": "The description of the asset." + }, + "endorsement": { + "type": "string", + "description": "The endorsement of the asset." + }, + "owner": { + "type": "string", + "description": "The owner of the record." + }, + "classification": { + "type": "array", + "description": "The classifications of the record.", + "items": { + "type": "string" + } + }, + "label": { + "type": "array", + "description": "The labels of the asset.", + "items": { + "type": "string" + } + }, + "term": { + "type": "array", + "description": "The terms assigned to the asset.", + "items": { + "$ref": "#/definitions/TermSearchResultValue" + } + }, + "contact": { + "type": "array", + "description": "The contacts of the asset.", + "items": { + "$ref": "#/definitions/ContactSearchResultValue" + } + }, + "assetType": { + "type": "array", + "description": "The asset types of the asset.", + "items": { + "type": "string" + } + }, + "glossaryType": { + "type": "string", + "description": "The type name of the term. Could be AtlasGlossary, AtlasGlossaryTerm or AtlasGlossaryCategory." + }, + "glossary": { + "type": "string", + "description": "The glossary name of the term." + }, + "termStatus": { + "type": "string", + "description": "The status of the term." + }, + "termTemplate": { + "type": "array", + "description": "The term template names used by the term.", + "items": { + "type": "string" + } + }, + "longDescription": { + "type": "string", + "description": "The definition of the term." + } + }, + "title": "SuggestResultValue", + "description": "The value item of the search suggest." + }, + "SearchResult": { + "type": "object", + "properties": { + "@search.count": { + "type": "integer", + "format": "int32", + "description": "The total number of search results (not the number of documents in a single page)." + }, + "@search.count.approximate": { + "type": "boolean", + "description": "'True' if the '@search.count' is an approximate value and vise versa." + }, + "continuationToken": { + "type": "string", + "description": "The token used to get next batch of data. Absent if there's no more data." + }, + "@search.facets": { + "$ref": "#/definitions/SearchFacetResultValue" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchResultValue" + } + } + }, + "title": "SearchResult", + "description": "The result of the search result." + }, + "SearchFacetResultValue": { + "type": "object", + "properties": { + "entityType": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchFacetItemValue" + } + }, + "assetType": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchFacetItemValue" + } + }, + "classification": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchFacetItemValue" + } + }, + "term": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchFacetItemValue" + } + }, + "contactId": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchFacetItemValue" + } + }, + "contactType": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchFacetItemValue" + } + }, + "label": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchFacetItemValue" + } + }, + "glossaryType": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchFacetItemValue" + } + }, + "termStatus": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchFacetItemValue" + } + }, + "termTemplate": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchFacetItemValue" + } + } + }, + "title": "Context", + "description": "A facet list that consists of index fields assetType ,classification, contactId, and label. When the facet is specified in the request, the value of the facet is returned as an element of @search.facets." + }, + "SearchFacetItemValue": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "The count of the facet item." + }, + "value": { + "type": "string", + "description": "The name of the facet item." + } + }, + "title": "SearchFacetItemValue", + "description": "The content of a search facet result item." + }, + "SearchFacetItem": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "The count of the facet item." + }, + "facet": { + "type": "string", + "description": "The name of the facet item." + }, + "sort": { + "type": "object" + } + }, + "title": "SearchFacetItemValue", + "description": "The content of a search facet result item." + }, + "SearchOrderItem": { + "type": "object", + "description": "See examples for the usage of search order." + }, + "SearchResultValue": { + "type": "object", + "properties": { + "@search.score": { + "type": "number", + "format": "float", + "description": "The search score calculated by the search engine. The results are ordered by search score by default." + }, + "@search.highlights": { + "$ref": "#/definitions/SearchHighlights" + }, + "objectType": { + "type": "string", + "description": "The object type of the record. Object type is the top-level property to distinguish whether a record is an asset or a term." + }, + "createTime": { + "type": "integer", + "format": "int64", + "description": "The create time of the record. The Unix epoch format." + }, + "updateTime": { + "type": "integer", + "format": "int64", + "description": "The last update time of the record. The Unix epoch format." + }, + "id": { + "type": "string", + "description": "The GUID of the record." + }, + "name": { + "type": "string", + "description": "The name of the record." + }, + "qualifiedName": { + "type": "string", + "description": "The qualified name of the record." + }, + "entityType": { + "type": "string", + "description": "The type name of the asset." + }, + "description": { + "type": "string", + "description": "The description of the asset." + }, + "endorsement": { + "type": "string", + "description": "The endorsement of the asset." + }, + "owner": { + "type": "string", + "description": "The owner of the record." + }, + "classification": { + "type": "array", + "description": "The classifications of the record.", + "items": { + "type": "string" + } + }, + "label": { + "type": "array", + "description": "The labels of the asset.", + "items": { + "type": "string" + } + }, + "term": { + "type": "array", + "description": "The terms assigned to the asset.", + "items": { + "$ref": "#/definitions/TermSearchResultValue" + } + }, + "contact": { + "type": "array", + "description": "The contacts of the asset.", + "items": { + "$ref": "#/definitions/ContactSearchResultValue" + } + }, + "assetType": { + "type": "array", + "description": "The asset types of the asset.", + "items": { + "type": "string" + } + }, + "glossaryType": { + "type": "string", + "description": "The type name of the term. Could be AtlasGlossary, AtlasGlossaryTerm or AtlasGlossaryCategory." + }, + "glossary": { + "type": "string", + "description": "The glossary name of the term." + }, + "termStatus": { + "type": "string", + "description": "The status of the term." + }, + "termTemplate": { + "type": "array", + "description": "The term template names used by the term.", + "items": { + "type": "string" + } + }, + "longDescription": { + "type": "string", + "description": "The definition of the term." + } + }, + "title": "SearchResultValue", + "description": "The value item of the search result." + }, + "SearchHighlights": { + "type": "object", + "description": "A highlight list that consists of index fields id ,qualifiedName, name, description, entityType. When the keyword appears in those fields, the value of the field, attached with emphasis mark, is returned as an element of @search.highlights.", + "properties": { + "id": { + "type": "array", + "items": { + "type": "string" + } + }, + "qualifiedName": { + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": { + "type": "array", + "items": { + "type": "string" + } + }, + "entityType": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "title": "SearchHighlights" + }, + "TermSearchResultValue": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the term." + }, + "glossaryName": { + "type": "string", + "description": "The name of the glossary which contains the term." + }, + "guid": { + "type": "string", + "description": "The GUID of the term." + } + }, + "title": "Context", + "description": "The context." + }, + "ContactSearchResultValue": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The GUID of the contact." + }, + "info": { + "type": "string", + "description": "The description of the contact." + }, + "contactType": { + "type": "string", + "description": "The type of the contact. It can be Expert or Owner for an entity. It can be Expert or Steward for a glossary term." + } + }, + "title": "contact", + "description": "The contact in the search and suggest result." + }, + "AutoCompleteRequest": { + "type": "object", + "properties": { + "keywords": { + "type": "string", + "description": "The keywords applied to all fields that support autocomplete operation. It must be at least 1 character, and no more than 100 characters." + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The number of autocomplete results we hope to return. The default value is 50. The value must be a number between 1 and 100." + }, + "filter": { + "type": "object", + "description": "The filter for the autocomplete request." + } + }, + "title": "AutoCompleteRequest", + "description": "The query of autocomplete request." + }, + "AutoCompleteResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoCompleteResultValue" + } + } + }, + "title": "AutoCompleteResult", + "description": "The result of the autocomplete request." + }, + "AutoCompleteResultValue": { + "type": "object", + "properties": { + "text": { + "type": "string", + "description": "The completed term or phrase." + }, + "queryPlusText": { + "type": "string", + "description": "The completed search query text." + } + }, + "title": "AutoCompleteResultValue", + "description": "The value item of the autocomplete suggest." + }, + "SearchRequest": { + "type": "object", + "properties": { + "keywords": { + "type": "string", + "description": "The keywords applied to all searchable fields." + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit of the number of the search result. default value is 50; maximum value is 1000." + }, + "continuationToken": { + "type": "string", + "description": "The token used to get next batch of data. Default 'Null' to get the first batch, and will return new token in each response unless there's no more data." + }, + "orderby": { + "type": "array", + "description": "The sort order of search results, can specify multiple fields.", + "items": { + "$ref": "#/definitions/SearchOrderItem" + } + }, + "filter": { + "type": "object", + "description": "The filter for the search. See examples for the usage of supported filters." + }, + "facets": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchFacetItem" + } + }, + "taxonomySetting": { + "type": "object", + "properties": { + "assetTypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "facet": { + "$ref": "#/definitions/SearchFacetItem" + } + } + } + }, + "title": "SearchRequest", + "description": "The search query of advanced search request." + }, + "SuggestRequest": { + "type": "object", + "properties": { + "keywords": { + "type": "string", + "description": "The keywords applied to all fields that support suggest operation. It must be at least 1 character, and no more than 100 characters. In the index schema we defined a default suggester which lists all the supported fields and specifies a search mode." + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The number of suggestions we hope to return. The default value is 5. The value must be a number between 1 and 100." + }, + "filter": { + "type": "object", + "description": "The filter for the search." + } + }, + "title": "SuggestRequest", + "description": "The query of suggest request." + }, + "LastModifiedTS": { + "type": "string", + "title": "lastModifiedTS", + "description": "ETag for concurrency control." + }, + "ErrorResponse": { + "description": "An error response from the service", + "type": "object", + "properties": { + "requestId": { + "type": "string", + "description": "The request ID." + }, + "errorCode": { + "type": "string", + "description": "The error code." + }, + "errorMessage": { + "type": "string", + "description": "The error message." + } + } + }, + "RelatedCategoryHeaders": { + "type": "object", + "description": "An array of related categories.", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/AtlasRelatedCategoryHeader" + } + } + }, + "RelatedTermHeaders": { + "type": "object", + "description": "An array of related glossary terms for the given glossary or an empty list.", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/AtlasRelatedTermHeader" + } + } + }, + "BusinessMetadata": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "BusinessMetadata" + }, + "BusinessMetadataAttributes": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "BusinessMetadataAttributes" + }, + "AuditLogQueryRequest": { + "type": "object", + "properties": { + "category": { + "$ref": "#/definitions/AuditCategory" + }, + "guid": { + "type": "string", + "description": "GUID of the targe asset, glossary term or classification definition." + }, + "typeName": { + "type": "string", + "description": "Only applied to asset; specifies the asset type name." + }, + "qualifiedName": { + "type": "string", + "description": "Only applied to asset; specifies the asset qualified name." + }, + "operationType": { + "$ref": "#/definitions/AuditOperationType" + }, + "userId": { + "type": "string", + "description": "User principal name or service principle object ID." + }, + "keywords": { + "type": "string", + "description": "Any keywords contained in audit log old value or new value part." + }, + "startTime": { + "type": "string", + "description": "Start time of audit log; ISO-8601 representation. Default value is 1970-01-01T00:00:00Z." + }, + "endTime": { + "type": "string", + "description": "End time of audit log; ISO-8601 representation. Default value is UTC now." + }, + "sortBy": { + "type": "string", + "description": "Property to sort by. The value should be one of the audit log schema field. Must be used with \"SortOrder\". CreationTime is suggested." + }, + "sortOrder": { + "$ref": "#/definitions/AuditSortOrder" + }, + "pageSize": { + "type": "integer", + "format": "int32", + "description": "The number of items we hope to return in one page. The maximum value is 1000." + }, + "continuationToken": { + "type": "string", + "description": "The continuation token to retrieve the next page." + } + }, + "title": "AuditLogQueryRequest", + "description": "Audit log query request body." + }, + "AuditCategory": { + "type": "string", + "title": "AuditCategory", + "description": "Audit category in audit log query request.", + "enum": [ + "Asset", + "GlossaryTerm", + "ClassificationDef" + ], + "x-ms-enum": { + "name": "AuditCategory", + "modelAsString": true + } + }, + "AuditOperationType": { + "type": "string", + "title": "AuditOperationType", + "description": "Audit operation type.", + "enum": [ + "EntityCreated", + "EntityUpdated", + "EntityDeleted", + "ClassificationAdded", + "ClassificationUpdated", + "ClassificationDeleted", + "SensitivityLabelChanged", + "GlossaryTermAssigned", + "GlossaryTermDisassociated", + "ClassificationDefinitionCreated", + "ClassificationDefinitionUpdated", + "ClassificationDefinitionDeleted", + "GlossaryTermCreated", + "GlossaryTermUpdated", + "GlossaryTermDeleted" + ], + "x-ms-enum": { + "name": "AuditOperationType", + "modelAsString": true + } + }, + "AuditSortOrder": { + "type": "string", + "title": "AuditSortOrder", + "description": "Audit query result sort order.", + "enum": [ + "Ascending", + "Descending" + ], + "x-ms-enum": { + "name": "AuditSortOrder", + "modelAsString": true + } + }, + "AuditLogQueryResponse": { + "type": "object", + "properties": { + "continuationToken": { + "type": "string", + "description": "The continuation token to retrieve the next page. When \"lastPage\" is false. Client uses this token in the query payload to retrieve the next page." + }, + "lastPage": { + "type": "boolean", + "description": "Indicates whether it's the last page." + }, + "totalResultCount": { + "type": "integer", + "format": "int32", + "description": "The number of total items that qualified for the search criteria." + }, + "recordCount": { + "type": "integer", + "format": "int32", + "description": "The number of items in current page." + }, + "resultData": { + "type": "array", + "description": "An array of audit logs.", + "items": { + "$ref": "#/definitions/AuditLog" + } + } + }, + "title": "AuditLogQueryResponse", + "description": "Audit log query response." + }, + "AuditLog": { + "type": "object", + "properties": { + "workload": { + "type": "string", + "description": "Log metadata. Indicates workload type of audit log." + }, + "recordType": { + "type": "integer", + "format": "int32", + "description": "Log metadata. Indicates record type of audit log." + }, + "id": { + "type": "string", + "description": "Log ID." + }, + "creationTime": { + "type": "string", + "description": "Timestamp when the audit log was created." + }, + "operation": { + "$ref": "#/definitions/AuditOperationType" + }, + "organizationId": { + "type": "string", + "description": "Customer tenant ID." + }, + "userType": { + "type": "integer", + "format": "int32", + "description": "Type of user that performed the operation." + }, + "userKey": { + "type": "string", + "description": "User identity." + }, + "userId": { + "type": "string", + "description": "User principal name." + }, + "clientIP": { + "type": "string", + "description": "Client IP address." + }, + "accountId": { + "type": "string", + "description": "Purview account ID." + }, + "catalogId": { + "type": "string", + "description": "Purview catalog ID." + }, + "changeRequestId": { + "type": "string", + "description": "Correlation ID." + }, + "cloudType": { + "type": "string", + "description": "Cloud type that the object belongs to" + }, + "serviceType": { + "type": "string", + "description": "Service type that the object belongs to" + }, + "objectId": { + "type": "string", + "description": "GUID of the targe asset, glossary term or classification definition." + }, + "objectName": { + "type": "string", + "description": "Object name." + }, + "objectFullyQualifiedName": { + "type": "string", + "description": "Object fully qualified name." + }, + "objectType": { + "type": "string", + "description": "Object type name." + }, + "objectCollectionId": { + "type": "string", + "description": "Object collection ID." + }, + "oldValue": { + "type": "string", + "description": "Old data value." + }, + "newValue": { + "type": "string", + "description": "New data value." + } + }, + "title": "AuditLog", + "description": "Data map audit log." + }, + "EntityLongRunningOperation": { + "type": "object", + "title": "Status of entity operation", + "description": "The status of entity operation", + "required": [ + "id", + "status" + ], + "properties": { + "id": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/EntityLongRunningOperationStatus" + }, + "createTime": { + "type": "string", + "description": "The created time of the record." + }, + "lastUpdateTime": { + "type": "string", + "description": "The last updated time of the record." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EntityLongRunningOperationProperties" + }, + "error": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AsyncOperationError" + } + } + }, + "EntityLongRunningOperationProperties": { + "type": "object", + "additionalProperties": {} + }, + "EntityLongRunningOperationStatus": { + "type": "string", + "enum": [ + "NotStarted", + "Succeeded", + "Failed", + "Running" + ], + "x-ms-enum": { + "name": "EntityLongRunningOperationStatus", + "modelAsString": true + }, + "title": "EntityLongRunningOperationStatus", + "description": "Enum of the status of entity asynchronous operation." + }, + "AsyncOperationError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Code from async job if fail" + }, + "message": { + "type": "string", + "description": "Message from async job if fail" + } + } + } + }, + "parameters": { + "endpoint": { + "name": "endpoint", + "description": "The datamap endpoint of your Purview account. Example: https://{accountName}.purview.azure.com", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "format": "url", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "guid": { + "name": "guid", + "description": "The globally unique identifier of the entity.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "classificationName": { + "name": "classificationName", + "description": "The name of the classification.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "typeName": { + "name": "typeName", + "description": "The name of the type.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "categoryGuid": { + "name": "categoryGuid", + "description": "The globally unique identifier of the category.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "limit": { + "name": "limit", + "description": "The page size - by default there is no paging.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "offset": { + "name": "offset", + "description": "The offset for pagination purpose.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "sort": { + "name": "sort", + "description": "The sort order, ASC (default) or DESC.", + "in": "query", + "required": false, + "type": "string", + "default": "ASC", + "x-ms-parameter-location": "method" + }, + "termGuid": { + "name": "termGuid", + "in": "path", + "description": "The globally unique identifier for glossary term.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "fileId": { + "name": "fileId", + "in": "path", + "description": "The globally unique identifier for file.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "glossaryGuid": { + "name": "glossaryGuid", + "in": "path", + "description": "The globally unique identifier for glossary.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "operationId": { + "name": "operationId", + "in": "path", + "description": "The globally unique identifier for async operation job.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "glossaryName": { + "name": "glossaryName", + "in": "path", + "description": "The name of the glossary.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "searchLimit": { + "name": "limit", + "description": "Limits the result set to only include the specified number of entries.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "searchKeyword": { + "name": "keyword", + "description": "The keyword to get auto complete.", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "depth": { + "name": "depth", + "description": "The number of hops for lineage.", + "in": "query", + "required": false, + "type": "integer", + "default": 3, + "format": "int32", + "x-ms-parameter-location": "method" + }, + "direction": { + "name": "direction", + "description": "The direction of the lineage, which could be INPUT, OUTPUT or BOTH.", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "BOTH", + "INPUT", + "OUTPUT" + ], + "x-ms-enum": { + "name": "direction", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "extendedInfo": { + "name": "extendedInfo", + "description": "Limits whether includes extended information.", + "in": "query", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "relationshipGuid": { + "name": "guid", + "description": "The globally unique identifier of the relationship.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "classificationDefGuid": { + "name": "guid", + "description": "The globally unique identifier of the classification.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "classificationDefName": { + "name": "name", + "description": "The name of the classification.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "entityDefGuid": { + "name": "guid", + "description": "The globally unique identifier of the entity.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "entityDefName": { + "name": "name", + "description": "The name of the entity.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "termTemplateDefGuid": { + "name": "guid", + "description": "The globally unique identifier of the term template.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "termTemplateDefName": { + "name": "name", + "description": "The name of the term template.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "enumDefGuid": { + "name": "guid", + "description": "The globally unique identifier of the enum.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "enumDefName": { + "name": "name", + "description": "The name of the enum.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "relationshipDefGuid": { + "name": "guid", + "description": "The globally unique identifier of the relationship.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "relationshipDefName": { + "name": "name", + "description": "The name of the relationship.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "structDefGuid": { + "name": "guid", + "description": "The globally unique identifier of the struct.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "structDefName": { + "name": "name", + "description": "The name of the struct.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "typeDefGuid": { + "name": "guid", + "description": "The globally unique identifier of the type.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "typeDefName": { + "name": "name", + "description": "The name of the type.", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 4096, + "x-ms-parameter-location": "method" + }, + "userId": { + "name": "userId", + "description": "The user ID.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "principalId": { + "name": "principalId", + "description": "The principal ID.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "minExtInfo": { + "name": "minExtInfo", + "description": "Whether to return minimal information for referred entities.", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "ignoreRelationships": { + "name": "ignoreRelationships", + "description": "Whether to ignore relationship attributes.", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "includeTermTemplate": { + "name": "includeTermTemplate", + "description": "Whether include termtemplatedef when return all typedefs.\nThis is always true when search filter type=term_template", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "includeTermHierarchy": { + "name": "includeTermHierarchy", + "description": "Whether include term hierarchy", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "extInfo": { + "name": "extInfo", + "description": "Whether include extended information like contact display name and attribute values", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "ignoreTermsAndCategories": { + "name": "ignoreTermsAndCategories", + "description": "Whether ignore terms and categories", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "purviewAPIVersion": { + "name": "api-version", + "description": "The version of the API.", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "atlasAPIVersion": { + "name": "api-version", + "description": "The version of the API.", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "type": { + "name": "type", + "description": "Typedef name as search filter when get typedefs.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "enum", + "entity", + "classification", + "relationship", + "struct", + "term_template" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "requiredCollectionId": { + "name": "collectionId", + "description": "The collection where entities will be moved to.", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "collectionId": { + "name": "collectionId", + "description": "The collection where entities will be moved to. Only specify a value if you need to move an entity to another collection.", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "forceDeleteEntityAssignment": { + "name": "forceDeleteEntityAssignment", + "description": "Whether delete entity assignment", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "forceDeleteChild": { + "name": "forceDeleteChild", + "description": "Whether delete child terms together with the parent term", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "businessAttributeUpdateBehavior": { + "name": "businessAttributeUpdateBehavior", + "description": "Used to define the update behavior for business attributes when updating entities.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "ignore", + "replace", + "merge" + ], + "x-ms-enum": { + "name": "businessAttributeUpdateBehavior", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/purview/data-plane/readme.md b/specification/purview/data-plane/readme.md index e9880b8ba013..be24c40594c6 100644 --- a/specification/purview/data-plane/readme.md +++ b/specification/purview/data-plane/readme.md @@ -26,10 +26,18 @@ These are the global settings for the Azure Purview Catalog API. ``` yaml openapi-type: data-plane -tag: package-2023-09 +tag: package-preview-2023-10 ``` +### Tag: package-preview-2023-10 + +These settings apply only when `--tag=package-preview-2023-10` is specified on the command line. + +```yaml $(tag) == 'package-preview-2023-10' +input-file: + - Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/purviewdatamap.json +``` ### Tag: package-2023-09 These settings apply only when `--tag=package-2023-09` is specified on the command line. diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_AddRootCollectionAdmin.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_AddRootCollectionAdmin.json new file mode 100644 index 000000000000..d733667571ce --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_AddRootCollectionAdmin.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2023-05-01-preview", + "collectionAdminUpdate": { + "objectId": "7e8de0e7-2bfc-4e1f-9659-2a5785e4356f" + } + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_CheckNameAvailability.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_CheckNameAvailability.json new file mode 100644 index 000000000000..3d427a55becb --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_CheckNameAvailability.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "checkNameAvailabilityRequest": { + "name": "account1", + "type": "Microsoft.Purview/accounts" + }, + "api-version": "2023-05-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_CreateOrUpdate.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_CreateOrUpdate.json new file mode 100644 index 000000000000..d3e8efc95eae --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_CreateOrUpdate.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2023-05-01-preview", + "account": { + "location": "West US 2", + "properties": { + "managedResourceGroupName": "custom-rgname", + "managedResourcesPublicNetworkAccess": "Enabled" + } + } + }, + "responses": { + "201": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Creating", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account1.catalog.purview.azure-test.com", + "scan": "https://account1.scan.purview.azure-test.com" + }, + "publicNetworkAccess": "Enabled" + } + } + }, + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account1.catalog.purview.azure-test.com", + "scan": "https://account1.scan.purview.azure-test.com" + }, + "publicNetworkAccess": "Enabled", + "managedResourceGroupName": "custom-rgname", + "managedResourcesPublicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/custom-rgname", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/custom-rgname/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/custom-rgname/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + } + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_Delete.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_Delete.json new file mode 100644 index 000000000000..af2605855714 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_Delete.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + }, + "202": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd", + "x-ms-long-running-operation": true, + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/operationResults/dad6baec-3a39-41df-a469-843a9ee94213?api-version=2021-07-01" + } + }, + "204": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_Get.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_Get.json new file mode 100644 index 000000000000..7f9218773d10 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_Get.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account1.catalog.purview.azure-test.com", + "scan": "https://account1.scan.purview.azure-test.com" + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/baca8a88-4527-4c35-a13e-b2775ce0d7fc/resourceGroups/nrpResourceGroupName/providers/Microsoft.Network/privateEndpoints/peName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection, thanks.", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "name": "peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "type": "Microsoft.Purview/accounts/privateEndpointConnections" + } + ], + "publicNetworkAccess": "Enabled", + "managedResourceGroupName": "managed-rg-mwjotkl", + "managedResourcesPublicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + } + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_ListByResourceGroup.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_ListByResourceGroup.json new file mode 100644 index 000000000000..6499213cd2aa --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_ListByResourceGroup.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "api-version": "2023-05-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 17:33:55 GMT", + "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-reads": "14993", + "x-ms-correlation-request-id": "5d862c55-4de9-4a46-969d-cf1ed3e235ed" + }, + "body": { + "value": [ + { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account1.catalog.purview.azure-test.com", + "scan": "https://account1.scan.purview.azure-test.com" + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/baca8a88-4527-4c35-a13e-b2775ce0d7fc/resourceGroups/nrpResourceGroupName/providers/Microsoft.Network/privateEndpoints/peName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection, thanks.", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "name": "peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "type": "Microsoft.Purview/accounts/privateEndpointConnections" + } + ], + "publicNetworkAccess": "Enabled", + "managedResourceGroupName": "managed-rg-mwjotkl", + "managedResourcesPublicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + } + } + }, + { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account2", + "name": "account2", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account2", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account2.catalog.purview.azure-test.com", + "scan": "https://account2.scan.purview.azure-test.com" + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/baca8a88-4527-4c35-a13e-b2775ce0d7fc/resourceGroups/nrpResourceGroupName/providers/Microsoft.Network/privateEndpoints/peName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection, thanks.", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "name": "peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "type": "Microsoft.Purview/accounts/privateEndpointConnections" + } + ], + "publicNetworkAccess": "Enabled", + "managedResourceGroupName": "managed-rg-mwjotkl", + "managedResourcesPublicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + } + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_ListBySubscription.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_ListBySubscription.json new file mode 100644 index 000000000000..9127906d624d --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_ListBySubscription.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2023-05-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 17:33:55 GMT", + "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-reads": "14993", + "x-ms-correlation-request-id": "5d862c55-4de9-4a46-969d-cf1ed3e235ed" + }, + "body": { + "value": [ + { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account1.catalog.purview.azure-test.com", + "scan": "https://account1.scan.purview.azure-test.com" + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/baca8a88-4527-4c35-a13e-b2775ce0d7fc/resourceGroups/nrpResourceGroupName/providers/Microsoft.Network/privateEndpoints/peName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection, thanks.", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "name": "peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "type": "Microsoft.Purview/accounts/privateEndpointConnections" + } + ], + "publicNetworkAccess": "Enabled", + "managedResourceGroupName": "managed-rg-mwjotkl", + "managedResourcesPublicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + } + } + }, + { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account2", + "name": "account2", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account2", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account2.catalog.purview.azure-test.com", + "scan": "https://account2.scan.purview.azure-test.com" + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/baca8a88-4527-4c35-a13e-b2775ce0d7fc/resourceGroups/nrpResourceGroupName/providers/Microsoft.Network/privateEndpoints/peName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection, thanks.", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "name": "peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "type": "Microsoft.Purview/accounts/privateEndpointConnections" + } + ], + "publicNetworkAccess": "Enabled", + "managedResourceGroupName": "managed-rg-mwjotkl", + "managedResourcesPublicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + } + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_ListKeys.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_ListKeys.json new file mode 100644 index 000000000000..2257718b8c57 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_ListKeys.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "atlasKafkaPrimaryEndpoint": "Endpoint=sb://fake_objectId.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=ASDASasdfmasdf123412341234=", + "atlasKafkaSecondaryEndpoint": "Endpoint=sb://fake_objectId.servicebus.windows.net/;SharedAccessKeyName=AlternateSharedAccessKey;SharedAccessKey=BSDASasdfmasdf123412341234=" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_Update.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_Update.json new file mode 100644 index 000000000000..38569576dda4 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Accounts_Update.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2023-05-01-preview", + "accountUpdateParameters": { + "tags": { + "newTag": "New tag value." + } + }, + "properties": { + "cloudConnectors": {}, + "managedResourceGroupName": "aaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "publicNetworkAccess": "NotSpecified", + "managedResourcesPublicNetworkAccess": "Disabled" + } + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account2.catalog.purview.azure-test.com", + "scan": "https://account2.scan.purview.azure-test.com" + }, + "publicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + } + }, + "tags": { + "newTag": "New tag value." + } + } + }, + "202": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd", + "x-ms-long-running-operation": true, + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/operationResults/dad6baec-3a39-41df-a469-843a9ee94213?api-version=2021-07-01" + }, + "body": { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Succeeded", + "endpoints": { + "catalog": "https://account2.catalog.purview.azure-test.com", + "scan": "https://account2.scan.purview.azure-test.com" + }, + "publicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + } + }, + "tags": { + "newTag": "New tag value." + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/DefaultAccounts_Get.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/DefaultAccounts_Get.json new file mode 100644 index 000000000000..30b0621ead49 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/DefaultAccounts_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "scopeTenantId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "scopeType": "Tenant", + "scope": "12345678-1234-1234-1234-12345678abcd", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "scopeTenantId": "12345678-1234-1234-1234-12345678abcd", + "scopeType": "Tenant", + "scope": "12345678-1234-1234-1234-12345678abcd", + "accountName": "myDefaultAccount", + "resourceGroupName": "rg-1", + "subscriptionId": "12345678-1234-1234-1234-12345678aaaa" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/DefaultAccounts_Remove.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/DefaultAccounts_Remove.json new file mode 100644 index 000000000000..4bdf1a14e1cd --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/DefaultAccounts_Remove.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "scopeTenantId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "scopeType": "Tenant", + "scope": "12345678-1234-1234-1234-12345678abcd", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + }, + "204": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/DefaultAccounts_Set.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/DefaultAccounts_Set.json new file mode 100644 index 000000000000..2e001ed21b4b --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/DefaultAccounts_Set.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-05-01-preview", + "defaultAccountPayload": { + "scopeTenantId": "12345678-1234-1234-1234-12345678abcd", + "scopeType": "Tenant", + "scope": "12345678-1234-1234-1234-12345678abcd", + "accountName": "myDefaultAccount", + "resourceGroupName": "rg-1", + "subscriptionId": "12345678-1234-1234-1234-12345678aaaa" + } + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "scopeTenantId": "12345678-1234-1234-1234-12345678abcd", + "scopeType": "Tenant", + "scope": "12345678-1234-1234-1234-12345678abcd", + "accountName": "myDefaultAccount", + "resourceGroupName": "rg-1", + "subscriptionId": "12345678-1234-1234-1234-12345678aaaa" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Features_AccountGet.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Features_AccountGet.json new file mode 100644 index 000000000000..46bf7fb0c6cb --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Features_AccountGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "featureRequest": { + "features": [ + "Feature1", + "Feature2", + "FeatureThatDoesntExist" + ] + }, + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "features": { + "Feature1": true, + "Feature2": false + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Features_SubscriptionGet.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Features_SubscriptionGet.json new file mode 100644 index 000000000000..3acd4f6b9ffe --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Features_SubscriptionGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "locations": "eastus", + "featureRequest": { + "features": [ + "Feature1", + "Feature2", + "FeatureThatDoesntExist" + ] + }, + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "features": { + "Feature1": true, + "Feature2": false + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/IngestionPrivateEndpointConnections_List.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/IngestionPrivateEndpointConnections_List.json new file mode 100644 index 000000000000..1178afe94afd --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/IngestionPrivateEndpointConnections_List.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 17:33:55 GMT", + "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-reads": "14993", + "x-ms-correlation-request-id": "5d862c55-4de9-4a46-969d-cf1ed3e235ed" + }, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/ingestionPrivateEndpointConnections/privateEndpointConnection1", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/ingestionPrivateEndpointConnections/privateEndpointConnection2", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Deleting", + "privateEndpoint": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "Rejected by johndoe@company.com" + } + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/IngestionPrivateEndpointConnections_UpdateStatus.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/IngestionPrivateEndpointConnections_UpdateStatus.json new file mode 100644 index 000000000000..065b71494d47 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/IngestionPrivateEndpointConnections_UpdateStatus.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2023-05-01-preview", + "request": { + "privateEndpointId": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1", + "status": "Approved" + } + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "privateEndpointId": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1", + "status": "Approved" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/KafkaConfigurations_CreateOrUpdate.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/KafkaConfigurations_CreateOrUpdate.json new file mode 100644 index 000000000000..ab130a9baa68 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/KafkaConfigurations_CreateOrUpdate.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rgpurview", + "accountName": "account1", + "kafkaConfigurationName": "kafkaConfigName", + "kafkaConfiguration": { + "properties": { + "eventStreamingState": "Enabled", + "eventStreamingType": "Azure", + "consumerGroup": "consumerGroup", + "credentials": { + "identityId": "/subscriptions/47e8596d-ee73-4eb2-b6b4-cc13c2b87ssd/resourceGroups/testRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testId", + "type": "UserAssigned" + }, + "eventHubType": "Notification", + "eventHubPartitionId": "partitionId", + "eventHubResourceId": "/subscriptions/225be6fe-ec1c-4d51-a368-f69348d2e6c5/resourceGroups/testRG/providers/Microsoft.EventHub/namespaces/eventHubNameSpaceName" + } + }, + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "kafkaConfigName", + "properties": { + "eventStreamingState": "Enabled", + "eventStreamingType": "Azure", + "consumerGroup": "consumerGroup", + "credentials": { + "identityId": "/subscriptions/47e8596d-ee73-4eb2-b6b4-cc13c2b87ssd/resourceGroups/testRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testId", + "type": "UserAssigned" + }, + "eventHubType": "Notification", + "eventHubPartitionId": "aaaaa", + "eventHubResourceId": "/subscriptions/225be6fe-ec1c-4d51-a368-f69348d2e6c5/resourceGroups/testRG/providers/Microsoft.EventHub/namespaces/eventHubNameSpaceName" + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/kafkaConfigurations/default", + "systemData": { + "createdAt": "2022-03-09T01:36:27.637Z", + "createdBy": "User@user", + "createdByType": "User", + "lastModifiedAt": "2022-03-09T01:36:27.637Z", + "lastModifiedBy": "User", + "lastModifiedByType": "User" + }, + "type": "Microsoft.Purview/accounts/kafkaconfiguration" + } + }, + "201": { + "body": { + "name": "kafkaConfigName", + "properties": { + "eventStreamingState": "Enabled", + "eventStreamingType": "Azure", + "consumerGroup": "consumerGroup", + "credentials": { + "identityId": "/subscriptions/47e8596d-ee73-4eb2-b6b4-cc13c2b87ssd/resourceGroups/testRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testId", + "type": "UserAssigned" + }, + "eventHubType": "Notification", + "eventHubPartitionId": "aaaaa", + "eventHubResourceId": "/subscriptions/225be6fe-ec1c-4d51-a368-f69348d2e6c5/resourceGroups/testRG/providers/Microsoft.EventHub/namespaces/eventHubNameSpaceName" + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/kafkaConfigurations/default", + "systemData": { + "createdAt": "2022-03-09T01:36:27.637Z", + "createdBy": "User@user", + "createdByType": "User", + "lastModifiedAt": "2022-03-09T01:36:27.637Z", + "lastModifiedBy": "User", + "lastModifiedByType": "User" + }, + "type": "Microsoft.Purview/accounts/kafkaconfiguration" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/KafkaConfigurations_Delete.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/KafkaConfigurations_Delete.json new file mode 100644 index 000000000000..21ff5183657c --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/KafkaConfigurations_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rgpurview", + "accountName": "account1", + "kafkaConfigurationName": "kafkaConfigName", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/KafkaConfigurations_Get.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/KafkaConfigurations_Get.json new file mode 100644 index 000000000000..cc1e07701c78 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/KafkaConfigurations_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rgpurview", + "accountName": "account1", + "kafkaConfigurationName": "kafkaConfigName", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "eventStreamingState": "Enabled", + "eventStreamingType": "Azure", + "consumerGroup": "consumerGroup", + "credentials": { + "identityId": "/subscriptions/47e8596d-ee73-4eb2-b6b4-cc13c2b87ssd/resourceGroups/testRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testId", + "type": "UserAssigned" + }, + "eventHubType": "Notification", + "eventHubPartitionId": "partitionId", + "eventHubResourceId": "/subscriptions/225be6fe-ec1c-4d51-a368-f69348d2e6c5/resourceGroups/testRG/providers/Microsoft.EventHub/namespaces/eventHubNameSpaceName" + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/kafkaConfigurations/default", + "name": "kafkaConfigName", + "systemData": { + "createdAt": "2022-03-09T01:36:27.637Z", + "createdBy": "User@user", + "createdByType": "User", + "lastModifiedAt": "2022-03-09T01:36:27.637Z", + "lastModifiedBy": "User", + "lastModifiedByType": "User" + }, + "type": "Microsoft.Purview/accounts/kafkaconfiguration" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/KafkaConfigurations_ListByAccount.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/KafkaConfigurations_ListByAccount.json new file mode 100644 index 000000000000..77d730ada6d3 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/KafkaConfigurations_ListByAccount.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rgpurview", + "accountName": "account1", + "api-version": "2023-05-01-preview", + "$skipToken": "token" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/kafkaConfigurations/default", + "name": "kafkaconfigName", + "type": "Microsoft.Purview/accounts/kafkaconfiguration", + "properties": { + "eventStreamingState": "Disabled", + "eventStreamingType": "None", + "consumerGroup": "consumerGroup", + "credentials": { + "identityId": "/subscriptions/47e8596d-ee73-4eb2-b6b4-cc13c2b87ssd/resourceGroups/testRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testId", + "type": "UserAssigned" + }, + "eventHubType": "Notification", + "eventHubPartitionId": "partitionId", + "eventHubResourceId": "/subscriptions/225be6fe-ec1c-4d51-a368-f69348d2e6c5/resourceGroups/testRG/providers/Microsoft.EventHub/namespaces/eventHubNameSpaceName" + }, + "systemData": { + "createdAt": "2022-03-17T04:23:24.157Z", + "createdBy": "user", + "createdByType": "User", + "lastModifiedAt": "2022-03-17T04:23:24.157Z", + "lastModifiedBy": "user", + "lastModifiedByType": "User" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Operations_List.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..d231baf43207 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Operations_List.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "value": [ + { + "name": "Microsoft.Purview/operations/read", + "display": { + "provider": "Microsoft Purview", + "resource": "Operations", + "operation": "Read all operations", + "description": "Reads all available operations in Purview Resource Provider." + } + }, + { + "name": "Microsoft.Purview/register/action", + "display": { + "provider": "Microsoft Purview", + "resource": "Purview Resource Provider", + "operation": "Register Purview Resource Provider", + "description": "Register the subscription for Purview Resource Provider" + } + }, + { + "name": "Microsoft.Purview/unregister/action", + "display": { + "provider": "Microsoft Purview", + "resource": "Purview Resource Provider", + "operation": "Unregister Purview Resource Provider", + "description": "Unregister the subscription for Purview Resource Provider" + } + }, + { + "name": "Microsoft.Purview/accounts/read", + "display": { + "provider": "Microsoft Purview", + "resource": "Account", + "operation": "Read account resource", + "description": "Read account resource for Purview Resource Provider." + } + }, + { + "name": "Microsoft.Purview/accounts/write", + "display": { + "provider": "Microsoft Purview", + "resource": "Account", + "operation": "Write account resource", + "description": "Write account resource for Purview Resource Provider." + } + }, + { + "name": "Microsoft.Purview/accounts/delete", + "display": { + "provider": "Microsoft Purview", + "resource": "Account", + "operation": "Delete account resource", + "description": "Delete account resource for Purview Resource Provider." + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateEndpointConnections_CreateOrUpdate.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateEndpointConnections_CreateOrUpdate.json new file mode 100644 index 000000000000..d75a937c5c8e --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateEndpointConnections_CreateOrUpdate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "privateEndpointConnectionName": "privateEndpointConnection1", + "api-version": "2023-05-01-preview", + "request": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + }, + "responses": { + "201": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd", + "x-ms-long-running-operation": true, + "Azure-AsyncOperation": "https://management.azure.com/subscriptions34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1?api-version=2021-07-01" + }, + "body": { + "name": "privateEndpointConnection1", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1", + "type": "Microsoft.Purview/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + }, + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "name": "privateEndpointConnection1", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1", + "type": "Microsoft.Purview/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateEndpointConnections_Delete.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..7b8d6644348e --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateEndpointConnections_Delete.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "privateEndpointConnectionName": "privateEndpointConnection1", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + }, + "202": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd", + "x-ms-long-running-operation": true, + "Azure-AsyncOperation": "https://management.azure.com/subscriptions34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1?api-version=2021-07-01" + } + }, + "204": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateEndpointConnections_Get.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..750146921f2d --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateEndpointConnections_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "privateEndpointConnectionName": "privateEndpointConnection1", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "name": "privateEndpointConnection1", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1", + "type": "Microsoft.Purview/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateEndpointConnections_ListByAccount.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateEndpointConnections_ListByAccount.json new file mode 100644 index 000000000000..f055e179c36b --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateEndpointConnections_ListByAccount.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 17:33:55 GMT", + "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-reads": "14993", + "x-ms-correlation-request-id": "5d862c55-4de9-4a46-969d-cf1ed3e235ed" + }, + "body": { + "value": [ + { + "name": "privateEndpointConnection1", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1", + "type": "Microsoft.Purview/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + }, + { + "name": "privateEndpointConnection2", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection2", + "type": "Microsoft.Purview/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Deleting", + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "Rejected by johndoe@company.com" + } + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateLinkResources_GetByGroupId.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateLinkResources_GetByGroupId.json new file mode 100644 index 000000000000..e2648b0478e4 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateLinkResources_GetByGroupId.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "groupId": "group1", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateLinkResources/plr1", + "name": "plr1", + "type": "Microsoft.Purview/accounts/privateLinkResources", + "properties": { + "groupId": "group1", + "requiredMembers": [ + "group1" + ], + "requiredZoneNames": [ + "privatelinkzone1.service.azure.com" + ] + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateLinkResources_ListByAccount.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateLinkResources_ListByAccount.json new file mode 100644 index 000000000000..f9e070a55a4e --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/PrivateLinkResources_ListByAccount.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateLinkResources/plr1", + "name": "plr1", + "type": "Microsoft.Purview/accounts/privateLinkResources", + "properties": { + "groupId": "account1", + "requiredMembers": [ + "account1" + ], + "requiredZoneNames": [ + "privatelinkzone1.service.azure.com" + ] + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateLinkResources/plr2", + "name": "plr2", + "type": "Microsoft.Purview/accounts/privateLinkResources", + "properties": { + "groupId": "account2", + "requiredMembers": [ + "account2" + ], + "requiredZoneNames": [ + "privatelinkzone2.service.azure.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Usages_Get.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Usages_Get.json new file mode 100644 index 000000000000..519d3e29820b --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/examples/Usages_Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "location": "West US 2", + "api-version": "2023-05-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 1, + "limit": 3, + "id": "", + "name": { + "value": "Purview-Account-Subscription", + "localizedValue": "Purview-Account-Subscription" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": 3, + "id": "", + "name": { + "value": "Purview-Account-Tenant", + "localizedValue": "Purview-Account-Tenant" + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/purview.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/purview.json new file mode 100644 index 000000000000..8fbb3080495a --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2023-05-01-preview/purview.json @@ -0,0 +1,2980 @@ +{ + "swagger": "2.0", + "info": { + "title": "PurviewManagementClient", + "description": "Creates a Microsoft.Purview management client.", + "version": "2023-05-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Purview/accounts": { + "get": { + "tags": [ + "Account" + ], + "summary": "Gets the accounts resources by subscription.", + "description": "List accounts in Subscription", + "operationId": "Accounts_ListBySubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "$skipToken", + "description": "The skip token.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Accounts_ListBySubscription": { + "$ref": "./examples/Accounts_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts": { + "get": { + "tags": [ + "Account" + ], + "summary": "Gets the accounts resources by resource group.", + "description": "List accounts in ResourceGroup", + "operationId": "Accounts_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "$skipToken", + "description": "The skip token.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Accounts_ListByResourceGroup": { + "$ref": "./examples/Accounts_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}": { + "get": { + "tags": [ + "Account" + ], + "summary": "Gets the account resource.", + "description": "Get an account", + "operationId": "Accounts_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_Get": { + "$ref": "./examples/Accounts_Get.json" + } + } + }, + "put": { + "tags": [ + "Account" + ], + "summary": "Create or update an account resource.", + "description": "Creates or updates an account", + "operationId": "Accounts_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "account", + "description": "The account.", + "required": true, + "schema": { + "$ref": "#/definitions/Account" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_CreateOrUpdate": { + "$ref": "./examples/Accounts_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Account" + ], + "summary": "Deletes the account resource.", + "description": "Deletes an account resource", + "operationId": "Accounts_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_Delete": { + "$ref": "./examples/Accounts_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Account" + ], + "summary": "Patches the account resource.", + "description": "Updates an account", + "operationId": "Accounts_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "accountUpdateParameters", + "description": "The account update parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/AccountUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_Update": { + "$ref": "./examples/Accounts_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/addRootCollectionAdmin": { + "post": { + "tags": [ + "Account" + ], + "summary": "Add the administrator for root collection.", + "description": "Add the administrator for root collection associated with this account.", + "operationId": "Accounts_AddRootCollectionAdmin", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "collectionAdminUpdate", + "description": "The collection admin update payload.", + "required": true, + "schema": { + "$ref": "#/definitions/CollectionAdminUpdate" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_AddRootCollectionAdmin": { + "$ref": "./examples/Accounts_AddRootCollectionAdmin.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/listkeys": { + "post": { + "tags": [ + "Account" + ], + "summary": "Lists the keys asynchronous.", + "description": "List the authorization keys associated with this account.", + "operationId": "Accounts_ListKeys", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_ListKeys": { + "$ref": "./examples/Accounts_ListKeys.json" + } + } + } + }, + "/providers/Microsoft.Purview/getDefaultAccount": { + "get": { + "tags": [ + "DefaultAccount" + ], + "summary": "Gets the default account information set for the scope.", + "description": "Get the default account for the scope.", + "operationId": "DefaultAccounts_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "scopeTenantId", + "description": "The tenant ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "in": "query", + "name": "scopeType", + "description": "The scope for the default account.", + "required": true, + "type": "string", + "enum": [ + "Tenant", + "Subscription" + ], + "x-ms-enum": { + "name": "ScopeType", + "modelAsString": true + } + }, + { + "in": "query", + "name": "scope", + "description": "The Id of the scope object, for example if the scope is \"Subscription\" then it is the ID of that subscription.", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DefaultAccountPayload" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "DefaultAccounts_Get": { + "$ref": "./examples/DefaultAccounts_Get.json" + } + } + } + }, + "/providers/Microsoft.Purview/removeDefaultAccount": { + "post": { + "tags": [ + "DefaultAccount" + ], + "summary": "Removes the default account from the scope.", + "description": "Removes the default account from the scope.", + "operationId": "DefaultAccounts_Remove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "scopeTenantId", + "description": "The tenant ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "in": "query", + "name": "scopeType", + "description": "The scope for the default account.", + "required": true, + "type": "string", + "enum": [ + "Tenant", + "Subscription" + ], + "x-ms-enum": { + "name": "ScopeType", + "modelAsString": true + } + }, + { + "in": "query", + "name": "scope", + "description": "The Id of the scope object, for example if the scope is \"Subscription\" then it is the ID of that subscription.", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "DefaultAccounts_Remove": { + "$ref": "./examples/DefaultAccounts_Remove.json" + } + } + } + }, + "/providers/Microsoft.Purview/setDefaultAccount": { + "post": { + "tags": [ + "DefaultAccount" + ], + "summary": "Sets the default account for the scope.", + "description": "Sets the default account for the scope.", + "operationId": "DefaultAccounts_Set", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "defaultAccountPayload", + "description": "The payload containing the default account information and the scope.", + "required": true, + "schema": { + "$ref": "#/definitions/DefaultAccountPayload" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DefaultAccountPayload" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "DefaultAccounts_Set": { + "$ref": "./examples/DefaultAccounts_Set.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Purview/locations/{locations}/listFeatures": { + "post": { + "tags": [ + "Feature" + ], + "summary": "Gets a list of features and their status for the location and subscription.\r\nStatus of enabled features will be true. Status of disabled features will be false.\r\nFeatures that don't exist will be excluded from the results.", + "description": "Gets details from a list of feature names.", + "operationId": "Features_SubscriptionGet", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "in": "path", + "name": "locations", + "description": "Location of feature.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "featureRequest", + "description": "Request body with feature names.", + "required": true, + "schema": { + "$ref": "#/definitions/BatchFeatureRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/BatchFeatureStatus" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Features_SubscriptionGet": { + "$ref": "./examples/Features_SubscriptionGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/listFeatures": { + "post": { + "tags": [ + "Feature" + ], + "summary": "Gets a list of features and their status for the account.\r\nStatus of enabled features will be true. Status of disabled features will be false.\r\nFeatures that don't exist will be excluded from the results.", + "description": "Gets details from a list of feature names.", + "operationId": "Features_AccountGet", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "featureRequest", + "description": "Request body with feature names.", + "required": true, + "schema": { + "$ref": "#/definitions/BatchFeatureRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/BatchFeatureStatus" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Features_AccountGet": { + "$ref": "./examples/Features_AccountGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/ingestionPrivateEndpointConnections": { + "get": { + "tags": [ + "IngestionPrivateEndpoint" + ], + "summary": "Lists all ingestion private endpoint connections.", + "description": "Lists all ingestion private endpoint connections", + "operationId": "IngestionPrivateEndpointConnections_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "IngestionPrivateEndpointConnections_List": { + "$ref": "./examples/IngestionPrivateEndpointConnections_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/ingestionPrivateEndpointConnectionStatus": { + "post": { + "tags": [ + "IngestionPrivateEndpoint" + ], + "summary": "Updates ingestion private endpoint connection status.", + "description": "Update ingestion private endpoint connection status", + "operationId": "IngestionPrivateEndpointConnections_UpdateStatus", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "request", + "description": "The ingestion private endpoint connection status update request.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionStatusUpdateRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionStatusUpdateResponse" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "IngestionPrivateEndpointConnections_UpdateStatus": { + "$ref": "./examples/IngestionPrivateEndpointConnections_UpdateStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/kafkaConfigurations": { + "get": { + "tags": [ + "KafkaConfiguration" + ], + "summary": "Gets the list of Kafka configurations for the account.", + "description": "Lists the Kafka configurations in the Account", + "operationId": "KafkaConfigurations_ListByAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "$skipToken", + "description": "The skip token.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/KafkaConfigurationList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "KafkaConfigurations_ListByAccount": { + "$ref": "./examples/KafkaConfigurations_ListByAccount.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/kafkaConfigurations/{kafkaConfigurationName}": { + "get": { + "tags": [ + "KafkaConfiguration" + ], + "summary": "Gets the kafka configuration.", + "description": "Gets the kafka configuration for the account", + "operationId": "KafkaConfigurations_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "kafkaConfigurationName", + "description": "Name of kafka configuration.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/KafkaConfiguration" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "KafkaConfigurations_Get": { + "$ref": "./examples/KafkaConfigurations_Get.json" + } + } + }, + "put": { + "tags": [ + "KafkaConfiguration" + ], + "summary": "Create or update the kafka configuration.", + "description": "Create or update Kafka Configuration", + "operationId": "KafkaConfigurations_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "kafkaConfigurationName", + "description": "The kafka configuration name.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "kafkaConfiguration", + "description": "The kafka configuration of the account.", + "required": true, + "schema": { + "$ref": "#/definitions/KafkaConfiguration" + } + } + ], + "responses": { + "200": { + "description": "Create or Update Successful", + "schema": { + "$ref": "#/definitions/KafkaConfiguration" + } + }, + "201": { + "description": "Create or Update Successful", + "schema": { + "$ref": "#/definitions/KafkaConfiguration" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "KafkaConfigurations_CreateOrUpdate": { + "$ref": "./examples/KafkaConfigurations_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "KafkaConfiguration" + ], + "summary": "Deletes the kafka configuration on the account.", + "description": "Deletes a KafkaConfiguration resource.", + "operationId": "KafkaConfigurations_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "kafkaConfigurationName", + "description": "Name of kafka configuration.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "KafkaConfigurations_Delete": { + "$ref": "./examples/KafkaConfigurations_Delete.json" + } + } + } + }, + "/providers/Microsoft.Purview/operations": { + "get": { + "tags": [ + "Operation" + ], + "summary": "Lists the available operations", + "description": "List of available operations", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "summary": "Gets private endpoint connections.", + "description": "Get private endpoint connections for account", + "operationId": "PrivateEndpointConnections_ListByAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "$skipToken", + "description": "The skip token.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "PrivateEndpointConnections_ListByAccount": { + "$ref": "./examples/PrivateEndpointConnections_ListByAccount.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "summary": "Gets private endpoint connection information.", + "description": "Get a private endpoint connection", + "operationId": "PrivateEndpointConnections_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "privateEndpointConnectionName", + "description": "Name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Get": { + "$ref": "./examples/PrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnection" + ], + "summary": "Approves/Rejects private endpoint connection request.", + "description": "Create or update a private endpoint connection", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "privateEndpointConnectionName", + "description": "Name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "request", + "description": "The request.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_CreateOrUpdate": { + "$ref": "./examples/PrivateEndpointConnections_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnection" + ], + "summary": "Deletes private endpoint connection.", + "description": "Delete a private endpoint connection", + "operationId": "PrivateEndpointConnections_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "privateEndpointConnectionName", + "description": "Name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Delete": { + "$ref": "./examples/PrivateEndpointConnections_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResource" + ], + "summary": "Gets a list of privately linkable resources for an account.", + "description": "Gets a list of privately linkable resources for an account", + "operationId": "PrivateLinkResources_ListByAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "PrivateLinkResources_ListByAccount": { + "$ref": "./examples/PrivateLinkResources_ListByAccount.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateLinkResources/{groupId}": { + "get": { + "tags": [ + "PrivateLinkResource" + ], + "summary": "Gets a privately linkable resources for an account with given group identifier.", + "description": "Gets a privately linkable resources for an account with given group identifier", + "operationId": "PrivateLinkResources_GetByGroupId", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "groupId", + "description": "The group identifier.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_GetByGroupId": { + "$ref": "./examples/PrivateLinkResources_GetByGroupId.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Purview/checkNameAvailability": { + "post": { + "tags": [ + "Provider" + ], + "summary": "Checks the account name availability.", + "description": "Checks if account name is available.", + "operationId": "Accounts_CheckNameAvailability", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "checkNameAvailabilityRequest", + "description": "The check name availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_CheckNameAvailability": { + "$ref": "./examples/Accounts_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Purview/locations/{location}/usages": { + "get": { + "tags": [ + "Usages" + ], + "summary": "Gets the Usage quota configuration.", + "description": "Get the usage quota configuration", + "operationId": "Usages_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "in": "path", + "name": "location", + "description": "The region.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "$filter", + "description": "The filter, currently unused.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/UsageList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Usages_Get": { + "$ref": "./examples/Usages_Get.json" + } + } + } + } + }, + "definitions": { + "AccessKeys": { + "description": "The Purview Account access keys.", + "type": "object", + "properties": { + "atlasKafkaPrimaryEndpoint": { + "description": "Gets or sets the primary connection string.", + "type": "string" + }, + "atlasKafkaSecondaryEndpoint": { + "description": "Gets or sets the secondary connection string.", + "type": "string" + } + } + }, + "Account": { + "description": "Account resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AccountProperties", + "x-ms-client-flatten": true + }, + "sku": { + "description": "Gets or sets the Sku.", + "allOf": [ + { + "$ref": "#/definitions/AccountSku" + } + ], + "readOnly": true + } + } + }, + "AccountEndpoints": { + "description": "The account endpoints", + "type": "object", + "properties": { + "catalog": { + "description": "Gets the catalog endpoint.", + "type": "string", + "readOnly": true + }, + "scan": { + "description": "Gets the scan endpoint.", + "type": "string", + "readOnly": true + } + } + }, + "AccountList": { + "description": "Paged list of Account resources", + "required": [ + "value" + ], + "type": "object", + "properties": { + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type results.", + "type": "array", + "items": { + "$ref": "#/definitions/Account" + }, + "x-ms-identifiers": [] + } + } + }, + "AccountProperties": { + "description": "The account properties", + "type": "object", + "properties": { + "accountStatus": { + "description": "Gets or sets the status of the account.", + "allOf": [ + { + "$ref": "#/definitions/AccountStatus" + } + ], + "readOnly": true + }, + "cloudConnectors": { + "$ref": "#/definitions/CloudConnectors" + }, + "createdAt": { + "format": "date-time", + "description": "Gets the time at which the entity was created.", + "type": "string", + "readOnly": true + }, + "createdBy": { + "description": "Gets the creator of the entity.", + "type": "string", + "readOnly": true + }, + "createdByObjectId": { + "description": "Gets the creators of the entity's object id.", + "type": "string", + "readOnly": true + }, + "endpoints": { + "description": "The URIs that are the public endpoints of the account.", + "allOf": [ + { + "$ref": "#/definitions/AccountEndpoints" + } + ], + "readOnly": true + }, + "friendlyName": { + "description": "Gets or sets the friendly name.", + "type": "string", + "readOnly": true + }, + "ingestionStorage": { + "$ref": "#/definitions/IngestionStorage" + }, + "managedEventHubState": { + "description": "Gets or sets the state of managed eventhub. If enabled managed eventhub will be created, if disabled the managed eventhub will be removed.", + "default": "NotSpecified", + "enum": [ + "NotSpecified", + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "managedEventHubState", + "modelAsString": true + } + }, + "managedResourceGroupName": { + "description": "Gets or sets the managed resource group name", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "managedResources": { + "description": "Gets the resource identifiers of the managed resources.", + "allOf": [ + { + "$ref": "#/definitions/ManagedResources" + } + ], + "readOnly": true + }, + "managedResourcesPublicNetworkAccess": { + "description": "Gets or sets the public network access for managed resources.", + "default": "NotSpecified", + "enum": [ + "NotSpecified", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "managedResourcesPublicNetworkAccess", + "modelAsString": true + } + }, + "privateEndpointConnections": { + "description": "Gets the private endpoint connections information.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "provisioningState": { + "description": "Gets or sets the state of the provisioning.", + "enum": [ + "Unknown", + "Creating", + "Moving", + "Deleting", + "SoftDeleting", + "SoftDeleted", + "Failed", + "Succeeded", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + }, + "publicNetworkAccess": { + "description": "Gets or sets the public network access.", + "default": "Enabled", + "enum": [ + "NotSpecified", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "publicNetworkAccess", + "modelAsString": true + } + } + } + }, + "AccountSku": { + "description": "The Sku", + "type": "object", + "properties": { + "capacity": { + "format": "int32", + "description": "Gets or sets the sku capacity.", + "type": "integer" + }, + "name": { + "description": "Gets or sets the sku name.", + "enum": [ + "Standard", + "Free" + ], + "type": "string", + "x-ms-enum": { + "name": "name", + "modelAsString": true + } + } + } + }, + "AccountStatus": { + "description": "The account status.", + "type": "object", + "properties": { + "accountProvisioningState": { + "description": "Gets the account status code.", + "enum": [ + "Unknown", + "Creating", + "Updating", + "Moving", + "Deleting", + "SoftDeleting", + "SoftDeleted", + "Failed", + "Succeeded", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "accountProvisioningState", + "modelAsString": true + } + }, + "errorDetails": { + "description": "Gets the account error details.", + "allOf": [ + { + "$ref": "#/definitions/ErrorModel" + } + ], + "readOnly": true + } + } + }, + "AccountUpdateParameters": { + "description": "The account update properties.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/Identity" + }, + "properties": { + "$ref": "#/definitions/AccountProperties" + }, + "tags": { + "description": "Tags on the azure resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "BatchFeatureRequest": { + "description": "Feature request model", + "type": "object", + "properties": { + "features": { + "description": "Set of features", + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + } + } + }, + "BatchFeatureStatus": { + "description": "List of features with enabled status", + "type": "object", + "properties": { + "features": { + "description": "Features with enabled status", + "type": "object", + "additionalProperties": { + "type": "boolean" + }, + "readOnly": true + } + } + }, + "CheckNameAvailabilityRequest": { + "description": "The request payload for CheckNameAvailability API", + "type": "object", + "properties": { + "name": { + "description": "Resource name to verify for availability", + "type": "string" + }, + "type": { + "description": "Fully qualified resource type which includes provider namespace", + "type": "string" + } + } + }, + "CheckNameAvailabilityResult": { + "description": "The response payload for CheckNameAvailability API", + "type": "object", + "properties": { + "message": { + "description": "Error message", + "type": "string" + }, + "nameAvailable": { + "description": "Indicates if name is valid and available.", + "type": "boolean" + }, + "reason": { + "description": "The reason the name is not available.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "reason", + "modelAsString": true + } + } + } + }, + "CloudConnectors": { + "description": "External Cloud Service connectors", + "type": "object", + "properties": { + "awsExternalId": { + "description": "AWS external identifier.\r\nConfigured in AWS to allow use of the role arn used for scanning", + "type": "string", + "readOnly": true + } + } + }, + "CollectionAdminUpdate": { + "description": "Collection administrator update.", + "type": "object", + "properties": { + "objectId": { + "description": "Gets or sets the object identifier of the admin.", + "type": "string" + } + } + }, + "Consent": { + "description": "Consent extension resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Gets or sets the consent kind.", + "enum": [ + "Metadata", + "Governance" + ], + "type": "string", + "x-ms-enum": { + "name": "ConsentKind", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/ConsentProperties", + "x-ms-client-flatten": true + } + } + }, + "ConsentProperties": { + "description": "The consent properties", + "type": "object", + "properties": { + "scope": { + "type": "string", + "readOnly": true + }, + "scopeType": { + "description": "Defines consent scope type.", + "enum": [ + "Azure", + "Fabric", + "Databricks", + "Snowflake", + "S3" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ConsentScopeType", + "modelAsString": true + } + }, + "status": { + "description": "Defines consent status.", + "enum": [ + "NotSpecified", + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ConsentStatus", + "modelAsString": true + } + } + } + }, + "Credentials": { + "description": "Credentials to access the event streaming service attached to the purview account.", + "type": "object", + "properties": { + "identityId": { + "description": "Identity identifier for UserAssign type.", + "type": "string" + }, + "type": { + "description": "Identity Type.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "CredentialsType", + "modelAsString": true + } + } + } + }, + "DefaultAccountPayload": { + "description": "Payload to get and set the default account in the given scope", + "type": "object", + "properties": { + "accountName": { + "description": "The name of the account that is set as the default.", + "type": "string" + }, + "resourceGroupName": { + "description": "The resource group name of the account that is set as the default.", + "type": "string" + }, + "scope": { + "description": "The scope object ID. For example, sub ID or tenant ID.", + "type": "string" + }, + "scopeTenantId": { + "description": "The scope tenant in which the default account is set.", + "type": "string" + }, + "scopeType": { + "description": "The scope where the default account is set.", + "enum": [ + "Tenant", + "Subscription" + ], + "type": "string", + "x-ms-enum": { + "name": "scopeType", + "modelAsString": true + } + }, + "subscriptionId": { + "description": "The subscription ID of the account that is set as the default.", + "type": "string" + } + } + }, + "DimensionProperties": { + "description": "properties for dimension", + "type": "object", + "properties": { + "displayName": { + "description": "localized display name of the dimension to customer", + "type": "string" + }, + "name": { + "description": "dimension name", + "type": "string" + }, + "toBeExportedForCustomer": { + "description": "flag indicating whether this dimension should be included to the customer in Azure Monitor logs (aka Shoebox)", + "type": "boolean" + } + } + }, + "ErrorModel": { + "description": "Default error model", + "type": "object", + "properties": { + "code": { + "description": "Gets or sets the code.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Gets or sets the details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorModel" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "message": { + "description": "Gets or sets the messages.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Gets or sets the target.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorResponseModel": { + "description": "Default error response model", + "type": "object", + "properties": { + "error": { + "description": "Gets or sets the error.", + "allOf": [ + { + "$ref": "#/definitions/ErrorModel" + } + ], + "readOnly": true + } + } + }, + "Identity": { + "description": "The Managed Identity of the resource", + "type": "object", + "properties": { + "principalId": { + "description": "Service principal object Id", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Tenant Id", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Identity Type", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "type", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "description": "User Assigned Identities", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + } + } + }, + "IngestionStorage": { + "description": "Ingestion Storage Account Info", + "type": "object", + "properties": { + "id": { + "description": "Gets or sets the Id.", + "type": "string", + "readOnly": true + }, + "primaryEndpoint": { + "description": "Gets or sets the primary endpoint.", + "type": "string", + "readOnly": true + }, + "publicNetworkAccess": { + "description": "Gets or sets the public network access setting", + "enum": [ + "NotSpecified", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + } + } + }, + "KafkaConfiguration": { + "description": "The configuration of the event streaming service resource attached to the Purview account for kafka notifications.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/KafkaConfigurationProperties", + "x-ms-client-flatten": true + } + } + }, + "KafkaConfigurationList": { + "description": "Paged list of kafka configuration resources", + "required": [ + "value" + ], + "type": "object", + "properties": { + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type results.", + "type": "array", + "items": { + "$ref": "#/definitions/KafkaConfiguration" + }, + "x-ms-identifiers": [] + } + } + }, + "KafkaConfigurationProperties": { + "description": "The kafka configuration properties of the event streaming service attached to the Purview account for kafka notifications.", + "type": "object", + "properties": { + "consumerGroup": { + "description": "Consumer group for hook event hub.", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/Credentials" + }, + "eventHubPartitionId": { + "description": "Optional partition Id for notification event hub. If not set, all partitions will be leveraged.", + "type": "string" + }, + "eventHubResourceId": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.EventHub/namespaces/eventHubs" + } + ] + } + }, + "eventHubType": { + "description": "The event hub type.", + "enum": [ + "Notification", + "Hook" + ], + "type": "string", + "x-ms-enum": { + "name": "eventHubType", + "modelAsString": true + } + }, + "eventStreamingState": { + "description": "The state of the event streaming service", + "default": "Enabled", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "eventStreamingState", + "modelAsString": true + } + }, + "eventStreamingType": { + "description": "The event streaming service type", + "default": "None", + "enum": [ + "None", + "Managed", + "Azure" + ], + "type": "string", + "x-ms-enum": { + "name": "eventStreamingType", + "modelAsString": true + } + } + } + }, + "ManagedResources": { + "description": "The managed resources in customer subscription.", + "type": "object", + "properties": { + "eventHubNamespace": { + "description": "Gets the managed event hub namespace resource identifier.", + "type": "string", + "readOnly": true + }, + "resourceGroup": { + "description": "Gets the managed resource group resource identifier. This resource group will host resource dependencies for the account.", + "type": "string", + "readOnly": true + }, + "storageAccount": { + "description": "Gets the managed storage account resource identifier.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "Operation resource", + "type": "object", + "properties": { + "display": { + "$ref": "#/definitions/OperationDisplay" + }, + "isDataAction": { + "description": "Whether operation is a data action", + "type": "boolean" + }, + "name": { + "description": "Operation name for display purposes", + "type": "string" + }, + "origin": { + "description": "origin of the operation", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "x-ms-client-flatten": true + } + } + }, + "OperationDisplay": { + "description": "The response model for get operation properties", + "type": "object", + "properties": { + "description": { + "description": "Description of the operation for display purposes", + "type": "string" + }, + "operation": { + "description": "Name of the operation for display purposes", + "type": "string" + }, + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "Name of the resource type for display purposes", + "type": "string" + } + } + }, + "OperationList": { + "description": "Paged list of operation resources", + "required": [ + "value" + ], + "type": "object", + "properties": { + "count": { + "format": "int64", + "description": "Total item count.", + "type": "integer" + }, + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type results.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [] + } + } + }, + "OperationMetaLogSpecification": { + "description": "log specifications for operation api", + "type": "object", + "properties": { + "blobDuration": { + "description": "blob duration of the log", + "type": "string" + }, + "displayName": { + "description": "localized name of the log category", + "type": "string" + }, + "name": { + "description": "name of the log category", + "type": "string" + } + } + }, + "OperationMetaMetricSpecification": { + "description": "metric specifications for the operation", + "type": "object", + "properties": { + "aggregationType": { + "description": "aggregation type of metric", + "type": "string" + }, + "dimensions": { + "description": "properties for dimension", + "type": "array", + "items": { + "$ref": "#/definitions/DimensionProperties" + }, + "x-ms-identifiers": [] + }, + "displayDescription": { + "description": "description of the metric", + "type": "string" + }, + "displayName": { + "description": "localized name of the metric", + "type": "string" + }, + "enableRegionalMdmAccount": { + "description": "enable regional mdm account", + "type": "string" + }, + "internalMetricName": { + "description": "internal metric name", + "type": "string" + }, + "name": { + "description": "name of the metric", + "type": "string" + }, + "resourceIdDimensionNameOverride": { + "description": "dimension name use to replace resource id if specified", + "type": "string" + }, + "sourceMdmNamespace": { + "description": "Metric namespace.\r\nOnly set the namespace if different from the default value, \r\nleaving it empty makes it use the value from the ARM manifest.", + "type": "string" + }, + "supportedAggregationTypes": { + "description": "supported aggregation types", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "supportedTimeGrainTypes": { + "description": "supported time grain types", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "unit": { + "description": "units for the metric", + "type": "string" + } + } + }, + "OperationMetaServiceSpecification": { + "description": "The operation meta service specification", + "type": "object", + "properties": { + "logSpecifications": { + "description": "log specifications for the operation", + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetaLogSpecification" + }, + "x-ms-identifiers": [] + }, + "metricSpecifications": { + "description": "metric specifications for the operation", + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetaMetricSpecification" + }, + "x-ms-identifiers": [] + } + } + }, + "OperationProperties": { + "description": "properties on meta info", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/OperationMetaServiceSpecification" + } + } + }, + "PrivateEndpoint": { + "description": "A private endpoint class.", + "type": "object", + "properties": { + "id": { + "description": "The private endpoint identifier.", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The connection identifier.", + "x-ms-client-flatten": true + } + } + }, + "PrivateEndpointConnectionList": { + "description": "Paged list of private endpoint connections", + "required": [ + "value" + ], + "type": "object", + "properties": { + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type results.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "A private endpoint connection properties class.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The private endpoint information." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "The private link service connection state." + }, + "provisioningState": { + "description": "The provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnectionStatusUpdateRequest": { + "description": "A private endpoint connection status update request class.", + "type": "object", + "properties": { + "privateEndpointId": { + "description": "The private endpoint resource identifier.", + "type": "string" + }, + "status": { + "description": "The private endpoint connection status.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionStatusUpdateResponse": { + "description": "A private endpoint connection status update response class.", + "type": "object", + "properties": { + "privateEndpointId": { + "description": "The private endpoint resource identifier.", + "type": "string" + }, + "status": { + "description": "The private endpoint connection status.", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "A privately linkable resource.", + "type": "object", + "properties": { + "id": { + "description": "The private link resource identifier.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The private link resource name.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "The private link resource properties.", + "readOnly": true + }, + "type": { + "description": "The private link resource type.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateLinkResourceList": { + "description": "Paged list of private link resources", + "required": [ + "value" + ], + "type": "object", + "properties": { + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type results.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResourceProperties": { + "description": "A privately linkable resource properties.", + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group identifier.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "This translates to how many Private IPs should be created for each privately linkable resource.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "description": "The required zone names for private link resource.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The private link service connection state.", + "type": "object", + "properties": { + "actionsRequired": { + "description": "The required actions.", + "type": "string" + }, + "description": { + "description": "The description.", + "type": "string" + }, + "status": { + "description": "The status.", + "enum": [ + "Unknown", + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "status", + "modelAsString": true + } + } + } + }, + "ProxyResource": { + "description": "Proxy Azure Resource", + "type": "object", + "properties": { + "id": { + "description": "Gets or sets the identifier.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "allOf": [ + { + "$ref": "#/definitions/SystemData" + } + ], + "readOnly": true + }, + "type": { + "description": "Gets or sets the type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "QuotaName": { + "description": "Quota name", + "type": "object", + "properties": { + "localizedValue": { + "description": "Gets or sets the localized name value.", + "type": "string" + }, + "value": { + "description": "Gets or sets the name value.", + "type": "string" + } + } + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "properties": { + "createdAt": { + "format": "date-time", + "description": "The timestamp of resource creation (UTC).", + "type": "string", + "readOnly": true + }, + "createdBy": { + "description": "The identity that created the resource.", + "type": "string", + "readOnly": true + }, + "createdByType": { + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "format": "date-time", + "description": "The timestamp of the last modification the resource (UTC).", + "type": "string", + "readOnly": true + }, + "lastModifiedBy": { + "description": "The identity that last modified the resource.", + "type": "string", + "readOnly": true + }, + "lastModifiedByType": { + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "lastModifiedByType", + "modelAsString": true + } + } + } + }, + "TrackedResource": { + "description": "Azure ARM Tracked Resource", + "type": "object", + "properties": { + "id": { + "description": "Gets or sets the identifier.", + "type": "string", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/Identity" + }, + "location": { + "description": "Gets or sets the location.", + "type": "string" + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "allOf": [ + { + "$ref": "#/definitions/SystemData" + } + ], + "readOnly": true + }, + "tags": { + "description": "Tags on the azure resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "type": { + "description": "Gets or sets the type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "Usage": { + "description": "Response for usage information", + "type": "object", + "properties": { + "currentValue": { + "format": "int32", + "description": "Current usage quota value", + "type": "integer", + "readOnly": true + }, + "id": { + "description": "Fully qualified resource Id", + "type": "string", + "readOnly": true + }, + "limit": { + "format": "int32", + "description": "Usage quota limit", + "type": "integer", + "readOnly": true + }, + "name": { + "description": "Quota name", + "allOf": [ + { + "$ref": "#/definitions/QuotaName" + } + ], + "readOnly": true + }, + "unit": { + "description": "Quota usage unit.", + "type": "string", + "readOnly": true + } + } + }, + "UsageList": { + "description": "List of usage information", + "type": "object", + "properties": { + "value": { + "description": "Collection of usage values.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "readOnly": true + }, + "nextLink": { + "description": "The Url of next link.", + "type": "string" + } + } + }, + "UserAssignedIdentity": { + "description": "Uses client ID and Principal ID", + "type": "object", + "properties": { + "clientId": { + "description": "Gets or Sets Client ID", + "type": "string", + "readOnly": true + }, + "principalId": { + "description": "Gets or Sets Principal ID", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "subscriptionId": { + "in": "path", + "name": "subscriptionId", + "description": "The subscription identifier", + "required": true, + "type": "string" + }, + "api-version": { + "in": "query", + "name": "api-version", + "description": "The api version to use.", + "required": true, + "type": "string" + }, + "accountName": { + "in": "path", + "name": "accountName", + "description": "The name of the account.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$", + "x-ms-parameter-location": "method" + }, + "resourceGroupName": { + "in": "path", + "name": "resourceGroupName", + "description": "The resource group name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow." + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/purview/resource-manager/readme.md b/specification/purview/resource-manager/readme.md index 989f0cbb8fc9..80513fd1229a 100644 --- a/specification/purview/resource-manager/readme.md +++ b/specification/purview/resource-manager/readme.md @@ -1,13 +1,13 @@ # Purview - + > see https://aka.ms/autorest This is the AutoRest configuration file for Purview. +--- +## Getting Started ---- -## Getting Started To build the SDK for Purview, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,21 +15,37 @@ To build the SDK for Purview, simply [Install AutoRest](https://aka.ms/autorest/ To see additional help and options, run: > `autorest --help` + --- ## Configuration +### Basic Information - -### Basic Information These are the global settings for the Purview API. ``` yaml openapi-type: arm -tag: package-2021-12-01 +tag: package-2023-05-01-preview +``` + +### Tag: package-2023-05-01-preview + +These settings apply only when `--tag=package-2023-05-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2023-05-01-preview' +input-file: +- Microsoft.Purview/preview/2023-05-01-preview/purview.json ``` +### Tag: package-preview-2023-05 + +These settings apply only when `--tag=package-preview-2023-05` is specified on the command line. +```yaml $(tag) == 'package-preview-2023-05' +input-file: + - Microsoft.Purview/preview/2023-05-01-preview/purview.json +``` ### Tag: package-2020-12-01-preview These settings apply only when `--tag=package-2020-12-01-preview` is specified on the command line. @@ -39,7 +55,6 @@ input-file: - Microsoft.Purview/preview/2020-12-01-preview/purview.json ``` - ### Tag: package-2021-07-01 These settings apply only when `--tag=package-2021-07-01` is specified on the command line. @@ -58,10 +73,9 @@ input-file: - Microsoft.Purview/stable/2021-12-01/purview.json ``` - --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -76,8 +90,7 @@ swagger-to-sdk: - repo: azure-powershell ``` - -## C# +## C# These settings apply only when `--csharp` is specified on the command line. Please also specify `--csharp-sdks-folder=`. @@ -87,7 +100,7 @@ csharp: azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: Microsoft.Azure.Management.Purview - output-folder: $(csharp-sdks-folder)/Purview/Microsoft.Azure.Management.Purview/src/Generated + output-folder: $(csharp-sdks-folder)/Purview/Management.Purview/Generated clear-output-folder: true ``` @@ -113,5 +126,16 @@ directive: - $.definitions.CheckNameAvailabilityResult.properties.nameAvailable - $.definitions.DimensionProperties.properties.toBeExportedForCustomer reason: - - Check name model is set by ARM team https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/proxy-api-reference.md#check-name-availability-requests -``` + - Check name model is set by ARM team https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/proxy-api-reference.md#check-name-availability-requests + - suppress: R2025 # NextLinkPropertyMustExist + where: + - $.definitions.UsageList.properties.nextLink + reason: + - Check Usage response model set by ARM team https://armwiki.azurewebsites.net/api_contracts/UsagesAPIContract.html?q=usages + - suppress: PatchSkuProperty + from: purview.json + where: + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}"].patch.parameters[4] + reason: + - The service does not support SKU since V1. +``` \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/bms.json new file mode 100644 index 000000000000..f222fe3b341f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/bms.json @@ -0,0 +1,13530 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-08-01", + "title": "RecoveryServicesBackupClient", + "x-ms-code-generation-settings": { + "internalConstructors": false + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": { + "get": { + "tags": [ + "BackupResourceStorageConfigsNonCRR" + ], + "description": "Fetches resource storage config.", + "operationId": "BackupResourceStorageConfigsNonCRR_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Get.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceStorageConfigsNonCRR" + ], + "description": "Updates vault storage model type.", + "operationId": "BackupResourceStorageConfigsNonCRR_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault storage config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Put.json" + } + } + }, + "patch": { + "tags": [ + "BackupResourceStorageConfigsNonCRR" + ], + "description": "Updates vault storage model type.", + "operationId": "BackupResourceStorageConfigsNonCRR_patch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault storage config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Patch.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": { + "post": { + "tags": [ + "ProtectionIntent" + ], + "summary": "It will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", + "operationId": "ProtectionIntent_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Enable backup validation request on Virtual Machine", + "required": true, + "schema": { + "$ref": "#/definitions/PreValidateEnableBackupRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PreValidateEnableBackupResponse" + } + } + }, + "x-ms-examples": { + "Validate Enable Protection on Azure Vm": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": { + "post": { + "tags": [ + "BackupStatus" + ], + "summary": "Get the container backup status", + "operationId": "BackupStatus_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Container Backup Status Request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupStatusRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupStatusResponse" + } + } + }, + "x-ms-examples": { + "Get Azure Virtual Machine Backup Status": { + "$ref": "./examples/AzureIaasVm/GetBackupStatus.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": { + "post": { + "tags": [ + "FeatureSupport" + ], + "summary": "It will validate if given feature with resource properties is supported in service", + "operationId": "FeatureSupport_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Feature support request object", + "required": true, + "schema": { + "$ref": "#/definitions/FeatureSupportRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse" + } + } + }, + "x-ms-examples": { + "Check Azure Vm Backup Feature Support": { + "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": { + "get": { + "tags": [ + "ProtectionIntent" + ], + "description": "Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", + "operationId": "ProtectionIntent_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + }, + "x-ms-examples": { + "Get ProtectionIntent for an item": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectionIntent" + ], + "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.", + "operationId": "ProtectionIntent_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Intent object name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backed up item", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + }, + "x-ms-examples": { + "Create or Update Azure Vm Protection Intent": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionIntent" + ], + "description": "Used to remove intent from an item", + "operationId": "ProtectionIntent_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the intent.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Intent to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Delete Protection intent from item": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Delete.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents": { + "get": { + "tags": [ + "BackupProtectionIntent" + ], + "description": "Provides a pageable list of all intents that are present within a vault.", + "operationId": "BackupProtectionIntent_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionIntentResourceList" + } + } + }, + "x-ms-odata": "#/definitions/ProtectionIntentQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protection intent with backupManagementType filter": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": { + "get": { + "tags": [ + "BackupUsageSummaries" + ], + "description": "Fetches the backup management usage summaries of the vault.", + "operationId": "BackupUsageSummaries_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupManagementUsageList" + } + } + }, + "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Get Protected Items Usages Summary": { + "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json" + }, + "Get Protected Containers Usages Summary": { + "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json" + } + } + } + }, + "/providers/Microsoft.RecoveryServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Returns the list of available operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClientDiscoveryResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": { + "get": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Fetches resource vault config.", + "operationId": "BackupResourceVaultConfigs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" + } + } + }, + "patch": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Updates vault security config.", + "operationId": "BackupResourceVaultConfigs_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Updates vault security config. ", + "operationId": "BackupResourceVaultConfigs_Put", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEncryptionConfigs/backupResourceEncryptionConfig": { + "get": { + "tags": [ + "BackupResourceEncryptionConfigs" + ], + "description": "Fetches Vault Encryption config.", + "operationId": "BackupResourceEncryptionConfigs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceEncryptionConfigExtendedResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Get.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceEncryptionConfigs" + ], + "description": "Updates Vault encryption config.", + "operationId": "BackupResourceEncryptionConfigs_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault encryption input config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceEncryptionConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Put.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "description": "Get Private Endpoint Connection. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnection" + ], + "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Put", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnection" + ], + "description": "Delete Private Endpoint requests. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": { + "get": { + "tags": [ + "PrivateEndpoint" + ], + "summary": "Gets the operation status for a private endpoint connection.", + "operationId": "PrivateEndpoint_GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { + "get": { + "tags": [ + "DataMove" + ], + "description": "Fetches operation status for data move operation on vault", + "operationId": "GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { + "post": { + "tags": [ + "DataMove" + ], + "description": "Prepares source vault for Data Move operation", + "operationId": "BMSPrepareDataMove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Prepare data move request", + "required": true, + "schema": { + "$ref": "#/definitions/PrepareDataMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Prepare Data Move": { + "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { + "get": { + "tags": [ + "BMSPrepareDataMoveOperationResult" + ], + "description": "Fetches Operation Result for Prepare Data Move", + "operationId": "BMSPrepareDataMoveOperationResult_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. ", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get operation result for PrepareDataMove": { + "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { + "post": { + "tags": [ + "DataMove" + ], + "description": "Triggers Data Move Operation on target vault", + "operationId": "BMSTriggerDataMove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Trigger data move request", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerDataMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger Data Move": { + "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { + "get": { + "tags": [ + "ProtectedItems" + ], + "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", + "operationId": "ProtectedItems_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/GetProtectedItemQueryObject", + "x-ms-examples": { + "Get Protected Classic Virtual Machine Details": { + "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json" + }, + "Get Protected Virtual Machine Details": { + "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectedItems" + ], + "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Item name to be backed up.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backed up item", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Enable Protection on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/ConfigureProtection.json" + }, + "Stop Protection with retain data on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/StopProtection.json" + } + } + }, + "delete": { + "tags": [ + "ProtectedItems" + ], + "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Protection from Azure Virtual Machine": { + "$ref": "./examples/Common/ProtectedItem_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectedItemOperationResults" + ], + "description": "Fetches the result of any operation on the backup item.", + "operationId": "ProtectedItemOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Results of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { + "get": { + "tags": [ + "RecoveryPoints" + ], + "description": "Lists the backup copies for the backed up item.", + "operationId": "RecoveryPoints_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item whose backup copies are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSRPQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Protected Azure Vm Recovery Points": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { + "get": { + "tags": [ + "RecoveryPoints" + ], + "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", + "operationId": "RecoveryPoints_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with backed up item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with backed up item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose backup data needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "RecoveryPointID represents the backed up data to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Azure Vm Recovery Point Details": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { + "post": { + "tags": [ + "Restores" + ], + "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.", + "operationId": "Restores_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents the backed up data to be restored.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource restore request", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Restore to New Azure IaasVm with IaasVMRestoreRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json" + }, + "Restore to New Azure IaasVm with IaasVMRestoreRequest with identityBasedRestoreDetails": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json" + }, + "Restore to New Azure IaasVm with IaasVMRestoreWithRehydrationRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json" + }, + "Restore Disks with IaasVMRestoreRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json" + }, + "Restore Disks with IaasVMRestoreRequest with IdentityBasedRestoreDetails": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json" + }, + "Restore Disks with IaasVMRestoreWithRehydrationRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { + "get": { + "tags": [ + "BackupPolicies" + ], + "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", + "operationId": "BackupPolicies_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protection policies with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" + }, + "List protection policies with backupManagementType filter as AzureIaasVm with both V1 and V2 policies": { + "$ref": "./examples/AzureIaasVm/V2Policy/v2-List-Policies.json" + }, + "List protection policies with backupManagementType filter as AzureWorkload": { + "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { + "get": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy information to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Azure IaasVm Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" + }, + "Get Azure IaasVm Enhanced Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/V2Policy/v2-Get-Policy.json" + } + } + }, + "put": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be created.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup policy", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or Update Simple Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" + }, + "Create or Update Full Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" + }, + "Create or Update Enhanced Azure Vm Protection Policy with Hourly backup": { + "$ref": "./examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json" + }, + "Create or Update Enhanced Azure Vm Protection Policy with daily backup": { + "$ref": "./examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json" + }, + "Create or Update Full Azure Workload Protection Policy": { + "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" + }, + "Create or Update Daily Azure Storage Protection Policy": { + "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json" + }, + "Create or Update Hourly Azure Storage Protection Policy": { + "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json" + }, + "Create or Update Azure Storage Vault Standard Protection Policy": { + "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetProtectionPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionPolicyOperationResults" + ], + "description": "Provides the result of an operation.", + "operationId": "ProtectionPolicyOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's result needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Protection Policy Operation Results": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { + "get": { + "tags": [ + "BackupJobs" + ], + "description": "Provides a pageable list of jobs.", + "operationId": "BackupJobs_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/JobQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List All Jobs": { + "$ref": "./examples/Common/ListJobs.json" + }, + "List Jobs With Filters": { + "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json" + }, + "List Jobs With Time Filter": { + "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { + "get": { + "tags": [ + "JobDetails" + ], + "description": "Gets extended information associated with the job.", + "operationId": "JobDetails_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Name of the job whose details are to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Job Details": { + "$ref": "./examples/Common/GetJobDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { + "post": { + "tags": [ + "JobCancellations" + ], + "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.", + "operationId": "JobCancellations_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Name of the job to cancel.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Cancel Job": { + "$ref": "./examples/Common/TriggerCancelJob.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": { + "get": { + "tags": [ + "JobOperationResults" + ], + "description": "Fetches the result of any operation.", + "operationId": "JobOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job name whose operation result has to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result has to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Cancel Job Operation Result": { + "$ref": "./examples/Common/CancelJobOperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { + "get": { + "tags": [ + "ExportJobsOperationResults" + ], + "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\r\ncontains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", + "operationId": "ExportJobsOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the export job.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResultInfoBaseResource" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/OperationResultInfoBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Export Jobs Operation Results": { + "$ref": "./examples/Common/ExportJobsOperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { + "post": { + "tags": [ + "Jobs" + ], + "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", + "operationId": "Jobs_Export", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/JobQueryObject", + "x-ms-examples": { + "Export Jobs": { + "$ref": "./examples/Common/TriggerExportJobs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { + "get": { + "tags": [ + "BackupProtectedItems" + ], + "description": "Provides a pageable list of all items that are backed up within a vault.", + "operationId": "BackupProtectedItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/ProtectedItemQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protected items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { + "post": { + "tags": [ + "Operation" + ], + "description": "Validate operation for specified backed up item. This is a synchronous operation.", + "operationId": "Operation_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource validate operation request", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateOperationRequestResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ValidateOperationsResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" + }, + "Validate Operation with identityBasedRestoreDetails": { + "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTriggerValidateOperation": { + "post": { + "tags": [ + "ValidateOperation" + ], + "description": "Validate operation for specified backed up item in the form of an asynchronous operation. Returns tracking headers which can be tracked using GetValidateOperationResult API.", + "operationId": "ValidateOperation_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "resource validate operation request", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateOperationRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger Validate Operation": { + "$ref": "./examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationResults/{operationId}": { + "get": { + "tags": [ + "ValidateOperationResults" + ], + "description": "Fetches the result of a triggered validate operation.", + "operationId": "ValidateOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ValidateOperationsResponse" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Results of Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperationResults.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationsStatuses/{operationId}": { + "get": { + "tags": [ + "ValidateOperationStatuses" + ], + "description": "Fetches the status of a triggered validate operation. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation.\r\nIf operation has completed, this method returns the list of errors obtained while validating the operation.", + "operationId": "ValidateOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID represents the operation whose status needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Status of Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { + "get": { + "tags": [ + "BackupEngines" + ], + "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.", + "operationId": "BackupEngines_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupEngineBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Dpm/AzureBackupServer/Lajolla Backup Engines": { + "$ref": "./examples/Dpm/BackupEngines_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": { + "get": { + "tags": [ + "BackupEngines" + ], + "description": "Returns backup management server registered to Recovery Services Vault.", + "operationId": "BackupEngines_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupEngineName", + "in": "path", + "description": "Name of the backup management server.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupEngineBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject", + "x-ms-examples": { + "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": { + "$ref": "./examples/Dpm/BackupEngines_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionContainerRefreshOperationResults" + ], + "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.", + "operationId": "ProtectionContainerRefreshOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID associated with the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Azure Vm Discovery Operation Result": { + "$ref": "./examples/Common/RefreshContainers_OperationResults.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": { + "get": { + "tags": [ + "ProtectableContainers" + ], + "description": "Lists the containers that can be registered to Recovery Services Vault.", + "operationId": "ProtectableContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectableContainerResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protectable items with backupManagementType filter as AzureStorage": { + "$ref": "./examples/AzureStorage/ProtectableContainers_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { + "get": { + "tags": [ + "ProtectionContainers" + ], + "description": "Gets details of the specific container registered to your Recovery Services Vault.", + "operationId": "ProtectionContainers_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the fabric where the container belongs.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Protection Container Details": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectionContainers" + ], + "description": "Registers the container with Recovery Services vault.\r\nThis is an asynchronous operation. To track the operation status, use location header to call get latest status of\r\nthe operation.", + "operationId": "ProtectionContainers_Register", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container to be registered.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "RegisterAzure Storage ProtectionContainers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionContainers" + ], + "description": "Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine\r\nwhether the backend service has finished processing the request, call Get Container Operation Result API.", + "operationId": "ProtectionContainers_Unregister", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the fabric where the container belongs.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Unregister Protection Container": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": { + "post": { + "tags": [ + "ProtectionContainers" + ], + "summary": "Inquires all the protectable items under the given container.", + "description": "This is an async operation and the results should be tracked using location header or Azure-async-url.", + "operationId": "ProtectionContainers_Inquire", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric Name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container in which inquiry needs to be triggered.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject", + "x-ms-examples": { + "Inquire Azure Storage Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": { + "get": { + "tags": [ + "BackupWorkloadItems" + ], + "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination\r\nparameters.", + "operationId": "BackupWorkloadItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkloadItemResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Workload Items in Container": { + "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionContainerOperationResults" + ], + "description": "Fetches the result of any operation on the container.", + "operationId": "ProtectionContainerOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name whose information should be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Azure Storage Protection Container Operation Result": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { + "post": { + "tags": [ + "Backups" + ], + "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.", + "operationId": "Backups_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item for which backup needs to be triggered.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Trigger Backup": { + "$ref": "./examples/Common/TriggerBackup_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { + "get": { + "tags": [ + "ProtectedItemOperationStatuses" + ], + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with the operation.", + "operationId": "ProtectedItemOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID represents the operation whose status needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Status of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { + "post": { + "tags": [ + "ItemLevelRecoveryConnections" + ], + "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\r\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\r\nprovisioning, call GetProtectedItemOperationResult API.", + "operationId": "ItemLevelRecoveryConnections_Provision", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose files/folders are to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource ILR request", + "required": true, + "schema": { + "$ref": "#/definitions/ILRRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Provision Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { + "post": { + "tags": [ + "ItemLevelRecoveryConnections" + ], + "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\ndisplaying all recoverable files and folders. This is an asynchronous operation.", + "operationId": "ItemLevelRecoveryConnections_Revoke", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose files/folders are to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Revoke Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { + "post": { + "tags": [ + "ProtectionContainers" + ], + "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.", + "operationId": "ProtectionContainers_Refresh", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated the container.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject", + "x-ms-examples": { + "Trigger Azure Vm Discovery": { + "$ref": "./examples/Common/RefreshContainers.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { + "get": { + "tags": [ + "BackupOperationResults" + ], + "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\r\nstatus code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\r\nsuccessful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\r\npart of the Location header of the operation response.", + "operationId": "BackupOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Result for Protected Item Delete Operation": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": { + "get": { + "tags": [ + "BackupOperationStatuses" + ], + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs when the operation is complete.", + "operationId": "BackupOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Protected Item Delete Operation Status": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { + "get": { + "tags": [ + "ProtectionPolicyOperationStatuses" + ], + "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with operation.", + "operationId": "ProtectionPolicyOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's status needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents an operation whose status needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Protection Policy Operation Status": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": { + "get": { + "tags": [ + "BackupProtectableItems" + ], + "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the\r\npagination parameters.", + "operationId": "BackupProtectableItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkloadProtectableItemResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSPOQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protectable items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectableItems_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": { + "get": { + "tags": [ + "BackupProtectionContainers" + ], + "description": "Lists the containers registered to Recovery Services Vault.", + "operationId": "BackupProtectionContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Backup Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupDeletedProtectionContainers": { + "get": { + "tags": [ + "SoftDeletedContainers" + ], + "description": "Lists the soft deleted containers registered to Recovery Services Vault.", + "operationId": "DeletedProtectionContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Backup Protection Containers": { + "$ref": "./examples/AzureStorage/SoftDeletedContainers_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": { + "post": { + "tags": [ + "SecurityPINs" + ], + "description": "Get the security PIN.", + "operationId": "SecurityPINs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "security pin request", + "required": false, + "schema": { + "$ref": "#/definitions/SecurityPinBase" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TokenInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Vault Security Pin": { + "$ref": "./examples/Common/BackupSecurityPin_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/move": { + "post": { + "tags": [ + "RecoveryPoint" + ], + "summary": "Move recovery point from one datastore to another store.", + "operationId": "MoveRecoveryPoint", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Move Resource Across Tiers Request", + "required": true, + "schema": { + "$ref": "#/definitions/MoveRPAcrossTiersRequest" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger RP Move Operation": { + "$ref": "./examples/TriggerRecoveryPointMove_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove": { + "post": { + "tags": [ + "RecoveryPointsRecommendedForMove" + ], + "description": "Lists the recovery points recommended for move to another tier", + "operationId": "RecoveryPointsRecommendedForMove_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "List Recovery points Recommended for Move Request", + "required": true, + "schema": { + "$ref": "#/definitions/ListRecoveryPointsRecommendedForMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Protected Azure Vm Recovery Points Recommended for Move": { + "$ref": "./examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies": { + "get": { + "tags": [ + "ResourceGuardProxies" + ], + "description": "List the ResourceGuardProxies under vault", + "operationId": "ResourceGuardProxies_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get VaultGuardProxies": { + "$ref": "./examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}": { + "get": { + "tags": [ + "ResourceGuardProxy" + ], + "description": "Returns ResourceGuardProxy under vault and with the name referenced in request", + "operationId": "ResourceGuardProxy_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "resourceGuardProxyName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json" + } + } + }, + "put": { + "tags": [ + "ResourceGuardProxy" + ], + "description": "Add or Update ResourceGuardProxy under vault\r\nSecures vault critical operations", + "operationId": "ResourceGuardProxy_Put", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "resourceGuardProxyName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json" + } + } + }, + "delete": { + "tags": [ + "ResourceGuardProxy" + ], + "description": "Delete ResourceGuardProxy under vault", + "operationId": "ResourceGuardProxy_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "resourceGuardProxyName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}/unlockDelete": { + "post": { + "tags": [ + "ResourceGuardProxy" + ], + "description": "Secures delete ResourceGuardProxy operations.", + "operationId": "ResourceGuardProxy_UnlockDelete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "resourceGuardProxyName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/UnlockDeleteRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UnlockDeleteResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UnlockDelete ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/fetchTieringCost": { + "post": { + "tags": [ + "FetchTieringCost" + ], + "operationId": "FetchTieringCost_Post", + "description": "Provides the details of the tiering related sizes and cost.\r\nStatus of the operation can be fetched using GetTieringCostOperationStatus API and result using GetTieringCostOperationResult API.", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/RestrictedVaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "in": "body", + "description": "Fetch Tiering Cost Request", + "required": true, + "schema": { + "$ref": "#/definitions/FetchTieringCostInfoRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TieringCostInfo" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Get the tiering savings cost info for policy": { + "$ref": "./examples/TieringCost/FetchTieringCostForPolicy.json" + }, + "Get the tiering savings cost info for protected item": { + "$ref": "./examples/TieringCost/FetchTieringCostForProtectedItem.json" + }, + "Get the tiering savings cost info for vault": { + "$ref": "./examples/TieringCost/FetchTieringCostForVault.json" + }, + "Get the rehydration cost for recovery point": { + "$ref": "./examples/TieringCost/FetchTieringCostForRehydrate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationResults/{operationId}": { + "get": { + "tags": [ + "GetTieringCostOperationResult" + ], + "description": "Gets the result of async operation for tiering cost", + "operationId": "GetTieringCostOperationResult_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/RestrictedVaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TieringCostInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Fetch Tiering Cost Operation Result": { + "$ref": "./examples/TieringCost/GetTieringCostOperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationsStatus/{operationId}": { + "get": { + "tags": [ + "TieringCostOperationStatus" + ], + "operationId": "TieringCostOperationStatus_Get", + "description": "Gets the status of async operations of tiering cost", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/RestrictedVaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Fetch Tiering Cost Operation Status": { + "$ref": "./examples/TieringCost/GetTieringCostOperationStatus.json" + } + } + } + } + }, + "definitions": { + "BackupResourceEncryptionConfig": { + "type": "object", + "properties": { + "encryptionAtRestType": { + "description": "Encryption At Rest Type", + "enum": [ + "Invalid", + "MicrosoftManaged", + "CustomerManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionAtRestType", + "modelAsString": true + } + }, + "keyUri": { + "description": "Key Vault Key URI", + "type": "string" + }, + "subscriptionId": { + "description": "Key Vault Subscription Id", + "type": "string" + }, + "lastUpdateStatus": { + "enum": [ + "Invalid", + "NotEnabled", + "PartiallySucceeded", + "PartiallyFailed", + "Failed", + "Succeeded", + "Initialized", + "FirstInitialization" + ], + "type": "string", + "x-ms-enum": { + "name": "LastUpdateStatus", + "modelAsString": true + } + }, + "infrastructureEncryptionState": { + "enum": [ + "Invalid", + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "InfrastructureEncryptionState", + "modelAsString": true + } + } + } + }, + "BackupResourceEncryptionConfigExtended": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupResourceEncryptionConfig" + } + ], + "properties": { + "userAssignedIdentity": { + "description": "User Assigned Identity Id", + "type": "string" + }, + "useSystemAssignedIdentity": { + "description": "bool to indicate whether to use system Assigned Identity or not", + "type": "boolean" + } + } + }, + "BackupResourceEncryptionConfigExtendedResource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceEncryptionConfigExtended", + "description": "BackupResourceEncryptionConfigExtendedResource properties" + } + } + }, + "BackupResourceEncryptionConfigResource": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceEncryptionConfig", + "description": "BackupResourceEncryptionConfigResource properties" + } + } + }, + "PrivateEndpoint": { + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection", + "type": "object", + "properties": { + "id": { + "description": "Gets or sets id", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "Private Endpoint Connection Response Properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Gets or sets provisioning state of the private endpoint connection", + "enum": [ + "Succeeded", + "Deleting", + "Failed", + "Pending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "Gets or sets private endpoint associated with the private endpoint connection" + }, + "groupIds": { + "description": "Group Ids for the Private Endpoint", + "type": "array", + "items": { + "description": "GroupId for the PrivateEndpointConnection - AzureBackup, AzureBackup_secondary or AzureSiteRecovery", + "enum": [ + "AzureBackup", + "AzureBackup_secondary", + "AzureSiteRecovery" + ], + "type": "string", + "x-ms-enum": { + "name": "VaultSubResourceType", + "modelAsString": true + } + } + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "Gets or sets private link service connection state" + } + } + }, + "PrivateEndpointConnectionResource": { + "description": "Private Endpoint Connection Response Properties", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnection", + "description": "PrivateEndpointConnectionResource properties" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Private Link Service Connection State", + "type": "object", + "properties": { + "status": { + "description": "Gets or sets the status", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateEndpointConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Gets or sets description", + "type": "string" + }, + "actionsRequired": { + "description": "Gets or sets actions required", + "type": "string" + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "type": "object", + "$ref": "#/definitions/CloudErrorBody", + "description": "The error object." + } + }, + "description": "An error response from the Container Instance service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "x-ms-identifiers": [ + "code" + ], + "description": "A list of additional details about the error." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + }, + "x-ms-identifiers": [], + "description": "The error additional info." + } + }, + "description": "An error response from the Container Instance service." + }, + "NewErrorResponse": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/NewErrorResponse" + }, + "x-ms-identifiers": [ + "/error/code" + ], + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + }, + "x-ms-identifiers": [], + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, + "AzureFileshareProtectedItem": { + "description": "Azure File Share workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the fileshare represented by this backup item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "AzureFileShareProtectedItem" + }, + "AzureFileshareProtectedItemExtendedInfo": { + "description": "Additional information about Azure File Share backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "resourceState": { + "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}", + "type": "string", + "readOnly": true + }, + "resourceStateSyncTime": { + "format": "date-time", + "description": "The resource state sync time for this backup item.", + "type": "string", + "readOnly": true + } + } + }, + "AzureFileShareRecoveryPoint": { + "description": "Azure File Share workload specific backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointType": { + "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "fileShareSnapshotUri": { + "description": "Contains Url to the snapshot of fileshare, if applicable", + "type": "string" + }, + "recoveryPointSizeInGB": { + "format": "int32", + "description": "Contains recovery point size", + "type": "integer" + }, + "recoveryPointProperties": { + "description": "Properties of Recovery Point", + "$ref": "#/definitions/RecoveryPointProperties" + } + }, + "x-ms-discriminator-value": "AzureFileShareRecoveryPoint" + }, + "AzureFileShareRestoreRequest": { + "description": "AzureFileShare Restore Request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Source storage account ARM Id", + "type": "string" + }, + "copyOptions": { + "description": "Options to resolve copy conflicts.", + "enum": [ + "Invalid", + "CreateCopy", + "Skip", + "Overwrite", + "FailOnConflict" + ], + "type": "string", + "x-ms-enum": { + "name": "CopyOptions", + "modelAsString": true + } + }, + "restoreRequestType": { + "description": "Restore Type (FullShareRestore or ItemLevelRestore)", + "enum": [ + "Invalid", + "FullShareRestore", + "ItemLevelRestore" + ], + "type": "string", + "x-ms-enum": { + "name": "RestoreRequestType", + "modelAsString": true + } + }, + "restoreFileSpecs": { + "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details", + "type": "array", + "items": { + "$ref": "#/definitions/RestoreFileSpecs" + }, + "x-ms-identifiers": [] + }, + "targetDetails": { + "$ref": "#/definitions/TargetAFSRestoreInfo", + "description": "Target File Share Details" + } + }, + "x-ms-discriminator-value": "AzureFileShareRestoreRequest" + }, + "AzureVmWorkloadProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "settings": { + "$ref": "#/definitions/Settings", + "description": "Common settings for the backup management" + }, + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + }, + "x-ms-identifiers": [] + }, + "makePolicyConsistent": { + "description": "Fix the policy inconsistency", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureWorkload" + }, + "AzureFileShareProtectionPolicy": { + "description": "AzureStorage backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "vaultRetentionPolicy": { + "$ref": "#/definitions/VaultRetentionPolicy", + "description": "Retention policy with the details on hardened backup copy retention ranges." + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureStorage" + }, + "AzureIaaSClassicComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureIaaSVMErrorInfo": { + "description": "Azure IaaS VM workload-specific error information.", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer", + "readOnly": true + }, + "errorTitle": { + "description": "Title: Typically, the entity that the error pertains to.", + "type": "string", + "readOnly": true + }, + "errorString": { + "description": "Localized error string.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ResourceHealthDetails": { + "description": "Health Details for backup items.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer", + "readOnly": true + }, + "title": { + "description": "Health Title", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Health Message", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "Health Recommended Actions", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "AzureIaaSVMHealthDetails": { + "description": "Azure IaaS VM workload-specific Health Details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceHealthDetails" + } + ] + }, + "AzureIaaSVMJob": { + "description": "Azure IaaS VM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMErrorInfo" + }, + "x-ms-identifiers": [ + "errorCode" + ] + }, + "virtualMachineVersion": { + "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", + "description": "Additional information for this job." + }, + "containerName": { + "description": "Container name of the entity on which the current job is executing.", + "type": "string" + }, + "isUserTriggered": { + "description": "Indicated that whether the job is adhoc(true) or scheduled(false)", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureIaaSVMJob" + }, + "AzureIaaSVMJobV2": { + "description": "Azure IaaS VM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "containerName": { + "description": "Container name of the entity on which the current job is executing.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMErrorInfo" + }, + "x-ms-identifiers": [ + "errorCode" + ] + }, + "virtualMachineVersion": { + "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", + "description": "Additional information for this job." + } + }, + "x-ms-discriminator-value": "AzureIaaSVMJobV2" + }, + "AzureIaaSVMJobExtendedInfo": { + "description": "Azure IaaS VM workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks associated with this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" + }, + "x-ms-identifiers": [ + "taskId" + ] + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "internalPropertyBag": { + "description": "Job internal properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "progressPercentage": { + "format": "double", + "description": "Indicates progress of the job. Null if it has not started or completed.", + "type": "number" + }, + "estimatedRemainingDuration": { + "description": "Time remaining for execution of this job.", + "type": "string" + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureIaaSVMJobTaskDetails": { + "description": "Azure IaaS VM workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "instanceId": { + "description": "The instanceId.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + }, + "progressPercentage": { + "format": "double", + "description": "Progress of the task.", + "type": "number" + }, + "taskExecutionDetails": { + "description": "Details about execution of the task.\r\neg: number of bytes transferred etc", + "type": "string" + } + } + }, + "AzureIaaSVMProtectedItem": { + "description": "IaaS VM workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string", + "readOnly": true + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine represented by this item.", + "type": "string", + "readOnly": true + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "healthStatus": { + "description": "Health status of protected item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + }, + "readOnly": true + }, + "healthDetails": { + "description": "Health details on this backup item.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMHealthDetails" + }, + "x-ms-identifiers": [ + "code" + ] + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "lastBackupStatus": { + "description": "Last backup operation status.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string", + "readOnly": true + }, + "protectedItemDataId": { + "description": "Data ID of the protected item.", + "type": "string", + "readOnly": true + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "extendedProperties": { + "$ref": "#/definitions/ExtendedProperties" + } + }, + "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" + }, + "AzureIaaSVMProtectedItemExtendedInfo": { + "description": "Additional information on Azure IaaS VM specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item across all tiers.", + "type": "string" + }, + "oldestRecoveryPointInVault": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item in vault tier", + "type": "string" + }, + "oldestRecoveryPointInArchive": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item in archive tier", + "type": "string" + }, + "newestRecoveryPointInArchive": { + "format": "date-time", + "description": "The latest backup copy available for this backup item in archive tier", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" + }, + "policyInconsistent": { + "description": "Specifies if backup policy associated with the backup item is inconsistent.", + "type": "boolean" + } + } + }, + "AzureIaaSVMProtectionPolicy": { + "description": "IaaS VM workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "instantRPDetails": { + "$ref": "#/definitions/InstantRPAdditionalDetails" + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "tieringPolicy": { + "description": "Tiering policy to automatically move RPs to another tier\r\nKey is Target Tier, defined in RecoveryPointTierType enum.\r\nTiering policy specifies the criteria to move RP to the target tier.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/TieringPolicy" + } + }, + "instantRpRetentionRangeInDays": { + "format": "int32", + "description": "Instant RP retention policy range in days", + "type": "integer" + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "policyType": { + "enum": [ + "Invalid", + "V1", + "V2" + ], + "type": "string", + "x-ms-enum": { + "name": "IAASVMPolicyType", + "modelAsString": true + } + }, + "snapshotConsistencyType": { + "enum": [ + "OnlyCrashConsistent" + ], + "type": "string", + "x-ms-enum": { + "name": "IaasVMSnapshotConsistencyType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureIaasVM" + }, + "AzureSqlProtectedItem": { + "description": "Azure SQL workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "protectedItemDataId": { + "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of the backed up item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + } + }, + "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" + }, + "AzureSqlProtectedItemExtendedInfo": { + "description": "Additional information on Azure Sql specific protected item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "State of the backup policy associated with this backup item.", + "type": "string" + } + } + }, + "AzureStorageErrorInfo": { + "description": "Azure storage specific error information", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureSqlProtectionPolicy": { + "description": "Azure SQL workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "AzureSql" + }, + "AzureStorageJob": { + "description": "Azure storage specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageErrorInfo" + }, + "x-ms-identifiers": [ + "errorCode" + ] + }, + "storageAccountName": { + "description": "Specifies friendly name of the storage account.", + "type": "string" + }, + "storageAccountVersion": { + "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureStorageJobExtendedInfo", + "description": "Additional information about the job." + }, + "isUserTriggered": { + "description": "Indicated that whether the job is adhoc(true) or scheduled(false)", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureStorageJob" + }, + "AzureStorageJobExtendedInfo": { + "description": "Azure Storage workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageJobTaskDetails" + }, + "x-ms-identifiers": [ + "taskId" + ] + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureStorageJobTaskDetails": { + "description": "Azure storage workload specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "AzureVmWorkloadProtectedItem": { + "description": "Azure VM workload-specific protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the DB represented by this backup item.", + "type": "string", + "readOnly": true + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "parentName": { + "description": "Parent name of the DB such as Instance or Availability Group.", + "type": "string" + }, + "parentType": { + "description": "Parent type of protected item, example: for a DB, standalone server or distributed", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string", + "readOnly": true + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "LastBackupStatus", + "modelAsString": true + } + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "lastBackupErrorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error details in last backup" + }, + "protectedItemDataSourceId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "protectedItemHealthStatus": { + "description": "Health status of the backup item, evaluated based on last heartbeat received", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "NotReachable", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemHealthStatus", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "nodesList": { + "description": "List of the nodes in case of distributed container.", + "type": "array", + "items": { + "$ref": "#/definitions/DistributedNodesInfo" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem" + }, + "AzureVmWorkloadProtectedItemExtendedInfo": { + "description": "Additional information on Azure Workload for SQL specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item across all tiers.", + "type": "string" + }, + "oldestRecoveryPointInVault": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item in vault tier", + "type": "string" + }, + "oldestRecoveryPointInArchive": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item in archive tier", + "type": "string" + }, + "newestRecoveryPointInArchive": { + "format": "date-time", + "description": "The latest backup copy available for this backup item in archive tier", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "recoveryModel": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + } + } + }, + "AzureVmWorkloadSAPAseDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP ASE Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" + }, + "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" + }, + "AzureVmWorkloadSAPHanaDBInstanceProtectedItem": { + "description": "Azure VM workload-specific protected item representing SAP HANA DBInstance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDBInstance" + }, + "AzureVmWorkloadSQLDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" + }, + "AzureWorkloadErrorInfo": { + "description": "Azure storage specific error information", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "errorTitle": { + "description": "Title: Typically, the entity that the error pertains to.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + }, + "additionalDetails": { + "description": "Additional details for above error code.", + "type": "string" + } + } + }, + "AzureWorkloadJob": { + "description": "Azure storage specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "workloadType": { + "description": "Workload type of the job", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureWorkloadErrorInfo" + }, + "x-ms-identifiers": [ + "errorCode" + ] + }, + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", + "description": "Additional information about the job." + } + }, + "x-ms-discriminator-value": "AzureWorkloadJob" + }, + "AzureWorkloadJobExtendedInfo": { + "description": "Azure VM workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job", + "type": "array", + "items": { + "$ref": "#/definitions/AzureWorkloadJobTaskDetails" + }, + "x-ms-identifiers": [ + "taskId" + ] + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureWorkloadJobTaskDetails": { + "description": "Azure VM workload specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "AzureWorkloadPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" + }, + "AzureWorkloadPointInTimeRestoreRequest": { + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" + }, + "AzureWorkloadRecoveryPoint": { + "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointTimeInUTC": { + "format": "date-time", + "description": "UTC time at which recovery point was created", + "type": "string" + }, + "type": { + "description": "Type of restore point", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointType", + "modelAsString": true + } + }, + "recoveryPointTierDetails": { + "description": "Recovery point tier information.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformationV2" + }, + "x-ms-identifiers": [] + }, + "recoveryPointMoveReadinessInfo": { + "description": "Eligibility of RP to be moved to another tier", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } + }, + "recoveryPointProperties": { + "description": "Properties of Recovery Point", + "$ref": "#/definitions/RecoveryPointProperties" + } + }, + "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" + }, + "AzureWorkloadRestoreRequest": { + "description": "AzureWorkload-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", + "type": "string" + }, + "propertyBag": { + "description": "Workload specific property bag.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" + }, + "recoveryMode": { + "description": "Defines whether the current recovery mode is file restore or database restore", + "enum": [ + "Invalid", + "FileRecovery", + "WorkloadRecovery", + "SnapshotAttach", + "RecoveryUsingSnapshot", + "SnapshotAttachAndRecover" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryMode", + "modelAsString": true + } + }, + "targetResourceGroupName": { + "description": "Defines the Resource group of the Target VM", + "type": "string" + }, + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\r\nCurrently used for snapshot." + }, + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\r\nCurrently used for snapshot for SAP Hana." + }, + "targetVirtualMachineId": { + "description": "This is the complete ARM Id of the target VM\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" + }, + "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime in SAPHana", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" + }, + "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" + }, + "AzureWorkloadSAPHanaRecoveryPoint": { + "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" + }, + "AzureWorkloadSAPHanaRestoreRequest": { + "description": "AzureWorkload SAP Hana-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" + }, + "AzureWorkloadSQLPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" + } + ], + "properties": { + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" + }, + "AzureWorkloadSQLPointInTimeRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + } + ], + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" + }, + "AzureWorkloadSQLRecoveryPoint": { + "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "properties": { + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", + "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" + }, + "AzureWorkloadSQLRecoveryPointExtendedInfo": { + "description": "Extended info class details", + "type": "object", + "properties": { + "dataDirectoryTimeInUTC": { + "format": "date-time", + "description": "UTC time at which data directory info was captured", + "type": "string" + }, + "dataDirectoryPaths": { + "description": "List of data directory paths during restore operation.", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + }, + "x-ms-identifiers": [] + } + } + }, + "AzureWorkloadSQLRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "properties": { + "shouldUseAlternateTargetLocation": { + "description": "Default option set to true. If this is set to false, alternate data directory must be provided", + "type": "boolean" + }, + "isNonRecoverable": { + "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", + "type": "boolean" + }, + "alternateDirectoryPaths": { + "description": "Data directory details", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectoryMapping" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" + }, + "BEKDetails": { + "description": "BEK is bitlocker encryption key.", + "type": "object", + "properties": { + "secretUrl": { + "description": "Secret is BEK.", + "type": "string" + }, + "secretVaultId": { + "description": "ID of the Key Vault where this Secret is stored.", + "type": "string" + }, + "secretData": { + "description": "BEK data.", + "type": "string" + } + } + }, + "BMSRPQueryObject": { + "description": "Filters to list backup copies.", + "type": "object", + "properties": { + "startDate": { + "format": "date-time", + "description": "Backup copies created after this time.", + "type": "string" + }, + "endDate": { + "format": "date-time", + "description": "Backup copies created before this time.", + "type": "string" + }, + "restorePointQueryType": { + "description": "RestorePoint type", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "FullAndDifferential", + "All", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointQueryType", + "modelAsString": true + } + }, + "extendedInfo": { + "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.", + "type": "boolean" + }, + "moveReadyRPOnly": { + "description": "Whether the RP can be moved to another tier", + "type": "boolean" + }, + "includeSoftDeletedRP": { + "description": "Flag to indicate whether Soft Deleted RPs should be included/excluded from result.", + "type": "boolean" + } + } + }, + "DiskExclusionProperties": { + "type": "object", + "properties": { + "diskLunList": { + "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "isInclusionList": { + "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.", + "type": "boolean" + } + } + }, + "ClientDiscoveryDisplay": { + "description": "Localized display information of an operation.", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "ResourceType for which this Operation can be performed.", + "type": "string" + }, + "operation": { + "description": "Operations Name itself.", + "type": "string" + }, + "description": { + "description": "Description of the operation having details of what operation is about.", + "type": "string" + } + } + }, + "ClientDiscoveryForLogSpecification": { + "description": "Class to represent shoebox log specification in json client discovery.", + "type": "object", + "properties": { + "name": { + "description": "Name for shoebox log specification.", + "type": "string" + }, + "displayName": { + "description": "Localized display name", + "type": "string" + }, + "blobDuration": { + "description": "blob duration of shoebox log specification", + "type": "string" + } + } + }, + "ClientDiscoveryForProperties": { + "description": "Class to represent shoebox properties in json client discovery.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", + "description": "Operation properties." + } + } + }, + "ClientDiscoveryForServiceSpecification": { + "description": "Class to represent shoebox service specification in json client discovery.", + "type": "object", + "properties": { + "logSpecifications": { + "description": "List of log specifications of this operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + }, + "x-ms-identifiers": [] + } + } + }, + "ClientDiscoveryResponse": { + "description": "Operations List response which contains list of available APIs.", + "type": "object", + "properties": { + "value": { + "description": "List of available operations.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next chunk of Response.", + "type": "string" + } + } + }, + "ClientDiscoveryValueForSingleApi": { + "description": "Available operation details.", + "type": "object", + "properties": { + "name": { + "description": "Name of the Operation.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/ClientDiscoveryDisplay", + "description": "Contains the localized display information for this particular operation" + }, + "origin": { + "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ClientDiscoveryForProperties", + "description": "ShoeBox properties for the given operation." + } + } + }, + "DiskInformation": { + "description": "Disk information", + "type": "object", + "properties": { + "lun": { + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + } + } + }, + "DailyRetentionFormat": { + "description": "Daily retention format.", + "type": "object", + "properties": { + "daysOfTheMonth": { + "description": "List of days of the month.", + "type": "array", + "items": { + "$ref": "#/definitions/Day" + }, + "x-ms-identifiers": [] + } + } + }, + "DailyRetentionSchedule": { + "description": "Daily retention schedule.", + "type": "object", + "properties": { + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "Day": { + "description": "Day of the week.", + "type": "object", + "properties": { + "date": { + "format": "int32", + "description": "Date of the month", + "type": "integer" + }, + "isLast": { + "description": "Whether Date is last date of month", + "type": "boolean" + } + } + }, + "DpmErrorInfo": { + "description": "DPM workload-specific error information.", + "type": "object", + "properties": { + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DpmJob": { + "description": "DPM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed for job.", + "type": "string" + }, + "dpmServerName": { + "description": "DPM server name managing the backup item or backup job.", + "type": "string" + }, + "containerName": { + "description": "Name of cluster/server protecting current backup item, if any.", + "type": "string" + }, + "containerType": { + "description": "Type of container.", + "type": "string" + }, + "workloadType": { + "description": "Type of backup item.", + "type": "string" + }, + "actionsInfo": { + "description": "The state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmErrorInfo" + }, + "x-ms-identifiers": [] + }, + "extendedInfo": { + "$ref": "#/definitions/DpmJobExtendedInfo", + "description": "Additional information for this job." + } + }, + "x-ms-discriminator-value": "DpmJob" + }, + "BackupResourceConfigResource": { + "description": "The resource storage details.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceConfig", + "description": "BackupResourceConfigResource properties" + } + } + }, + "BackupResourceConfig": { + "description": "The resource storage details.", + "type": "object", + "properties": { + "storageModelType": { + "description": "Storage type", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageTypeState": { + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageTypeState", + "modelAsString": true + } + }, + "crossRegionRestoreFlag": { + "description": "Opt in details of Cross Region Restore feature.", + "type": "boolean" + }, + "dedupState": { + "description": "Vault Dedup state", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "dedupState", + "modelAsString": true + } + }, + "xcoolState": { + "description": "Vault x-cool state", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "xcoolState", + "modelAsString": true + } + } + } + }, + "DpmJobExtendedInfo": { + "description": "Additional information on the DPM workload-specific job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks associated with this job.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmJobTaskDetails" + }, + "x-ms-identifiers": [ + "taskId" + ] + }, + "propertyBag": { + "description": "The job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "DpmJobTaskDetails": { + "description": "DPM workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "DPMProtectedItem": { + "description": "Additional information on Backup engine specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the managed item", + "type": "string" + }, + "backupEngineName": { + "description": "Backup Management server protecting this backup item", + "type": "string" + }, + "protectionState": { + "description": "Protection state of the backup engine", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/DPMProtectedItemExtendedInfo", + "description": "Extended info of the backup item." + } + }, + "x-ms-discriminator-value": "DPMProtectedItem" + }, + "DPMProtectedItemExtendedInfo": { + "description": "Additional information of DPM Protected item.", + "type": "object", + "properties": { + "protectableObjectLoadPath": { + "description": "Attribute to provide information on various DBs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "protected": { + "description": "To check if backup item is disk protected.", + "type": "boolean" + }, + "isPresentOnCloud": { + "description": "To check if backup item is cloud protected.", + "type": "boolean" + }, + "lastBackupStatus": { + "description": "Last backup status information on backup item.", + "type": "string" + }, + "lastRefreshedAt": { + "format": "date-time", + "description": "Last refresh time on backup item.", + "type": "string" + }, + "oldestRecoveryPoint": { + "format": "date-time", + "description": "Oldest cloud recovery point time.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "cloud recovery point count.", + "type": "integer" + }, + "onPremiseOldestRecoveryPoint": { + "format": "date-time", + "description": "Oldest disk recovery point time.", + "type": "string" + }, + "onPremiseLatestRecoveryPoint": { + "format": "date-time", + "description": "latest disk recovery point time.", + "type": "string" + }, + "onPremiseRecoveryPointCount": { + "format": "int32", + "description": "disk recovery point count.", + "type": "integer" + }, + "isCollocated": { + "description": "To check if backup item is collocated.", + "type": "boolean" + }, + "protectionGroupName": { + "description": "Protection group name of the backup item.", + "type": "string" + }, + "diskStorageUsedInBytes": { + "description": "Used Disk storage in bytes.", + "type": "string" + }, + "totalDiskStorageSizeInBytes": { + "description": "total Disk storage in bytes.", + "type": "string" + } + } + }, + "EncryptionDetails": { + "description": "Details needed if the VM was encrypted at the time of backup.", + "type": "object", + "properties": { + "encryptionEnabled": { + "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.", + "type": "boolean" + }, + "kekUrl": { + "description": "Key Url.", + "type": "string" + }, + "secretKeyUrl": { + "description": "Secret Url.", + "type": "string" + }, + "kekVaultId": { + "description": "ID of Key Vault where KEK is stored.", + "type": "string" + }, + "secretKeyVaultId": { + "description": "ID of Key Vault where Secret is stored.", + "type": "string" + } + } + }, + "ErrorDetail": { + "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error Message related to the Code.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of recommendation strings.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ExportJobsOperationResultInfo": { + "description": "This class is used to send blob details after exporting jobs.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationResultInfoBase" + } + ], + "properties": { + "blobUrl": { + "description": "URL of the blob into which the serialized string of list of jobs is exported.", + "type": "string" + }, + "blobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", + "type": "string" + }, + "excelFileBlobUrl": { + "description": "URL of the blob into which the ExcelFile is uploaded.", + "type": "string" + }, + "excelFileBlobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ExportJobsOperationResultInfo" + }, + "ExtendedProperties": { + "description": "Extended Properties for Azure IaasVM Backup.", + "type": "object", + "properties": { + "diskExclusionProperties": { + "$ref": "#/definitions/DiskExclusionProperties", + "description": "Extended Properties for Disk Exclusion." + }, + "linuxVmApplicationName": { + "description": "Linux VM name", + "type": "string" + } + } + }, + "GenericProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + }, + "x-ms-identifiers": [] + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "fabricName": { + "description": "Name of this policy's fabric.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericProtectionPolicy" + }, + "HourlySchedule": { + "type": "object", + "properties": { + "interval": { + "format": "int32", + "description": "Interval at which backup needs to be triggered. For hourly the value\r\n can be 4/6/8/12", + "type": "integer" + }, + "scheduleWindowStartTime": { + "format": "date-time", + "description": "To specify start time of the backup window", + "type": "string" + }, + "scheduleWindowDuration": { + "format": "int32", + "description": "To specify duration of the backup window", + "type": "integer" + } + } + }, + "DailySchedule": { + "type": "object", + "properties": { + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + } + } + }, + "WeeklySchedule": { + "type": "object", + "properties": { + "scheduleRunDays": { + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + } + } + }, + "IdentityBasedRestoreDetails": { + "description": "IaaS VM workload specific restore details for restores using managed identity", + "type": "object", + "properties": { + "objectType": { + "description": "Gets the class type.", + "type": "string" + }, + "targetStorageAccountId": { + "description": "Fully qualified ARM ID of the target storage account.", + "type": "string" + } + } + }, + "IdentityInfo": { + "description": "Encapsulates Managed Identity related information", + "type": "object", + "properties": { + "isSystemAssignedIdentity": { + "description": "To differentiate if the managed identity is system assigned or user assigned", + "type": "boolean" + }, + "managedIdentityResourceId": { + "description": "Managed Identity Resource Id\r\nOptional: Might not be required in the case of system assigned managed identity", + "type": "string" + } + } + }, + "InstantRPAdditionalDetails": { + "type": "object", + "properties": { + "azureBackupRGNamePrefix": { + "type": "string" + }, + "azureBackupRGNameSuffix": { + "type": "string" + } + } + }, + "GenericProtectedItem": { + "description": "Base class for backup items.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "protectedItemId": { + "format": "int64", + "description": "Data Plane Service ID of the protected item.", + "type": "integer" + }, + "sourceAssociations": { + "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "fabricName": { + "description": "Name of this backup item's fabric.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericProtectedItem" + }, + "GenericRecoveryPoint": { + "description": "Generic backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the backup copy.", + "type": "string" + }, + "recoveryPointType": { + "description": "Type of the backup copy.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "recoveryPointAdditionalInfo": { + "description": "Additional information associated with this backup copy.", + "type": "string" + }, + "recoveryPointProperties": { + "description": "Properties of Recovery Point", + "$ref": "#/definitions/RecoveryPointProperties" + } + }, + "x-ms-discriminator-value": "GenericRecoveryPoint" + }, + "GetProtectedItemQueryObject": { + "description": "Filters to list backup items.", + "type": "object", + "properties": { + "expand": { + "description": "Specifies if the additional information should be provided for this item.", + "type": "string" + } + } + }, + "IaasVMRecoveryPoint": { + "description": "IaaS VM workload specific backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointType": { + "description": "Type of the backup copy.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "recoveryPointAdditionalInfo": { + "description": "Additional information associated with this backup copy.", + "type": "string" + }, + "sourceVMStorageType": { + "description": "Storage type of the VM whose backup copy is created.", + "type": "string" + }, + "isSourceVMEncrypted": { + "description": "Identifies whether the VM was encrypted when the backup copy is created.", + "type": "boolean" + }, + "keyAndSecret": { + "$ref": "#/definitions/KeyAndSecretDetails", + "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." + }, + "isInstantIlrSessionActive": { + "description": "Is the session to recover items from this backup copy still active.", + "type": "boolean" + }, + "recoveryPointTierDetails": { + "description": "Recovery point tier information.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformationV2" + }, + "x-ms-identifiers": [] + }, + "isManagedVirtualMachine": { + "description": "Whether VM is with Managed Disks", + "type": "boolean" + }, + "virtualMachineSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "originalStorageAccountOption": { + "description": "Original Storage Account Option", + "type": "boolean" + }, + "osType": { + "description": "OS type", + "type": "string" + }, + "recoveryPointDiskConfiguration": { + "$ref": "#/definitions/RecoveryPointDiskConfiguration", + "description": "Disk configuration" + }, + "zones": { + "description": "Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms", + "type": "array", + "items": { + "type": "string" + } + }, + "recoveryPointMoveReadinessInfo": { + "description": "Eligibility of RP to be moved to another tier", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } + }, + "securityType": { + "description": "Security Type of the Disk", + "type": "string" + }, + "recoveryPointProperties": { + "description": "Properties of Recovery Point", + "$ref": "#/definitions/RecoveryPointProperties" + }, + "isPrivateAccessEnabledOnAnyDisk": { + "description": "This flag denotes if any of the disks in the VM are using Private access network setting", + "type": "boolean" + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Extended location of the VM recovery point,\r\nshould be null if VM is in public cloud" + } + }, + "x-ms-discriminator-value": "IaasVMRecoveryPoint" + }, + "ExtendedLocation": { + "description": "The extended location of Recovery point where VM was present.", + "type": "object", + "properties": { + "name": { + "description": "Name of the extended location.", + "type": "string" + }, + "type": { + "description": "Type of the extended location. Possible values include: 'EdgeZone'", + "type": "string" + } + } + }, + "SecuredVMDetails": { + "description": "Restore request parameters for Secured VMs", + "type": "object", + "properties": { + "securedVMOsDiskEncryptionSetId": { + "description": "Gets or Sets Disk Encryption Set Id for Secured VM OS Disk", + "type": "string" + } + } + }, + "TargetDiskNetworkAccessSettings": { + "description": "Specifies target network access settings for disks of VM to be restored.", + "type": "object", + "properties": { + "targetDiskNetworkAccessOption": { + "description": "Network access settings to be used for restored disks", + "enum": [ + "SameAsOnSourceDisks", + "EnablePrivateAccessForAllDisks", + "EnablePublicAccessForAllDisks" + ], + "type": "string", + "x-ms-enum": { + "name": "TargetDiskNetworkAccessOption" + } + }, + "targetDiskAccessId": { + "description": "Gets or sets the ARM resource ID of the target disk access to be used when TargetDiskNetworkAccessOption is set to TargetDiskNetworkAccessOption.UseNew", + "type": "string" + } + } + }, + "IaasVMRestoreRequest": { + "description": "IaaS VM workload-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryPointId": { + "description": "ID of the backup copy to be recovered.", + "type": "string" + }, + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM which is being recovered.", + "type": "string" + }, + "targetVirtualMachineId": { + "description": "This is the complete ARM Id of the VM that will be created.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", + "type": "string" + }, + "targetResourceGroupId": { + "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}", + "type": "string" + }, + "storageAccountId": { + "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.", + "type": "string" + }, + "virtualNetworkId": { + "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\nUser will be validated for join action permissions in the linked access.", + "type": "string" + }, + "subnetId": { + "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\nthe subnet.", + "type": "string" + }, + "targetDomainNameId": { + "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\nVirtual Machines.", + "type": "string" + }, + "region": { + "description": "Region in which the virtual machine is restored.", + "type": "string" + }, + "affinityGroup": { + "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.", + "type": "string" + }, + "createNewCloudService": { + "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.", + "type": "boolean" + }, + "originalStorageAccountOption": { + "description": "Original Storage Account Option", + "type": "boolean" + }, + "encryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Details needed if the VM was encrypted at the time of backup." + }, + "restoreDiskLunList": { + "description": "List of Disk LUNs for partial restore", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "restoreWithManagedDisks": { + "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks.", + "type": "boolean" + }, + "diskEncryptionSetId": { + "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.", + "type": "string" + }, + "zones": { + "description": "Target zone where the VM and its disks should be restored.", + "type": "array", + "items": { + "type": "string" + } + }, + "identityInfo": { + "$ref": "#/definitions/IdentityInfo", + "description": "Managed Identity information required to access customer storage account." + }, + "identityBasedRestoreDetails": { + "$ref": "#/definitions/IdentityBasedRestoreDetails", + "description": "IaaS VM workload specific restore details for restores using managed identity." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Target extended location where the VM should be restored,\r\nshould be null if restore is to be done in public cloud" + }, + "securedVMDetails": { + "$ref": "#/definitions/SecuredVMDetails", + "description": "Stores Secured VM Details" + }, + "targetDiskNetworkAccessSettings": { + "$ref": "#/definitions/TargetDiskNetworkAccessSettings", + "description": "Specifies target network access settings for disks of VM to be restored," + } + }, + "x-ms-discriminator-value": "IaasVMRestoreRequest" + }, + "Job": { + "description": "Defines workload agnostic properties for a job.", + "required": [ + "jobType" + ], + "type": "object", + "properties": { + "entityFriendlyName": { + "description": "Friendly name of the entity on which the current job is executing.", + "type": "string" + }, + "backupManagementType": { + "description": "Backup management type to execute the current job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "operation": { + "description": "The operation name.", + "type": "string" + }, + "status": { + "description": "Job status.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "activityId": { + "description": "ActivityId of job.", + "type": "string" + }, + "jobType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "jobType" + }, + "JobQueryObject": { + "description": "Filters to list the jobs.", + "type": "object", + "properties": { + "status": { + "description": "Status of the job.", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed", + "CompletedWithWarnings", + "Cancelled", + "Cancelling" + ], + "type": "string", + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Type of backup management for the job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "operation": { + "description": "Type of operation.", + "enum": [ + "Invalid", + "Register", + "UnRegister", + "ConfigureBackup", + "Backup", + "Restore", + "DisableBackup", + "DeleteBackupData", + "CrossRegionRestore", + "Undelete", + "UpdateCustomerManagedKey" + ], + "type": "string", + "x-ms-enum": { + "name": "JobOperationType", + "modelAsString": true + } + }, + "jobId": { + "description": "JobID represents the job uniquely.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "Job has started at this time. Value is in UTC.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Job has ended at this time. Value is in UTC.", + "type": "string" + } + } + }, + "JobResource": { + "description": "Defines workload agnostic properties for a job.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/Job", + "description": "JobResource properties" + } + } + }, + "JobResourceList": { + "description": "List of Job resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResource" + } + } + } + }, + "KEKDetails": { + "description": "KEK is encryption key for BEK.", + "type": "object", + "properties": { + "keyUrl": { + "description": "Key is KEK.", + "type": "string" + }, + "keyVaultId": { + "description": "Key Vault ID where this Key is stored.", + "type": "string" + }, + "keyBackupData": { + "description": "KEK data.", + "type": "string" + } + } + }, + "KeyAndSecretDetails": { + "description": "BEK is bitlocker key.\r\nKEK is encryption key for BEK\r\nIf the VM was encrypted then we will store following details :\r\n1. Secret(BEK) - Url + Backup Data + vaultId.\r\n2. Key(KEK) - Url + Backup Data + vaultId.\r\n3. EncryptionMechanism\r\nBEK and KEK can potentially have different vault ids.", + "type": "object", + "properties": { + "kekDetails": { + "$ref": "#/definitions/KEKDetails", + "description": "KEK is encryption key for BEK." + }, + "bekDetails": { + "$ref": "#/definitions/BEKDetails", + "description": "BEK is bitlocker encryption key." + }, + "encryptionMechanism": { + "description": "Encryption mechanism: None/ SinglePass/ DoublePass", + "type": "string" + } + } + }, + "LogSchedulePolicy": { + "description": "Log policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleFrequencyInMins": { + "format": "int32", + "description": "Frequency of the log schedule operation of this policy in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "LogSchedulePolicy" + }, + "LongTermRetentionPolicy": { + "description": "Long term retention policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], + "properties": { + "dailySchedule": { + "$ref": "#/definitions/DailyRetentionSchedule", + "description": "Daily retention schedule of the protection policy." + }, + "weeklySchedule": { + "$ref": "#/definitions/WeeklyRetentionSchedule", + "description": "Weekly retention schedule of the protection policy." + }, + "monthlySchedule": { + "$ref": "#/definitions/MonthlyRetentionSchedule", + "description": "Monthly retention schedule of the protection policy." + }, + "yearlySchedule": { + "$ref": "#/definitions/YearlyRetentionSchedule", + "description": "Yearly retention schedule of the protection policy." + } + }, + "x-ms-discriminator-value": "LongTermRetentionPolicy" + }, + "LongTermSchedulePolicy": { + "description": "Long term policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "x-ms-discriminator-value": "LongTermSchedulePolicy" + }, + "MabErrorInfo": { + "description": "MAB workload-specific error information.", + "type": "object", + "properties": { + "errorString": { + "description": "Localized error string.", + "type": "string", + "readOnly": true + }, + "recommendations": { + "description": "List of localized recommendations.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "MabFileFolderProtectedItem": { + "description": "MAB workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of this backup item.", + "type": "string" + }, + "computerName": { + "description": "Name of the computer associated with this backup item.", + "type": "string" + }, + "lastBackupStatus": { + "description": "Status of last backup operation.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Protected, ProtectionStopped, IRPending or ProtectionError", + "type": "string" + }, + "deferredDeleteSyncTimeInUTC": { + "format": "int64", + "description": "Sync time for deferred deletion in UTC", + "type": "integer" + }, + "extendedInfo": { + "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "MabFileFolderProtectedItem" + }, + "MabFileFolderProtectedItemExtendedInfo": { + "description": "Additional information on the backed up item.", + "type": "object", + "properties": { + "lastRefreshedAt": { + "format": "date-time", + "description": "Last time when the agent data synced to service.", + "type": "string" + }, + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies associated with the backup item.", + "type": "integer" + } + } + }, + "MabJob": { + "description": "MAB workload-specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time taken by job to run.", + "type": "string" + }, + "actionsInfo": { + "description": "The state/actions applicable on jobs like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "mabServerName": { + "description": "Name of server protecting the DS.", + "type": "string" + }, + "mabServerType": { + "description": "Server type of MAB container.", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "MabServerType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type of backup item.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/MabErrorInfo" + }, + "x-ms-identifiers": [] + }, + "extendedInfo": { + "$ref": "#/definitions/MabJobExtendedInfo", + "description": "Additional information on the job." + } + }, + "x-ms-discriminator-value": "MabJob" + }, + "MabJobExtendedInfo": { + "description": "Additional information for the MAB workload-specific job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job.", + "type": "array", + "items": { + "$ref": "#/definitions/MabJobTaskDetails" + }, + "x-ms-identifiers": [ + "taskId" + ] + }, + "propertyBag": { + "description": "The job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message specific to this job.", + "type": "string" + } + } + }, + "MabJobTaskDetails": { + "description": "MAB workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "MabProtectionPolicy": { + "description": "Mab container-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "MAB" + }, + "MonthlyRetentionSchedule": { + "description": "Monthly retention schedule.", + "type": "object", + "properties": { + "retentionScheduleFormatType": { + "description": "Retention schedule format type for monthly retention policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true + } + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for monthly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for monthly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "OperationResultInfo": { + "description": "Operation result info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationResultInfoBase" + } + ], + "properties": { + "jobList": { + "description": "List of jobs created by this operation.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "OperationResultInfo" + }, + "OperationResultInfoBase": { + "description": "Base class for operation result info.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "KPIResourceHealthDetails": { + "description": "KPI Resource Health Details", + "type": "object", + "properties": { + "resourceHealthStatus": { + "description": "Resource Health Status", + "enum": [ + "Healthy", + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceHealthStatus", + "modelAsString": true + } + }, + "resourceHealthDetails": { + "description": "Resource Health Status", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceHealthDetails" + }, + "x-ms-identifiers": [ + "code" + ] + } + } + }, + "PrepareDataMoveRequest": { + "description": "Prepare DataMove Request", + "required": [ + "targetResourceId", + "targetRegion", + "dataMoveLevel" + ], + "type": "object", + "properties": { + "targetResourceId": { + "description": "ARM Id of target vault", + "type": "string" + }, + "targetRegion": { + "description": "Target Region", + "type": "string" + }, + "dataMoveLevel": { + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true + } + }, + "sourceContainerArmIds": { + "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", + "type": "array", + "items": { + "type": "string" + } + }, + "ignoreMoved": { + "description": "Ignore the artifacts which are already moved.", + "type": "boolean" + } + } + }, + "PrepareDataMoveResponse": { + "description": "Prepare DataMove Response", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + ], + "properties": { + "correlationId": { + "description": "Co-relationId for move operation", + "type": "string" + }, + "sourceVaultProperties": { + "description": "Source Vault Properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "PrepareDataMoveResponse" + }, + "VaultStorageConfigOperationResultResponse": { + "description": "Operation result response for Vault Storage Config", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "TriggerDataMoveRequest": { + "description": "Trigger DataMove Request", + "required": [ + "sourceResourceId", + "sourceRegion", + "dataMoveLevel", + "correlationId" + ], + "type": "object", + "properties": { + "sourceResourceId": { + "description": "ARM Id of source vault", + "type": "string" + }, + "sourceRegion": { + "description": "Source Region", + "type": "string" + }, + "dataMoveLevel": { + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true + } + }, + "correlationId": { + "description": "Correlation Id", + "type": "string" + }, + "sourceContainerArmIds": { + "description": "Source Container ArmIds", + "type": "array", + "items": { + "type": "string" + } + }, + "pauseGC": { + "description": "Pause GC", + "type": "boolean" + } + } + }, + "OperationResultInfoBaseResource": { + "description": "Base class for operation result info.", + "allOf": [ + { + "$ref": "#/definitions/OperationWorkerResponse" + } + ], + "properties": { + "operation": { + "$ref": "#/definitions/OperationResultInfoBase", + "description": "OperationResultInfoBaseResource operation" + } + } + }, + "OperationWorkerResponse": { + "description": "This is the base class for operation result responses.", + "type": "object", + "properties": { + "statusCode": { + "description": "HTTP Status Code of the operation.", + "enum": [ + "Continue", + "SwitchingProtocols", + "OK", + "Created", + "Accepted", + "NonAuthoritativeInformation", + "NoContent", + "ResetContent", + "PartialContent", + "MultipleChoices", + "Ambiguous", + "MovedPermanently", + "Moved", + "Found", + "Redirect", + "SeeOther", + "RedirectMethod", + "NotModified", + "UseProxy", + "Unused", + "TemporaryRedirect", + "RedirectKeepVerb", + "BadRequest", + "Unauthorized", + "PaymentRequired", + "Forbidden", + "NotFound", + "MethodNotAllowed", + "NotAcceptable", + "ProxyAuthenticationRequired", + "RequestTimeout", + "Conflict", + "Gone", + "LengthRequired", + "PreconditionFailed", + "RequestEntityTooLarge", + "RequestUriTooLong", + "UnsupportedMediaType", + "RequestedRangeNotSatisfiable", + "ExpectationFailed", + "UpgradeRequired", + "InternalServerError", + "NotImplemented", + "BadGateway", + "ServiceUnavailable", + "GatewayTimeout", + "HttpVersionNotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "HttpStatusCode", + "modelAsString": false + } + }, + "headers": { + "description": "HTTP headers associated with this operation.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "PointInTimeRange": { + "description": "Provides details for log ranges", + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "Start time of the time range for log recovery.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "End time of the time range for log recovery.", + "type": "string" + } + } + }, + "ProtectedItem": { + "description": "Base class for backup items.", + "required": [ + "protectedItemType" + ], + "type": "object", + "properties": { + "protectedItemType": { + "description": "backup item type.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + }, + "readOnly": true + }, + "workloadType": { + "description": "Type of workload this item represents.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + }, + "readOnly": true + }, + "containerName": { + "description": "Unique name of container", + "type": "string" + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", + "type": "string" + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", + "type": "string" + }, + "lastRecoveryPoint": { + "format": "date-time", + "description": "Timestamp when the last (latest) backup copy was created for this backup item.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set the backup item belongs to", + "type": "string" + }, + "createMode": { + "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.", + "enum": [ + "Invalid", + "Default", + "Recover" + ], + "type": "string", + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + } + }, + "deferredDeleteTimeInUTC": { + "format": "date-time", + "description": "Time for deferred deletion in UTC", + "type": "string" + }, + "isScheduledForDeferredDelete": { + "description": "Flag to identify whether the DS is scheduled for deferred delete", + "type": "boolean" + }, + "deferredDeleteTimeRemaining": { + "description": "Time remaining before the DS marked for deferred delete is permanently deleted", + "type": "string" + }, + "isDeferredDeleteScheduleUpcoming": { + "description": "Flag to identify whether the deferred deleted DS is to be purged soon", + "type": "boolean" + }, + "isRehydrate": { + "description": "Flag to identify that deferred deleted DS is to be moved into Pause state", + "type": "boolean" + }, + "resourceGuardOperationRequests": { + "description": "ResourceGuardOperationRequests on which LAC check will be performed", + "type": "array", + "items": { + "type": "string" + } + }, + "isArchiveEnabled": { + "description": "Flag to identify whether datasource is protected in archive", + "type": "boolean" + }, + "policyName": { + "description": "Name of the policy used for protection", + "type": "string" + }, + "softDeleteRetentionPeriodInDays": { + "format": "int32", + "description": "Soft delete retention period in days", + "type": "integer" + }, + "vaultId": { + "description": "ID of the vault which protects this item", + "type": "string", + "readOnly": true + } + }, + "discriminator": "protectedItemType" + }, + "ProtectedItemQueryObject": { + "description": "Filters to list backup items.", + "type": "object", + "properties": { + "healthState": { + "description": "Health State for the backed up item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthState", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Backup management type for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "itemType": { + "description": "Type of workload this item represents.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "policyName": { + "description": "Backup policy name associated with the backup item.", + "type": "string" + }, + "containerName": { + "description": "Name of the container.", + "type": "string" + }, + "backupEngineName": { + "description": "Backup Engine name", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of protected item", + "type": "string" + }, + "fabricName": { + "description": "Name of the fabric.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set.", + "type": "string" + } + } + }, + "ProtectedItemResource": { + "description": "Base class for backup items.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectedItem", + "description": "ProtectedItemResource properties" + } + } + }, + "ProtectedItemResourceList": { + "description": "List of ProtectedItem resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectedItemResource" + } + } + } + }, + "ProtectionPolicy": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "required": [ + "backupManagementType" + ], + "type": "object", + "properties": { + "protectedItemsCount": { + "format": "int32", + "description": "Number of items associated with this policy.", + "type": "integer" + }, + "backupManagementType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + }, + "resourceGuardOperationRequests": { + "description": "ResourceGuard Operation Requests", + "type": "array", + "items": { + "type": "string" + } + } + }, + "discriminator": "backupManagementType" + }, + "ProtectionPolicyQueryObject": { + "description": "Filters the list backup policies API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backup policy.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "fabricName": { + "description": "Fabric name for filter", + "type": "string" + }, + "workloadType": { + "description": "Workload type for the backup policy.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + } + } + }, + "ProtectionPolicyResource": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionPolicy", + "description": "ProtectionPolicyResource properties" + } + } + }, + "ProtectionPolicyResourceList": { + "description": "List of ProtectionPolicy resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + } + }, + "RecoveryPoint": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "RecoveryPointDiskConfiguration": { + "description": "Disk configuration", + "type": "object", + "properties": { + "numberOfDisksIncludedInBackup": { + "format": "int32", + "description": "Number of disks included in backup", + "type": "integer" + }, + "numberOfDisksAttachedToVm": { + "format": "int32", + "description": "Number of disks attached to the VM", + "type": "integer" + }, + "includedDiskList": { + "description": "Information of disks included in backup", + "type": "array", + "items": { + "$ref": "#/definitions/DiskInformation" + }, + "x-ms-identifiers": [] + }, + "excludedDiskList": { + "description": "Information of disks excluded from backup", + "type": "array", + "items": { + "$ref": "#/definitions/DiskInformation" + }, + "x-ms-identifiers": [] + } + } + }, + "RecoveryPointResource": { + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPoint", + "description": "RecoveryPointResource properties" + } + } + }, + "RecoveryPointResourceList": { + "description": "List of RecoveryPoint resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointResource" + } + } + } + }, + "RecoveryPointTierInformation": { + "description": "Recovery point tier information.", + "type": "object", + "properties": { + "type": { + "description": "Recovery point tier type.", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "status": { + "description": "Recovery point tier status.", + "enum": [ + "Invalid", + "Valid", + "Disabled", + "Deleted", + "Rehydrated" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierStatus", + "modelAsString": false + } + }, + "extendedInfo": { + "description": "Recovery point tier status.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "RecoveryPointTierInformationV2": { + "description": "RecoveryPoint Tier Information V2", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPointTierInformation" + } + ], + "properties": { + "type": { + "description": "Recovery point tier type.", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": true + } + }, + "status": { + "description": "Recovery point tier status.", + "enum": [ + "Invalid", + "Valid", + "Disabled", + "Deleted", + "Rehydrated" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierStatus", + "modelAsString": true + } + } + } + }, + "Resource": { + "description": "ARM Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id represents the complete path to the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name associated with the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "description": "Optional ETag.", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "ResourceList": { + "description": "Base for all lists of resources.", + "type": "object", + "properties": { + "nextLink": { + "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", + "type": "string" + } + } + }, + "RestoreFileSpecs": { + "description": "Restore file specs like file path, type and target folder path info.", + "type": "object", + "properties": { + "path": { + "description": "Source File/Folder path", + "type": "string" + }, + "fileSpecType": { + "description": "Indicates what the Path variable stands for", + "type": "string" + }, + "targetFolderPath": { + "description": "Destination folder path in target FileShare", + "type": "string" + } + } + }, + "RestoreRequest": { + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "RestoreRequestResource": { + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RestoreRequest", + "description": "RestoreRequestResource properties" + } + } + }, + "RetentionDuration": { + "description": "Retention duration.", + "type": "object", + "properties": { + "count": { + "format": "int32", + "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", + "type": "integer" + }, + "durationType": { + "description": "Retention duration type of retention policy.", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionDurationType", + "modelAsString": true + } + } + } + }, + "RetentionPolicy": { + "description": "Base class for retention policy.", + "required": [ + "retentionPolicyType" + ], + "type": "object", + "properties": { + "retentionPolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "retentionPolicyType" + }, + "SchedulePolicy": { + "description": "Base class for backup schedule.", + "required": [ + "schedulePolicyType" + ], + "type": "object", + "properties": { + "schedulePolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "schedulePolicyType" + }, + "Settings": { + "description": "Common settings field for backup management", + "type": "object", + "properties": { + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "issqlcompression": { + "description": "SQL compression flag", + "type": "boolean" + }, + "isCompression": { + "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.", + "type": "boolean" + } + } + }, + "SimpleRetentionPolicy": { + "description": "Simple policy retention.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], + "properties": { + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of the protection policy." + } + }, + "x-ms-discriminator-value": "SimpleRetentionPolicy" + }, + "SimpleSchedulePolicy": { + "description": "Simple policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleRunFrequency": { + "description": "Frequency of the schedule operation of this policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly", + "Hourly" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduleRunType", + "modelAsString": true + } + }, + "scheduleRunDays": { + "description": "List of days of week this schedule has to be run.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "hourlySchedule": { + "$ref": "#/definitions/HourlySchedule", + "description": "Hourly Schedule of this Policy" + }, + "scheduleWeeklyFrequency": { + "format": "int32", + "description": "At every number weeks this schedule has to be run.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "SimpleSchedulePolicy" + }, + "SimpleSchedulePolicyV2": { + "description": "The V2 policy schedule for IaaS that supports hourly backups.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleRunFrequency": { + "description": "Frequency of the schedule operation of this policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly", + "Hourly" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduleRunType", + "modelAsString": true + } + }, + "hourlySchedule": { + "$ref": "#/definitions/HourlySchedule", + "description": "hourly schedule of this policy" + }, + "dailySchedule": { + "$ref": "#/definitions/DailySchedule", + "description": "Daily schedule of this policy" + }, + "weeklySchedule": { + "$ref": "#/definitions/WeeklySchedule", + "description": "Weekly schedule of this policy" + } + }, + "x-ms-discriminator-value": "SimpleSchedulePolicyV2" + }, + "SubProtectionPolicy": { + "description": "Sub-protection policy which includes schedule and retention", + "type": "object", + "properties": { + "policyType": { + "description": "Type of backup policy type", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyType", + "modelAsString": true + } + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "tieringPolicy": { + "description": "Tiering policy to automatically move RPs to another tier.\r\nKey is Target Tier, defined in RecoveryPointTierType enum.\r\nTiering policy specifies the criteria to move RP to the target tier.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/TieringPolicy" + } + }, + "snapshotBackupAdditionalDetails": { + "$ref": "#/definitions/SnapshotBackupAdditionalDetails" + } + } + }, + "SnapshotBackupAdditionalDetails": { + "description": "Snapshot Backup related fields for WorkloadType SaPHanaSystem", + "type": "object", + "properties": { + "instantRpRetentionRangeInDays": { + "format": "int32", + "type": "integer" + }, + "instantRPDetails": { + "type": "string" + }, + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails" + } + } + }, + "SnapshotRestoreParameters": { + "description": "Encapsulates information regarding snapshot recovery for SAP Hana", + "type": "object", + "properties": { + "skipAttachAndMount": { + "type": "boolean" + }, + "logPointInTimeForDBRecovery": { + "type": "string" + } + } + }, + "SQLDataDirectory": { + "description": "SQLDataDirectory info", + "type": "object", + "properties": { + "type": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true + } + }, + "path": { + "description": "File path", + "type": "string" + }, + "logicalName": { + "description": "Logical name of the file", + "type": "string" + } + } + }, + "SQLDataDirectoryMapping": { + "description": "Encapsulates information regarding data directory", + "type": "object", + "properties": { + "mappingType": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true + } + }, + "sourceLogicalName": { + "description": "Restore source logical name path", + "type": "string" + }, + "sourcePath": { + "description": "Restore source path", + "type": "string" + }, + "targetPath": { + "description": "Target path", + "type": "string" + } + } + }, + "TargetAFSRestoreInfo": { + "description": "Target Azure File Share Info.", + "type": "object", + "properties": { + "name": { + "description": "File share name", + "type": "string" + }, + "targetResourceId": { + "description": "Target file share resource ARM ID", + "type": "string" + } + } + }, + "TargetRestoreInfo": { + "description": "Details about target workload during restore operation.", + "type": "object", + "properties": { + "overwriteOption": { + "description": "Can Overwrite if Target DataBase already exists", + "enum": [ + "Invalid", + "FailOnConflict", + "Overwrite" + ], + "type": "string", + "x-ms-enum": { + "name": "OverwriteOptions", + "modelAsString": true + } + }, + "containerId": { + "description": "Resource Id name of the container in which Target DataBase resides", + "type": "string" + }, + "databaseName": { + "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", + "type": "string" + }, + "targetDirectoryForFileRestore": { + "description": "Target directory location for restore as files.", + "type": "string" + } + } + }, + "UserAssignedIdentityProperties": { + "type": "object", + "description": "User assigned managed identity properties", + "properties": { + "clientId": { + "description": "The client ID of the assigned identity.", + "type": "string" + }, + "principalId": { + "description": "The principal ID of the assigned identity.", + "type": "string" + } + } + }, + "UserAssignedManagedIdentityDetails": { + "type": "object", + "description": "User assigned managed identity details", + "properties": { + "identityArmId": { + "type": "string", + "description": "The ARM id of the assigned identity." + }, + "identityName": { + "type": "string", + "description": "The name of the assigned identity." + }, + "userAssignedIdentityProperties": { + "$ref": "#/definitions/UserAssignedIdentityProperties" + } + } + }, + "ValidateIaasVMRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidateRestoreOperationRequest" + } + ], + "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" + }, + "ValidateOperationRequest": { + "description": "Base class for validate operation request.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "ValidateOperationRequestResource": { + "description": "Base class for validate operation request.", + "required": [ + "id", + "properties" + ], + "type": "object", + "properties": { + "id": { + "description": "Recovery point ID.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ValidateOperationRequest", + "description": "ValidateOperationRequestResource properties" + } + } + }, + "ValidateOperationResponse": { + "description": "Base class for validate operation response.", + "type": "object", + "properties": { + "validationResults": { + "description": "Gets the validation result", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-identifiers": [ + "code" + ] + } + } + }, + "ValidateOperationsResponse": { + "type": "object", + "properties": { + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse" + } + } + }, + "ValidateRestoreOperationRequest": { + "description": "AzureRestoreValidation request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidateOperationRequest" + } + ], + "properties": { + "restoreRequest": { + "$ref": "#/definitions/RestoreRequest", + "description": "Sets restore request to be validated" + } + }, + "x-ms-discriminator-value": "ValidateRestoreOperationRequest" + }, + "VaultRetentionPolicy": { + "description": "Vault retention policy for AzureFileShare", + "required": [ + "vaultRetention", + "snapshotRetentionInDays" + ], + "type": "object", + "properties": { + "vaultRetention": { + "$ref": "#/definitions/RetentionPolicy" + }, + "snapshotRetentionInDays": { + "format": "int32", + "type": "integer" + } + } + }, + "WeeklyRetentionFormat": { + "description": "Weekly retention format.", + "type": "object", + "properties": { + "daysOfTheWeek": { + "description": "List of days of the week.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "weeksOfTheMonth": { + "description": "List of weeks of month.", + "type": "array", + "items": { + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "WeekOfMonth", + "modelAsString": false + } + } + } + } + }, + "WeeklyRetentionSchedule": { + "description": "Weekly retention schedule.", + "type": "object", + "properties": { + "daysOfTheWeek": { + "description": "List of days of week for weekly retention policy.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "BackupResourceVaultConfigResource": { + "description": "Backup resource vault config details.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceVaultConfig", + "description": "BackupResourceVaultConfigResource properties" + } + } + }, + "BackupResourceVaultConfig": { + "description": "Backup resource vault config details.", + "type": "object", + "properties": { + "storageModelType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageTypeState": { + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageTypeState", + "modelAsString": true + } + }, + "enhancedSecurityState": { + "description": "Enabled or Disabled.", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnhancedSecurityState", + "modelAsString": true + } + }, + "softDeleteFeatureState": { + "description": "Soft Delete feature state", + "enum": [ + "Invalid", + "Enabled", + "Disabled", + "AlwaysON" + ], + "type": "string", + "x-ms-enum": { + "name": "SoftDeleteFeatureState", + "modelAsString": true + } + }, + "softDeleteRetentionPeriodInDays": { + "format": "int32", + "description": "Soft delete retention period in days", + "type": "integer" + }, + "resourceGuardOperationRequests": { + "description": "ResourceGuard Operation Requests", + "type": "array", + "items": { + "type": "string" + } + }, + "isSoftDeleteFeatureStateEditable": { + "description": "This flag is no longer in use. Please use 'softDeleteFeatureState' to set the soft delete state for the vault", + "type": "boolean" + } + } + }, + "YearlyRetentionSchedule": { + "description": "Yearly retention schedule.", + "type": "object", + "properties": { + "retentionScheduleFormatType": { + "description": "Retention schedule format for yearly retention policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true + } + }, + "monthsOfYear": { + "description": "List of months of year of yearly retention policy.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + "type": "string", + "x-ms-enum": { + "name": "MonthOfYear", + "modelAsString": false + } + } + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for yearly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for yearly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "VaultJob": { + "description": "Vault level Job", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/VaultJobErrorInfo" + }, + "x-ms-identifiers": [ + "errorCode" + ] + }, + "extendedInfo": { + "$ref": "#/definitions/VaultJobExtendedInfo", + "description": "Additional information about the job." + } + }, + "x-ms-discriminator-value": "VaultJob" + }, + "VaultJobErrorInfo": { + "description": "Vault Job specific error information", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "VaultJobExtendedInfo": { + "description": "Vault Job for CMK - has CMK specific info.", + "type": "object", + "properties": { + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "AzureBackupServerContainer": { + "description": "AzureBackupServer (DPMVenus) workload-specific protection container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DpmContainer" + } + ], + "x-ms-discriminator-value": "AzureBackupServerContainer" + }, + "AzureBackupServerEngine": { + "description": "Backup engine type when Azure Backup Server is used to manage the backups.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupEngineBase" + } + ], + "x-ms-discriminator-value": "AzureBackupServerEngine" + }, + "AzureFileShareBackupRequest": { + "description": "AzureFileShare workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureFileShareBackupRequest" + }, + "AzureFileShareProtectableItem": { + "description": "Protectable item for Azure Fileshare workloads.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "properties": { + "parentContainerFabricId": { + "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.", + "type": "string" + }, + "parentContainerFriendlyName": { + "description": "Friendly name of container to which this protectable item belongs.", + "type": "string" + }, + "azureFileShareType": { + "description": "File Share type XSync or XSMB.", + "enum": [ + "Invalid", + "XSMB", + "XSync" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureFileShareType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureFileShare" + }, + "AzureFileShareProvisionILRRequest": { + "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ILRRequest" + } + ], + "properties": { + "recoveryPointId": { + "description": "Recovery point ID.", + "type": "string" + }, + "sourceResourceId": { + "description": "Source Storage account ARM Id", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest" + }, + "AzureIaaSClassicComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMContainer" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSClassicComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMProtectableItem" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMContainer" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureIaaSComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMProtectableItem" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureSQLAGWorkloadContainerProtectionContainer": { + "description": "Container for SQL workloads under SQL Availability Group.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainer" + } + ], + "x-ms-discriminator-value": "SQLAGWorkLoadContainer" + }, + "AzureSqlContainer": { + "description": "Azure Sql workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "x-ms-discriminator-value": "AzureSqlContainer" + }, + "AzureStorageContainer": { + "description": "Azure Storage Account workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "sourceResourceId": { + "description": "Fully qualified ARM url.", + "type": "string" + }, + "storageAccountVersion": { + "description": "Storage account version.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group name of Recovery Services Vault.", + "type": "string" + }, + "protectedItemCount": { + "format": "int64", + "description": "Number of items backed up in this container.", + "type": "integer" + }, + "acquireStorageAccountLock": { + "description": "Whether storage account lock is to be acquired for this container or not.", + "enum": [ + "Acquire", + "NotAcquire" + ], + "type": "string", + "x-ms-enum": { + "name": "AcquireStorageAccountLock", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "StorageContainer" + }, + "AzureStorageProtectableContainer": { + "description": "Azure Storage-specific protectable containers", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectableContainer" + } + ], + "x-ms-discriminator-value": "StorageContainer" + }, + "AzureVMAppContainerProtectableContainer": { + "description": "Azure workload-specific container", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectableContainer" + } + ], + "x-ms-discriminator-value": "VMAppContainer" + }, + "AzureVMAppContainerProtectionContainer": { + "description": "Container for SQL workloads under Azure Virtual Machines.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainer" + } + ], + "x-ms-discriminator-value": "VMAppContainer" + }, + "AzureVmWorkloadItem": { + "description": "Azure VM workload-specific workload item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadItem" + } + ], + "properties": { + "parentName": { + "description": "Name for instance or AG", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "isAutoProtectable": { + "description": "Indicates if workload item is auto-protectable", + "type": "boolean" + }, + "subinquireditemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's present", + "type": "integer" + }, + "subWorkloadItemCount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadItem" + }, + "AzureVmWorkloadProtectableItem": { + "description": "Azure VM workload-specific protectable item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "properties": { + "parentName": { + "description": "Name for instance or AG", + "type": "string" + }, + "parentUniqueName": { + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\r\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG.", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "isAutoProtectable": { + "description": "Indicates if protectable item is auto-protectable", + "type": "boolean" + }, + "isAutoProtected": { + "description": "Indicates if protectable item is auto-protected", + "type": "boolean" + }, + "subinquireditemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's present", + "type": "integer" + }, + "subprotectableitemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + }, + "isProtectable": { + "description": "Indicates if item is protectable", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem" + }, + "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP ASE Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPAseDatabase" + }, + "AzureVmWorkloadSAPAseSystemProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP ASE System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPAseSystem" + }, + "AzureVmWorkloadSAPAseSystemWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP ASE System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPAseSystem" + }, + "AzureVmWorkloadSAPHanaDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPHanaDatabase" + }, + "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPHanaDatabase" + }, + "AzureVmWorkloadSAPHanaSystemProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP HANA System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPHanaSystem" + }, + "AzureVmWorkloadSAPHanaDBInstance": { + "description": "Azure VM workload-specific protectable item representing SAP HANA Dbinstance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPHanaDBInstance" + }, + "AzureVmWorkloadSAPHanaHSRProtectableItem": { + "description": "Azure VM workload-specific protectable item representing HANA HSR.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "HanaHSRContainer" + }, + "AzureVmWorkloadSAPHanaSystemWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP HANA System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPHanaSystem" + }, + "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Availability Group.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "properties": { + "nodesList": { + "description": "List of the nodes in case of distributed container.", + "type": "array", + "items": { + "$ref": "#/definitions/DistributedNodesInfo" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" + }, + "AzureVmWorkloadSQLDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLDataBase" + }, + "AzureVmWorkloadSQLDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SQLDataBase" + }, + "AzureVmWorkloadSQLInstanceProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Instance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLInstance" + }, + "AzureVmWorkloadSQLInstanceWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Instance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "properties": { + "dataDirectoryPaths": { + "description": "Data Directory Paths for default directories", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "SQLInstance" + }, + "AzureWorkloadBackupRequest": { + "description": "AzureWorkload workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "backupType": { + "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" + ], + "type": "string", + "x-ms-enum": { + "name": "backupType", + "modelAsString": true + } + }, + "enableCompression": { + "description": "Bool for Compression setting", + "type": "boolean" + }, + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadBackupRequest" + }, + "AzureBackupGoalFeatureSupportRequest": { + "description": "Azure backup goal feature specific request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureSupportRequest" + } + ], + "x-ms-discriminator-value": "AzureBackupGoals" + }, + "AzureRecoveryServiceVaultProtectionIntent": { + "description": "Azure Recovery Services Vault specific protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "x-ms-discriminator-value": "RecoveryServiceVaultItem" + }, + "AzureResourceProtectionIntent": { + "description": "IaaS VM specific backup protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureResourceItem" + }, + "AzureVMResourceFeatureSupportRequest": { + "description": "AzureResource(IaaS VM) Specific feature support request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureSupportRequest" + } + ], + "properties": { + "vmSize": { + "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM", + "type": "string" + }, + "vmSku": { + "description": "SKUs (Premium/Managed etc) in case of IaasVM", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureVMResourceBackup" + }, + "AzureVMResourceFeatureSupportResponse": { + "description": "Response for feature support requests for Azure IaasVm", + "type": "object", + "properties": { + "supportStatus": { + "description": "Support status of feature", + "enum": [ + "Invalid", + "Supported", + "DefaultOFF", + "DefaultON", + "NotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportStatus", + "modelAsString": true + } + } + } + }, + "AzureWorkloadContainerAutoProtectionIntent": { + "description": "Azure workload specific protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "x-ms-discriminator-value": "AzureWorkloadContainerAutoProtectionIntent" + }, + "AzureWorkloadAutoProtectionIntent": { + "description": "Azure Recovery Services Vault specific protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent" + } + ], + "x-ms-discriminator-value": "AzureWorkloadAutoProtectionIntent" + }, + "AzureWorkloadSQLAutoProtectionIntent": { + "description": "Azure Workload SQL Auto Protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" + } + ], + "properties": { + "workloadItemType": { + "description": "Workload item type of the item for which intent is to be set", + "enum": [ + "Invalid", + "SQLInstance", + "SQLDataBase", + "SAPHanaSystem", + "SAPHanaDatabase", + "SAPAseSystem", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadItemType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent" + }, + "BackupManagementUsage": { + "description": "Backup management usages of a vault.", + "type": "object", + "properties": { + "unit": { + "description": "Unit of the usage.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "UsagesUnit", + "modelAsString": true + } + }, + "quotaPeriod": { + "description": "Quota period of usage.", + "type": "string" + }, + "nextResetTime": { + "format": "date-time", + "description": "Next reset time of usage.", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value of usage.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "Limit of usage.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/NameInfo", + "description": "Name of usage." + } + } + }, + "BackupManagementUsageList": { + "description": "Backup management usage for vault.", + "type": "object", + "properties": { + "value": { + "description": "The list of backup management usages for the given vault.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupManagementUsage" + }, + "x-ms-identifiers": [] + } + } + }, + "BackupStatusRequest": { + "description": "BackupStatus request.", + "type": "object", + "properties": { + "resourceType": { + "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare...", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "resourceId": { + "description": "Entire ARM resource id of the resource", + "type": "string" + }, + "poLogicalName": { + "description": "Protectable Item Logical Name", + "type": "string" + } + } + }, + "BackupStatusResponse": { + "description": "BackupStatus response.", + "type": "object", + "properties": { + "protectionStatus": { + "description": "Specifies whether the container is registered or not", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + }, + "vaultId": { + "description": "Specifies the arm resource id of the vault", + "type": "string" + }, + "fabricName": { + "description": "Specifies the fabric name - Azure or AD", + "enum": [ + "Invalid", + "Azure" + ], + "type": "string", + "x-ms-enum": { + "name": "FabricName", + "modelAsString": true + } + }, + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname.", + "type": "string" + }, + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname.", + "type": "string" + }, + "errorCode": { + "description": "ErrorCode in case of intent failed", + "type": "string" + }, + "errorMessage": { + "description": "ErrorMessage in case of intent failed.", + "type": "string" + }, + "policyName": { + "description": "Specifies the policy name which is used for protection", + "type": "string" + }, + "registrationStatus": { + "description": "Container registration status", + "type": "string" + }, + "protectedItemsCount": { + "format": "int32", + "description": "Number of protected items", + "type": "integer" + }, + "acquireStorageAccountLock": { + "description": "Specifies whether the storage account lock has been acquired or not", + "enum": [ + "Acquire", + "NotAcquire" + ], + "type": "string", + "x-ms-enum": { + "name": "AcquireStorageAccountLock", + "modelAsString": true + } + } + } + }, + "BMSBackupSummariesQueryObject": { + "description": "Query parameters to fetch backup summaries.", + "type": "object", + "properties": { + "type": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "BackupProtectedItemCountSummary", + "BackupProtectionContainerCountSummary" + ], + "type": "string", + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + } + } + }, + "FeatureSupportRequest": { + "description": "Base class for feature request", + "required": [ + "featureType" + ], + "type": "object", + "properties": { + "featureType": { + "description": "backup support feature type.", + "type": "string" + } + }, + "discriminator": "featureType" + }, + "NameInfo": { + "description": "The name of usage.", + "type": "object", + "properties": { + "value": { + "description": "Value of usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized value of usage.", + "type": "string" + } + } + }, + "PreValidateEnableBackupRequest": { + "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", + "type": "object", + "properties": { + "resourceType": { + "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "resourceId": { + "description": "ARM Virtual Machine Id", + "type": "string" + }, + "vaultId": { + "description": "ARM id of the Recovery Services Vault", + "type": "string" + }, + "properties": { + "description": "Configuration of VM if any needs to be validated like OS type etc", + "type": "string" + } + } + }, + "PreValidateEnableBackupResponse": { + "description": "Response contract for enable backup validation request", + "type": "object", + "properties": { + "status": { + "description": "Validation Status", + "enum": [ + "Invalid", + "Succeeded", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsString": true + } + }, + "errorCode": { + "description": "Response error code", + "type": "string" + }, + "errorMessage": { + "description": "Response error message", + "type": "string" + }, + "recommendation": { + "description": "Recommended action for user", + "type": "string" + }, + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal", + "type": "string" + }, + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal", + "type": "string" + } + } + }, + "ProtectionIntent": { + "description": "Base class for backup ProtectionIntent.", + "required": [ + "protectionIntentItemType" + ], + "type": "object", + "properties": { + "protectionIntentItemType": { + "description": "backup protectionIntent type.", + "enum": [ + "Invalid", + "AzureResourceItem", + "RecoveryServiceVaultItem", + "AzureWorkloadContainerAutoProtectionIntent", + "AzureWorkloadAutoProtectionIntent", + "AzureWorkloadSQLAutoProtectionIntent" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionIntentItemType", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Type of backup management for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", + "type": "string" + }, + "itemId": { + "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId", + "type": "string" + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + }, + "discriminator": "protectionIntentItemType" + }, + "ProtectionIntentQueryObject": { + "description": "Filters to list protection intent.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backed up item", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "itemType": { + "description": "Type of workload this item represents", + "enum": [ + "Invalid", + "SQLInstance", + "SQLAvailabilityGroupContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "IntentItemType", + "modelAsString": true + } + }, + "parentName": { + "description": "Parent name of the intent", + "type": "string" + }, + "itemName": { + "description": "Item name of the intent", + "type": "string" + } + } + }, + "ProtectionIntentResource": { + "description": "Base class for backup ProtectionIntent.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionIntent", + "description": "ProtectionIntentResource properties" + } + } + }, + "ProtectionIntentResourceList": { + "description": "List of ProtectionIntent resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + } + }, + "AzureWorkloadContainer": { + "description": "Container for the workloads running inside Azure Compute or Classic Compute.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "sourceResourceId": { + "description": "ARM ID of the virtual machine represented by this Azure Workload Container", + "type": "string" + }, + "lastUpdatedTime": { + "format": "date-time", + "description": "Time stamp when this container was updated.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo", + "description": "Additional details of a workload container." + }, + "workloadType": { + "description": "Workload type for which registration was sent.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "operationType": { + "description": "Re-Do Operation", + "enum": [ + "Invalid", + "Register", + "Reregister" + ], + "type": "string", + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadContainer" + }, + "AzureWorkloadContainerExtendedInfo": { + "description": "Extended information of the container.", + "type": "object", + "properties": { + "hostServerName": { + "description": "Host Os Name in case of Stand Alone and Cluster Name in case of distributed container.", + "type": "string" + }, + "inquiryInfo": { + "$ref": "#/definitions/InquiryInfo", + "description": "Inquiry Status for the container." + }, + "nodesList": { + "description": "List of the nodes in case of distributed container.", + "type": "array", + "items": { + "$ref": "#/definitions/DistributedNodesInfo" + }, + "x-ms-identifiers": [] + } + } + }, + "BackupEngineBase": { + "description": "The base backup engine class. All workload specific backup engines derive from this class.", + "type": "object", + "required": [ + "backupEngineType" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the backup engine.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the backup engine.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "registrationStatus": { + "description": "Registration status of the backup engine with the Recovery Services Vault.", + "type": "string" + }, + "backupEngineState": { + "description": "Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}", + "type": "string" + }, + "healthStatus": { + "description": "Backup status of the backup engine.", + "type": "string" + }, + "backupEngineType": { + "description": "Type of the backup engine.", + "enum": [ + "Invalid", + "DpmBackupEngine", + "AzureBackupServerEngine" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupEngineType", + "modelAsString": true + } + }, + "canReRegister": { + "description": "Flag indicating if the backup engine be registered, once already registered.", + "type": "boolean" + }, + "backupEngineId": { + "description": "ID of the backup engine.", + "type": "string" + }, + "dpmVersion": { + "description": "Backup engine version", + "type": "string" + }, + "azureBackupAgentVersion": { + "description": "Backup agent version", + "type": "string" + }, + "isAzureBackupAgentUpgradeAvailable": { + "description": "To check if backup agent upgrade available", + "type": "boolean" + }, + "isDpmUpgradeAvailable": { + "description": "To check if backup engine upgrade available", + "type": "boolean" + }, + "extendedInfo": { + "$ref": "#/definitions/BackupEngineExtendedInfo", + "description": "Extended info of the backupengine" + } + }, + "discriminator": "backupEngineType" + }, + "BackupEngineBaseResource": { + "description": "The base backup engine class. All workload specific backup engines derive from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupEngineBase", + "description": "BackupEngineBaseResource properties" + } + } + }, + "BackupEngineBaseResourceList": { + "description": "List of BackupEngineBase resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupEngineBaseResource" + } + } + } + }, + "BackupEngineExtendedInfo": { + "description": "Additional information on backup engine.", + "type": "object", + "properties": { + "databaseName": { + "description": "Database name of backup engine.", + "type": "string" + }, + "protectedItemsCount": { + "format": "int32", + "description": "Number of protected items in the backup engine.", + "type": "integer" + }, + "protectedServersCount": { + "format": "int32", + "description": "Number of protected servers in the backup engine.", + "type": "integer" + }, + "diskCount": { + "format": "int32", + "description": "Number of disks in the backup engine.", + "type": "integer" + }, + "usedDiskSpace": { + "format": "double", + "description": "Disk space used in the backup engine.", + "type": "number" + }, + "availableDiskSpace": { + "format": "double", + "description": "Disk space currently available in the backup engine.", + "type": "number" + }, + "refreshedAt": { + "format": "date-time", + "description": "Last refresh time in the backup engine.", + "type": "string" + }, + "azureProtectedInstances": { + "format": "int32", + "description": "Protected instances in the backup engine.", + "type": "integer" + } + } + }, + "BackupRequest": { + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "BackupRequestResource": { + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupRequest", + "description": "BackupRequestResource properties" + } + } + }, + "BMSBackupEngineQueryObject": { + "description": "Query parameters to fetch list of backup engines.", + "type": "object", + "properties": { + "expand": { + "description": "attribute to add extended info", + "type": "string" + } + } + }, + "BMSBackupEnginesQueryObject": { + "description": "Query parameters to fetch list of backup engines.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backup engine.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "friendlyName": { + "description": "Friendly name of the backup engine.", + "type": "string" + }, + "expand": { + "description": "Attribute to add extended info.", + "type": "string" + } + } + }, + "BMSContainerQueryObject": { + "description": "The query filters that can be used with the list containers API.", + "required": [ + "backupManagementType" + ], + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "containerType": { + "description": "Type of container for filter", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer", + "HanaHSRContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": true + } + }, + "backupEngineName": { + "description": "Backup engine name", + "type": "string" + }, + "fabricName": { + "description": "Fabric name for filter", + "type": "string" + }, + "status": { + "description": "Status of registration of this container with the Recovery Services Vault.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of this container.", + "type": "string" + } + } + }, + "BMSContainersInquiryQueryObject": { + "description": "The query filters that can be used with the inquire container API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type for this container.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + } + } + }, + "BMSPOQueryObject": { + "description": "Filters to list items that can be backed up.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureSql", + "AzureBackupServer", + "AzureWorkload", + "AzureStorage", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "containerName": { + "description": "Full name of the container whose Protectable Objects should be returned.", + "type": "string" + }, + "status": { + "description": "Backup status query parameter.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name.", + "type": "string" + } + } + }, + "BMSRefreshContainersQueryObject": { + "description": "The query filters that can be used with the refresh container API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + } + } + }, + "BMSWorkloadItemQueryObject": { + "description": "Filters to list items that can be backed up.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureSql", + "AzureBackupServer", + "AzureWorkload", + "AzureStorage", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadItemType": { + "description": "Workload Item type", + "enum": [ + "Invalid", + "SQLInstance", + "SQLDataBase", + "SAPHanaSystem", + "SAPHanaDatabase", + "SAPAseSystem", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadItemType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "protectionStatus": { + "description": "Backup status query parameter.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + } + }, + "ClientScriptForConnect": { + "description": "Client script details for file / folder restore.", + "type": "object", + "properties": { + "scriptContent": { + "description": "File content of the client script for file / folder restore.", + "type": "string" + }, + "scriptExtension": { + "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.", + "type": "string" + }, + "osType": { + "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.", + "type": "string" + }, + "url": { + "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used", + "type": "string" + }, + "scriptNameSuffix": { + "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.", + "type": "string" + } + } + }, + "ContainerIdentityInfo": { + "description": "Container identity information", + "type": "object", + "properties": { + "uniqueName": { + "description": "Unique name of the container", + "type": "string" + }, + "aadTenantId": { + "description": "Protection container identity - AAD Tenant", + "type": "string" + }, + "servicePrincipalClientId": { + "description": "Protection container identity - AAD Service Principal", + "type": "string" + }, + "audience": { + "description": "Protection container identity - Audience", + "type": "string" + } + } + }, + "DistributedNodesInfo": { + "description": "This is used to represent the various nodes of the distributed container.", + "type": "object", + "properties": { + "nodeName": { + "description": "Name of the node under a distributed container.", + "type": "string" + }, + "status": { + "description": "Status of this Node.\r\nFailed | Succeeded", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Details if the Status is non-success." + }, + "sourceResourceId": { + "description": "ARM resource id of the node", + "type": "string" + } + } + }, + "DpmBackupEngine": { + "description": "Data Protection Manager (DPM) specific backup engine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupEngineBase" + } + ], + "x-ms-discriminator-value": "DpmBackupEngine" + }, + "DpmContainer": { + "description": "DPM workload-specific protection container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "canReRegister": { + "description": "Specifies whether the container is re-registrable.", + "type": "boolean" + }, + "containerId": { + "description": "ID of container.", + "type": "string" + }, + "protectedItemCount": { + "format": "int64", + "description": "Number of protected items in the BackupEngine", + "type": "integer" + }, + "dpmAgentVersion": { + "description": "Backup engine Agent version", + "type": "string" + }, + "dpmServers": { + "description": "List of BackupEngines protecting the container", + "type": "array", + "items": { + "type": "string" + } + }, + "upgradeAvailable": { + "description": "To check if upgrade available", + "type": "boolean" + }, + "protectionStatus": { + "description": "Protection status of the container.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/DPMContainerExtendedInfo", + "description": "Extended Info of the container." + } + }, + "x-ms-discriminator-value": "DPMContainer" + }, + "DPMContainerExtendedInfo": { + "description": "Additional information of the DPMContainer.", + "type": "object", + "properties": { + "lastRefreshedAt": { + "format": "date-time", + "description": "Last refresh time of the DPMContainer.", + "type": "string" + } + } + }, + "GenericContainer": { + "description": "Base class for generic container of backup items", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "fabricName": { + "description": "Name of the container's fabric", + "type": "string" + }, + "extendedInformation": { + "$ref": "#/definitions/GenericContainerExtendedInfo", + "description": "Extended information (not returned in List container API calls)" + } + }, + "x-ms-discriminator-value": "GenericContainer" + }, + "GenericContainerExtendedInfo": { + "description": "Container extended information", + "type": "object", + "properties": { + "rawCertData": { + "description": "Public key of container cert", + "type": "string" + }, + "containerIdentityInfo": { + "$ref": "#/definitions/ContainerIdentityInfo", + "description": "Container identity information" + }, + "serviceEndpoints": { + "description": "Azure Backup Service Endpoints for the container", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "IaasVMBackupRequest": { + "description": "IaaS VM workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "IaasVMBackupRequest" + }, + "IaaSVMContainer": { + "description": "IaaS VM workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "virtualMachineId": { + "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.", + "type": "string" + }, + "virtualMachineVersion": { + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group name of Recovery Services Vault.", + "type": "string" + } + }, + "x-ms-discriminator-value": "IaasVMContainer" + }, + "IaasVMILRRegistrationRequest": { + "description": "Restore files/folders from a backup copy of IaaS VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ILRRequest" + } + ], + "properties": { + "recoveryPointId": { + "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored.", + "type": "string" + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored.", + "type": "string" + }, + "initiatorName": { + "description": "iSCSI initiator name.", + "type": "string" + }, + "renewExistingRegistration": { + "description": "Whether to renew existing registration with the iSCSI server.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "IaasVMILRRegistrationRequest" + }, + "IaaSVMProtectableItem": { + "description": "IaaS VM workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "properties": { + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine.", + "type": "string" + }, + "virtualMachineVersion": { + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group name of Recovery Services Vault.", + "type": "string" + } + }, + "x-ms-discriminator-value": "IaaSVMProtectableItem" + }, + "ILRRequest": { + "description": "Parameters to Provision ILR API.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "ILRRequestResource": { + "description": "Parameters to Provision ILR API.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ILRRequest", + "description": "ILRRequestResource properties" + } + } + }, + "InquiryInfo": { + "description": "Details about inquired protectable items under a given container.", + "type": "object", + "properties": { + "status": { + "description": "Inquiry Status for this container such as\r\nInProgress | Failed | Succeeded", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Details if the Status is non-success." + }, + "inquiryDetails": { + "description": "Inquiry Details which will have workload specific details.\r\nFor e.g. - For SQL and oracle this will contain different details.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadInquiryDetails" + }, + "x-ms-identifiers": [] + } + } + }, + "InquiryValidation": { + "description": "Validation for inquired protectable items under a given container.", + "type": "object", + "properties": { + "status": { + "description": "Status for the Inquiry Validation.", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Detail in case the status is non-success." + }, + "additionalDetail": { + "description": "Error Additional Detail in case the status is non-success.", + "type": "string", + "readOnly": true + }, + "protectableItemCount": { + "description": "Dictionary to store the count of ProtectableItems with key POType.", + "type": "object", + "readOnly": true + } + } + }, + "InstantItemRecoveryTarget": { + "description": "Target details for file / folder restore.", + "type": "object", + "properties": { + "clientScripts": { + "description": "List of client scripts.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientScriptForConnect" + }, + "x-ms-identifiers": [] + } + } + }, + "MabContainer": { + "description": "Container with items backed up using MAB backup engine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "canReRegister": { + "description": "Can the container be registered one more time.", + "type": "boolean" + }, + "containerId": { + "format": "int64", + "description": "ContainerID represents the container.", + "type": "integer" + }, + "protectedItemCount": { + "format": "int64", + "description": "Number of items backed up in this container.", + "type": "integer" + }, + "agentVersion": { + "description": "Agent version of this container.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/MabContainerExtendedInfo", + "description": "Additional information for this container" + }, + "mabContainerHealthDetails": { + "description": "Health details on this mab container.", + "type": "array", + "items": { + "$ref": "#/definitions/MABContainerHealthDetails" + }, + "x-ms-identifiers": [ + "code" + ] + }, + "containerHealthState": { + "description": "Health state of mab container.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Windows" + }, + "MabContainerExtendedInfo": { + "description": "Additional information of the container.", + "type": "object", + "properties": { + "lastRefreshedAt": { + "format": "date-time", + "description": "Time stamp when this container was refreshed.", + "type": "string" + }, + "backupItemType": { + "description": "Type of backup items associated with this container.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupItemType", + "modelAsString": true + } + }, + "backupItems": { + "description": "List of backup items associated with this container.", + "type": "array", + "items": { + "type": "string" + } + }, + "policyName": { + "description": "Backup policy associated with this container.", + "type": "string" + }, + "lastBackupStatus": { + "description": "Latest backup status of this container.", + "type": "string" + } + } + }, + "MABContainerHealthDetails": { + "description": "MAB workload-specific Health Details.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer" + }, + "title": { + "description": "Health Title", + "type": "string" + }, + "message": { + "description": "Health Message", + "type": "string" + }, + "recommendations": { + "description": "Health Recommended Actions", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "OperationStatus": { + "description": "Operation status.", + "type": "object", + "properties": { + "id": { + "description": "ID of the operation.", + "type": "string" + }, + "name": { + "description": "Name of the operation.", + "type": "string" + }, + "status": { + "description": "Operation status.", + "enum": [ + "Invalid", + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "x-ms-enum": { + "name": "OperationStatusValues", + "modelAsString": true + } + }, + "startTime": { + "format": "date-time", + "description": "Operation start time. Format: ISO-8601.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Operation end time. Format: ISO-8601.", + "type": "string" + }, + "error": { + "$ref": "#/definitions/OperationStatusError", + "description": "Error information related to this operation." + }, + "properties": { + "$ref": "#/definitions/OperationStatusExtendedInfo", + "description": "Additional information associated with this operation." + } + } + }, + "OperationStatusError": { + "description": "Error information associated with operation status call.", + "type": "object", + "properties": { + "code": { + "description": "Error code of the operation failure.", + "type": "string" + }, + "message": { + "description": "Error message displayed if the operation failure.", + "type": "string" + } + } + }, + "OperationStatusExtendedInfo": { + "description": "Base class for additional information of operation status.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "OperationStatusJobExtendedInfo": { + "description": "Operation status job extended info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "jobId": { + "description": "ID of the job created for this protected item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "OperationStatusJobExtendedInfo" + }, + "OperationStatusJobsExtendedInfo": { + "description": "Operation status extended info for list of jobs.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "jobIds": { + "description": "IDs of the jobs created for the protected item.", + "type": "array", + "items": { + "type": "string" + } + }, + "failedJobsError": { + "description": "Stores all the failed jobs along with the corresponding error codes.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo" + }, + "OperationStatusProvisionILRExtendedInfo": { + "description": "Operation status extended info for ILR provision action.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "recoveryTarget": { + "$ref": "#/definitions/InstantItemRecoveryTarget", + "description": "Target details for file / folder restore." + } + }, + "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo" + }, + "OperationStatusValidateOperationExtendedInfo": { + "description": "Operation status extended info for ValidateOperation action.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse", + "description": "Gets the validation operation response" + } + }, + "x-ms-discriminator-value": "OperationStatusValidateOperationExtendedInfo" + }, + "PreBackupValidation": { + "description": "Pre-backup validation for Azure VM Workload provider.", + "type": "object", + "properties": { + "status": { + "description": "Status of protectable item, i.e. InProgress,Succeeded,Failed", + "enum": [ + "Invalid", + "Success", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "InquiryStatus", + "modelAsString": true + } + }, + "code": { + "description": "Error code of protectable item", + "type": "string" + }, + "message": { + "description": "Message corresponding to the error code for the protectable item", + "type": "string" + } + } + }, + "ProtectableContainer": { + "description": "Protectable Container Class.", + "type": "object", + "required": [ + "protectableContainerType" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "protectableContainerType": { + "description": "Type of the container. The value of this property for\r\n1. Compute Azure VM is Microsoft.Compute/virtualMachines\r\n2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer", + "Microsoft.ClassicCompute/virtualMachines", + "Microsoft.Compute/virtualMachines", + "AzureWorkloadContainer" + ], + "type": "string", + "readOnly": false, + "x-ms-enum": { + "name": "protectableContainerType", + "modelAsString": false + } + }, + "healthStatus": { + "description": "Status of health of the container.", + "type": "string" + }, + "containerId": { + "description": "Fabric Id of the container such as ARM Id.", + "type": "string" + } + }, + "discriminator": "protectableContainerType" + }, + "ProtectableContainerResource": { + "description": "Protectable Container Class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectableContainer", + "description": "ProtectableContainerResource properties" + } + } + }, + "ProtectableContainerResourceList": { + "description": "List of ProtectableContainer resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectableContainerResource" + } + } + } + }, + "ProtectionContainer": { + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", + "type": "object", + "required": [ + "containerType" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "registrationStatus": { + "description": "Status of registration of the container with the Recovery Services Vault.", + "type": "string" + }, + "healthStatus": { + "description": "Status of health of the container.", + "type": "string" + }, + "containerType": { + "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.\r\nClassic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is\r\nWindows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload\r\nBackup is VMAppContainer", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer", + "Microsoft.ClassicCompute/virtualMachines", + "Microsoft.Compute/virtualMachines", + "AzureWorkloadContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "protectableContainerType", + "modelAsString": true + } + }, + "protectableObjectType": { + "description": "Type of the protectable object associated with this container", + "type": "string" + } + }, + "discriminator": "containerType" + }, + "ProtectionContainerResource": { + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionContainer", + "description": "ProtectionContainerResource properties" + } + } + }, + "ProtectionContainerResourceList": { + "description": "List of ProtectionContainer resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionContainerResource" + } + } + } + }, + "SecurityPinBase": { + "description": "Base class for get security pin request body", + "type": "object", + "properties": { + "resourceGuardOperationRequests": { + "description": "ResourceGuard Operation Requests", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TokenInformation": { + "description": "The token information details.", + "type": "object", + "properties": { + "token": { + "description": "Token value.", + "type": "string" + }, + "expiryTimeInUtcTicks": { + "format": "int64", + "description": "Expiry time of token.", + "type": "integer" + }, + "securityPIN": { + "description": "Security PIN", + "type": "string" + } + } + }, + "WorkloadInquiryDetails": { + "description": "Details of an inquired protectable item.", + "type": "object", + "properties": { + "type": { + "description": "Type of the Workload such as SQL, Oracle etc.", + "type": "string" + }, + "itemCount": { + "format": "int64", + "description": "Contains the protectable item Count inside this Container.", + "type": "integer" + }, + "inquiryValidation": { + "$ref": "#/definitions/InquiryValidation", + "description": "Inquiry validation such as permissions and other backup validations." + } + } + }, + "WorkloadItem": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "type": "object", + "required": [ + "workloadItemType" + ], + "properties": { + "backupManagementType": { + "description": "Type of backup management to backup an item.", + "type": "string" + }, + "workloadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "workloadItemType": { + "description": "Type of the backup item.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of the backup item.", + "type": "string" + }, + "protectionState": { + "description": "State of the back up item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + }, + "discriminator": "workloadItemType" + }, + "WorkloadItemResource": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadItem", + "description": "WorkloadItemResource properties" + } + } + }, + "WorkloadItemResourceList": { + "description": "List of WorkloadItem resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadItemResource" + } + } + } + }, + "WorkloadProtectableItem": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "type": "object", + "required": [ + "protectableItemType" + ], + "properties": { + "backupManagementType": { + "description": "Type of backup management to backup an item.", + "type": "string" + }, + "workloadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "protectableItemType": { + "description": "Type of the backup item.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of the backup item.", + "type": "string" + }, + "protectionState": { + "description": "State of the back up item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + }, + "discriminator": "protectableItemType" + }, + "WorkloadProtectableItemResource": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadProtectableItem", + "description": "WorkloadProtectableItemResource properties" + } + } + }, + "WorkloadProtectableItemResourceList": { + "description": "List of WorkloadProtectableItem resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadProtectableItemResource" + } + } + } + }, + "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest": { + "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaPointInTimeRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest" + }, + "AzureWorkloadSAPHanaRestoreWithRehydrateRequest": { + "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreWithRehydrateRequest" + }, + "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest": { + "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLPointInTimeRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest" + }, + "AzureWorkloadSQLRestoreWithRehydrateRequest": { + "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreWithRehydrateRequest" + }, + "IaasVMRestoreWithRehydrationRequest": { + "description": "IaaS VM workload-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaasVMRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "IaasVMRestoreWithRehydrationRequest" + }, + "MoveRPAcrossTiersRequest": { + "type": "object", + "properties": { + "objectType": { + "description": "Gets the class type.", + "type": "string" + }, + "sourceTierType": { + "description": "Source tier from where RP needs to be moved", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "targetTierType": { + "description": "Target tier where RP needs to be moved", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + } + } + }, + "RecoveryPointMoveReadinessInfo": { + "type": "object", + "properties": { + "isReadyForMove": { + "type": "boolean" + }, + "additionalInfo": { + "type": "string" + } + } + }, + "RecoveryPointRehydrationInfo": { + "description": "RP Rehydration Info", + "type": "object", + "properties": { + "rehydrationRetentionDuration": { + "description": "How long the rehydrated RP should be kept\r\nShould be ISO8601 Duration format e.g. \"P7D\"", + "type": "string" + }, + "rehydrationPriority": { + "description": "Rehydration Priority", + "enum": [ + "Standard", + "High" + ], + "type": "string", + "x-ms-enum": { + "name": "RehydrationPriority", + "modelAsString": true + } + } + } + }, + "RecoveryPointProperties": { + "description": "Properties of Recovery Point", + "type": "object", + "properties": { + "expiryTime": { + "description": "Expiry time of Recovery Point in UTC.", + "type": "string" + }, + "ruleName": { + "description": "Rule name tagged on Recovery Point that governs life cycle", + "type": "string" + }, + "isSoftDeleted": { + "description": "Bool to indicate whether RP is in soft delete state or not", + "type": "boolean" + } + } + }, + "ListRecoveryPointsRecommendedForMoveRequest": { + "description": "ListRecoveryPointsRecommendedForMoveRequest Request", + "type": "object", + "properties": { + "objectType": { + "description": "Gets the class type.", + "type": "string" + }, + "excludedRPList": { + "description": "List of Recovery Points excluded from Move", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UnlockDeleteRequest": { + "description": "Request body of unlock delete API.", + "type": "object", + "properties": { + "resourceGuardOperationRequests": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceToBeDeleted": { + "type": "string" + } + } + }, + "UnlockDeleteResponse": { + "description": "Response of Unlock Delete API.", + "type": "object", + "properties": { + "unlockDeleteExpiryTime": { + "description": "This is the time when unlock delete privileges will get expired.", + "type": "string" + } + } + }, + "ResourceGuardOperationDetail": { + "type": "object", + "properties": { + "vaultCriticalOperation": { + "type": "string" + }, + "defaultResourceRequest": { + "type": "string" + } + } + }, + "ResourceGuardProxyBase": { + "type": "object", + "required": [ + "resourceGuardResourceId" + ], + "properties": { + "resourceGuardResourceId": { + "type": "string" + }, + "resourceGuardOperationDetails": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGuardOperationDetail" + }, + "x-ms-identifiers": [] + }, + "lastUpdatedTime": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "ResourceGuardProxyBaseResource": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ResourceGuardProxyBase", + "description": "ResourceGuardProxyBaseResource properties" + } + } + }, + "ResourceGuardProxyBaseResourceList": { + "description": "List of ResourceGuardProxyBase resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + } + } + }, + "TieringPolicy": { + "description": "Tiering Policy for a target tier.\r\nIf the policy is not specified for a given target tier, service retains the existing configured tiering policy for that tier", + "type": "object", + "properties": { + "tieringMode": { + "description": "Tiering Mode to control automatic tiering of recovery points. Supported values are:\r\n1. TierRecommended: Tier all recovery points recommended to be tiered\r\n2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.\r\n3. DoNotTier: Do not tier any recovery points", + "enum": [ + "Invalid", + "TierRecommended", + "TierAfter", + "DoNotTier" + ], + "type": "string", + "x-ms-enum": { + "name": "TieringMode", + "modelAsString": true + } + }, + "duration": { + "format": "int32", + "description": "Number of days/weeks/months/years to retain backups in current tier before tiering.\r\nUsed only if TieringMode is set to TierAfter", + "type": "integer" + }, + "durationType": { + "description": "Retention duration type: days/weeks/months/years\r\nUsed only if TieringMode is set to TierAfter", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionDurationType", + "modelAsString": true + } + } + } + }, + "TieringCostInfo": { + "description": "Base class for tiering cost response", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "FetchTieringCostInfoForRehydrationRequest": { + "description": "Request parameters for fetching cost info of rehydration", + "required": [ + "objectType", + "containerName", + "protectedItemName", + "recoveryPointId", + "rehydrationPriority", + "sourceTierType", + "targetTierType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FetchTieringCostInfoRequest" + } + ], + "properties": { + "containerName": { + "description": "Name of the protected item container", + "type": "string" + }, + "protectedItemName": { + "description": "Name of the protectedItemName", + "type": "string" + }, + "recoveryPointId": { + "description": "ID of the backup copy for rehydration cost info needs to be fetched.", + "type": "string" + }, + "rehydrationPriority": { + "description": "Rehydration Priority", + "enum": [ + "Standard", + "High" + ], + "type": "string", + "x-ms-enum": { + "name": "RehydrationPriority", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "FetchTieringCostInfoForRehydrationRequest" + }, + "FetchTieringCostInfoRequest": { + "description": "Base class for tiering cost request.\r\nSpecific cost request types are derived from this class.", + "required": [ + "sourceTierType", + "targetTierType", + "objectType" + ], + "type": "object", + "properties": { + "sourceTierType": { + "description": "Source tier for the request", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "targetTierType": { + "description": "target tier for the request", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "TieringCostRehydrationInfo": { + "description": "Response parameters for tiering cost info for rehydration", + "required": [ + "objectType", + "rehydrationSizeInBytes", + "retailRehydrationCostPerGBPerMonth" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TieringCostInfo" + } + ], + "properties": { + "rehydrationSizeInBytes": { + "format": "int64", + "description": "Rehydration size in bytes", + "type": "integer" + }, + "retailRehydrationCostPerGBPerMonth": { + "format": "double", + "description": "Source tier to target tier rehydration cost per GB per month", + "type": "number" + } + }, + "x-ms-discriminator-value": "TieringCostRehydrationInfo" + }, + "TieringCostSavingInfo": { + "description": "Response parameters for tiering cost info for savings", + "required": [ + "objectType", + "sourceTierSizeReductionInBytes", + "targetTierSizeIncreaseInBytes", + "retailSourceTierCostPerGBPerMonth", + "retailTargetTierCostPerGBPerMonth" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TieringCostInfo" + } + ], + "properties": { + "sourceTierSizeReductionInBytes": { + "format": "int64", + "description": "Source tier size reduction in bytes after moving all the recommended backup points to target tier", + "type": "integer" + }, + "targetTierSizeIncreaseInBytes": { + "format": "int64", + "description": "Target tier size increase in bytes after moving all the recommended backup points to target tier", + "type": "integer" + }, + "retailSourceTierCostPerGBPerMonth": { + "format": "double", + "description": "Source tier retail cost per GB per month", + "type": "number" + }, + "retailTargetTierCostPerGBPerMonth": { + "format": "double", + "description": "Target tier retail cost per GB per month", + "type": "number" + } + }, + "x-ms-discriminator-value": "TieringCostSavingInfo" + }, + "FetchTieringCostSavingsInfoForPolicyRequest": { + "description": "Request parameters for tiering cost info for policy", + "required": [ + "objectType", + "policyName", + "sourceTierType", + "targetTierType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FetchTieringCostInfoRequest" + } + ], + "properties": { + "policyName": { + "description": "Name of the backup policy for which the cost savings information is requested", + "type": "string" + } + }, + "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForPolicyRequest" + }, + "FetchTieringCostSavingsInfoForProtectedItemRequest": { + "description": "Request parameters for tiering cost info for protected item", + "required": [ + "objectType", + "containerName", + "protectedItemName", + "sourceTierType", + "targetTierType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FetchTieringCostInfoRequest" + } + ], + "properties": { + "containerName": { + "description": "Name of the protected item container", + "type": "string" + }, + "protectedItemName": { + "description": "Name of the protectedItemName", + "type": "string" + } + }, + "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForProtectedItemRequest" + }, + "FetchTieringCostSavingsInfoForVaultRequest": { + "description": "Request parameters for tiering cost info for vault", + "required": [ + "objectType", + "sourceTierType", + "targetTierType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FetchTieringCostInfoRequest" + } + ], + "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForVaultRequest" + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "AzureRegion": { + "name": "azureRegion", + "in": "path", + "description": "Azure region to hit Api", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RestrictedVaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "pattern": "^[A-Za-z][-A-Za-z0-9]*[A-Za-z0-9]$", + "minLength": 2, + "maxLength": 50 + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/BackupFeature_Validate.json new file mode 100644 index 000000000000..a2ec9f9dc4bd --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/BackupFeature_Validate.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2023-08-01", + "parameters": { + "featureType": "AzureVMResourceBackup", + "vmSize": "Basic_A0", + "vmSku": "Premium" + } + }, + "responses": { + "200": { + "body": { + "supportStatus": "DefaultOFF" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/BackupPolicies_List.json new file mode 100644 index 000000000000..1a83c21ea684 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/BackupPolicies_List.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2023-08-01", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", + "name": "DefaultPolicy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + }, + "protectedItemsCount": 0 + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/BackupProtectableItems_List.json new file mode 100644 index 000000000000..94e7c187ea3b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/BackupProtectableItems_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2023-08-01", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionState": "NotProtected", + "protectableItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/BackupProtectedItems_List.json new file mode 100644 index 000000000000..6fe2e78e91c4 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/BackupProtectedItems_List.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2023-08-01", + "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json new file mode 100644 index 000000000000..ada16e87e6a9 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json new file mode 100644 index 000000000000..5fed1337ba0d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ConfigureProtection.json new file mode 100644 index 000000000000..b76821b671e1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ConfigureProtection.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "protectedItemType": "Microsoft.Compute/virtualMachines", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "netvmtestv2vm1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": null + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/GetBackupStatus.json new file mode 100644 index 000000000000..e95d1ee5f792 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/GetBackupStatus.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2023-08-01", + "parameters": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", + "resourceType": "VM" + } + }, + "responses": { + "200": { + "body": { + "protectionStatus": "Protected", + "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/Vaults/testVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;testRg;testVm", + "protectedItemName": "vm;iaasvmcontainerv2;testRg;testVm", + "policyName": "myPolicy", + "errorCode": "Success", + "errorMessage": "ErrorMessage" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectedItemOperationResults.json new file mode 100644 index 000000000000..54b16fdc154b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectedItemOperationResults.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "netvmtestv2vm1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": null + } + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json new file mode 100644 index 000000000000..0179cfe25348 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "Succeeded", + "startTime": "2017-10-29T06:04:18.207325Z", + "endTime": "2017-10-29T06:04:18.207325Z", + "properties": { + "objectType": "OperationStatusJobExtendedInfo", + "jobId": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json new file mode 100644 index 000000000000..79770fce6a0d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chamsrgtest/providers/Microsoft.Compute/virtualMachines/chamscandel", + "protectionIntentItemType": "AzureResourceItem", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "name": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "protectionIntentItemType": "AzureResourceItem", + "backupManagementType": "AzureIaasVM", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "protectionState": "Protected" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionIntent_Validate.json new file mode 100644 index 000000000000..77e406eebcd8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionIntent_Validate.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2023-08-01", + "parameters": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/arunaupgrade/providers/Microsoft.Compute/VirtualMachines/upgrade1", + "resourceType": "VM", + "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/Vaults/myVault", + "properties": "" + } + }, + "responses": { + "200": { + "body": { + "status": "Failed", + "errorCode": "VirtualMachineAlreadyProtected", + "errorMessage": "Virtual machine with same name and same resource group is already protected. Please select `Disable' choice above for backup and go to backup item corresponding to this VM in the vault", + "recommendation": "Please do not enable protection again.", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;arunaupgrade;upgrade1", + "protectedItemName": "vm;iaasvmcontainerv2;arunaupgrade;upgrade1" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..7340d03d024b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -0,0 +1,181 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "Pacific Standard Time", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Wednesday", + "Thursday" + ], + "weeksOfTheMonth": [ + "First", + "Third" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "February", + "November" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Monday", + "Thursday" + ], + "weeksOfTheMonth": [ + "Fourth" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Wednesday", + "Thursday" + ], + "weeksOfTheMonth": [ + "First", + "Third" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "February", + "November" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Monday", + "Thursday" + ], + "weeksOfTheMonth": [ + "Fourth" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json new file mode 100644 index 000000000000..2740d1d73c37 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "Pacific Standard Time", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json new file mode 100644 index 000000000000..8278a5fd61f6 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2023-08-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicies_Get.json new file mode 100644 index 000000000000..2845957dd854 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicies_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json new file mode 100644 index 000000000000..773417c38c5d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 1 + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json new file mode 100644 index 000000000000..5603808077e4 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "GetProtectionPolicyOperationStatus", + "status": "Succeeded", + "startTime": "2018-01-24T12:57:32.1142968Z", + "endTime": "2018-01-24T12:57:32.1142968Z", + "properties": { + "objectType": "OperationStatusJobsExtendedInfo", + "jobIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "failedJobsError": {} + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/Provision_Ilr.json new file mode 100644 index 000000000000..1bf4cd77970e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/Provision_Ilr.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "recoveryPointId": "1", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "initiatorName": "Hello World", + "recoveryPointId": "38823086363464", + "renewExistingRegistration": true, + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1", + "objectType": "IaasVMILRRegistrationRequest" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json new file mode 100644 index 000000000000..e017471bde0c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rshhtestmdvmrg", + "vaultName": "rshvault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "api-version": "2023-08-01", + "parameters": { + "objectType": "ListRecoveryPointsRecommendedForMoveRequest", + "excludedRPList": [ + "348916168024334", + "348916168024335" + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", + "name": "22244821112382", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", + "name": "24977149827250", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Deleted" + }, + { + "type": "ArchivedRP", + "status": "Rehydrated", + "extendedInfo": { + "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z" + } + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false, + "zones": [ + "1" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/RecoveryPoints_Get.json new file mode 100644 index 000000000000..c22bbfb3d5a2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/RecoveryPoints_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rshhtestmdvmrg", + "vaultName": "rshvault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "recoveryPointId": "26083826328862", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862", + "name": "26083826328862", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-11-22T22:32:46.6088472Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false, + "zones": [ + "1" + ], + "isPrivateAccessEnabledOnAnyDisk": true + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/RecoveryPoints_List.json new file mode 100644 index 000000000000..14088be088e8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/RecoveryPoints_List.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rshhtestmdvmrg", + "vaultName": "rshvault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", + "name": "22244821112382", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointMoveReadinessInfo": { + "Archive": { + "isReadyForMove": true + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", + "name": "24977149827250", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Deleted" + }, + { + "type": "ArchivedRP", + "status": "Rehydrated", + "extendedInfo": { + "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z" + } + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": false, + "additionalInfo": "Recovery point cannot be moved to archive tier since it has already been moved." + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false, + "zones": [ + "1" + ], + "isPrivateAccessEnabledOnAnyDisk": true + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/FijiValidation-asr-microsoftrrdclab3-408/providers/Microsoft.RecoveryServices/vaults/testVault408/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;fijivalidation-asr-microsoftrrdclab3-408;vm408/protectedItems/VM;iaasvmcontainerv2;fijivalidation-asr-microsoftrrdclab3-408;vm408/recoveryPoints/70477518625276", + "name": "70477518625276", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2023-09-22T20:02:00.1225746Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "PremiumVMOnPartialPremiumStorage", + "isSourceVMEncrypted": true, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Valid" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D2s_v3", + "originalStorageAccountOption": false, + "osType": "Windows", + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": false, + "additionalInfo": "We're still determining if this Recovery Point can be moved.. Please check again after some time." + } + }, + "extendedLocation": { + "name": "microsoftrrdclab3", + "type": "EdgeZone" + }, + "securityType": "None", + "isPrivateAccessEnabledOnAnyDisk": false + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/Revoke_Ilr.json new file mode 100644 index 000000000000..fb784038996c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/Revoke_Ilr.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "recoveryPointId": "1", + "api-version": "2023-08-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/StopProtection.json new file mode 100644 index 000000000000..03ad06ba459b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/StopProtection.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "protectedItemType": "Microsoft.Compute/virtualMachines", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "protectionState": "ProtectionStopped" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "netvmtestv2vm1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "protectionStatus": "Healthy", + "protectionState": "ProtectionStopped", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": null + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json new file mode 100644 index 000000000000..801aad39bfe3 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "AlternateLocation", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "region": "southeastasia", + "createNewCloudService": false, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": true + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json new file mode 100644 index 000000000000..dcd5dafac029 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "AlternateLocation", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "region": "southeastasia", + "createNewCloudService": false, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": true + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json new file mode 100644 index 000000000000..d6d00a166a2e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreWithRehydrationRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "AlternateLocation", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "region": "southeastasia", + "createNewCloudService": false, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "recoveryPointRehydrationInfo": { + "rehydrationRetentionDuration": "P7D", + "rehydrationPriority": "High" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json new file mode 100644 index 000000000000..92bb636430dc --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "targetDiskNetworkAccessSettings": { + "targetDiskNetworkAccessOption": "EnablePrivateAccessForAllDisks", + "targetDiskAccessId": "/subscriptions/e7a191f5-713c-4bdb-b5e4-cf3dd90230ef/resourceGroups/arpja/providers/Microsoft.Compute/diskAccesses/arpja-diskaccess-ccy" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json new file mode 100644 index 000000000000..d66368806a1b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json new file mode 100644 index 000000000000..155ca085761f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreWithRehydrationRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "recoveryPointRehydrationInfo": { + "rehydrationRetentionDuration": "P7D", + "rehydrationPriority": "Standard" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json new file mode 100644 index 000000000000..4200085baf0e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "api-version": "2023-08-01", + "parameters": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334", + "properties": { + "objectType": "ValidateIaasVMRestoreOperationRequest", + "restoreRequest": { + "recoveryPointId": "348916168024334", + "objectType": "IaasVMRestoreRequest", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + } + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Retry-After": 10 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json new file mode 100644 index 000000000000..70ff2fe1000b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json @@ -0,0 +1,191 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "v2-daily-sample", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "India Standard Time", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "snapshotConsistencyType": "OnlyCrashConsistent", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily", + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + } + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", + "name": "v2-daily-sample", + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "snapshotConsistencyType": "OnlyCrashConsistent", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + }, + "schedulePolicy": { + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily" + }, + "timeZone": "India Standard Time" + }, + "type": "Microsoft.RecoveryServices/vaults/backupPolicies" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operations/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json new file mode 100644 index 000000000000..c9a53bf91312 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json @@ -0,0 +1,191 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "v2-daily-sample", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "India Standard Time", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "snapshotConsistencyType": "OnlyCrashConsistent", + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 16, + "scheduleWindowStartTime": "2021-12-17T08:00:00Z" + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Hourly" + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", + "name": "v2-daily-sample", + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "snapshotConsistencyType": "OnlyCrashConsistent", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + }, + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 16, + "scheduleWindowStartTime": "2021-12-17T08:00:00Z" + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Hourly" + }, + "timeZone": "India Standard Time" + }, + "type": "Microsoft.RecoveryServices/vaults/backupPolicies" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operations/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json new file mode 100644 index 000000000000..bb58902b26f5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "v2-daily-sample", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", + "name": "v2-daily-sample", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "snapshotConsistencyType": "OnlyCrashConsistent", + "schedulePolicy": { + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily" + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json new file mode 100644 index 000000000000..f35c5731da45 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2023-08-01", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", + "name": "DefaultPolicy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + }, + "protectedItemsCount": 0 + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-policy", + "name": "v2-daily-policy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily", + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + } + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ValidateOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ValidateOperationResults.json new file mode 100644 index 000000000000..f764ff70e66a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ValidateOperationResults.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Retry-After": 10 + } + }, + "200": { + "body": { + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ValidateOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ValidateOperationStatus.json new file mode 100644 index 000000000000..f33084f85479 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ValidateOperationStatus.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "Succeeded", + "startTime": "2017-10-29T06:04:18.207325Z", + "endTime": "2017-10-29T06:04:18.207325Z", + "properties": { + "objectType": "OperationStatusValidateOperationExtendedInfo", + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json new file mode 100644 index 000000000000..228658211f84 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "api-version": "2023-08-01", + "parameters": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334", + "properties": { + "objectType": "ValidateIaasVMRestoreOperationRequest", + "restoreRequest": { + "recoveryPointId": "348916168024334", + "objectType": "IaasVMRestoreRequest", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json new file mode 100644 index 000000000000..f0b6955713c3 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "api-version": "2023-08-01", + "parameters": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334", + "properties": { + "objectType": "ValidateIaasVMRestoreOperationRequest", + "restoreRequest": { + "recoveryPointId": "348916168024334", + "objectType": "IaasVMRestoreRequest", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectableContainers_List.json new file mode 100644 index 000000000000..b5ed3cbcf38c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectableContainers_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testvault", + "fabricName": "Azure", + "api-version": "2023-08-01", + "$filter": "backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage", + "name": "StorageContainer;storage;test-rg;testst", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "properties": { + "friendlyName": "teststorage", + "backupManagementType": "AzureStorage", + "protectableContainerType": "StorageContainer", + "healthStatus": "Healthy", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage", + "name": "StorageContainer;ClassicStorage;test-rg;teststorage", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "properties": { + "friendlyName": "teststorage", + "backupManagementType": "AzureStorage", + "protectableContainerType": "StorageContainer", + "healthStatus": "Healthy", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionContainers_Inquire.json new file mode 100644 index 000000000000..80a28b746f12 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionContainers_Inquire.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "testvault", + "fabricName": "Azure", + "containerName": "storagecontainer;Storage;test-rg;teststorage", + "api-version": "2023-08-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json new file mode 100644 index 000000000000..22d8c5336e17 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "testvault", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "name": "VMAppContainer;Compute;testRG;testSQL", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "extendedInfo": { + "hostServerName": "testsql", + "nodesList": [], + "inquiryInfo": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "inquiryDetails": [ + { + "type": "sql", + "itemCount": 14, + "inquiryValidation": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + } + } + } + ] + } + }, + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "backupManagementType": "AzureWorkload", + "workloadType": null, + "containerType": "VMAppContainer", + "friendlyName": "testSQL" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionContainers_List.json new file mode 100644 index 000000000000..1484015c6a1a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionContainers_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2023-08-01", + "fabricName": "Azure", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", + "name": "StorageContainer;Storage;testrg;suchandrtestsa125", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125", + "protectedItemCount": 2, + "friendlyName": "suchandrtestsa125", + "backupManagementType": "AzureStorage", + "registrationStatus": "Registered", + "healthStatus": "Healthy", + "containerType": "StorageContainer" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionContainers_Register.json new file mode 100644 index 000000000000..290f0d938f51 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionContainers_Register.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "swaggertestvault", + "fabricName": "Azure", + "containerName": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "friendlyName": "swaggertestsa", + "backupManagementType": "AzureStorage", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa", + "containerType": "StorageContainer", + "acquireStorageAccountLock": "Acquire" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2019-05-13-preview", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "name": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa", + "protectedItemCount": 0, + "acquireStorageAccountLock": "Acquire", + "friendlyName": "swaggertestsa", + "backupManagementType": "AzureStorage", + "registrationStatus": "Registered", + "healthStatus": "Healthy", + "containerType": "StorageContainer" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json new file mode 100644 index 000000000000..2225da76287f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "swaggertestvault", + "policyName": "dailyPolicy2", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "backupManagementType": "AzureStorage", + "workLoadType": "AzureFileShare", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2021-09-29T08:00:00.000Z" + ] + }, + "timeZone": "UTC", + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ], + "retentionDuration": { + "count": 5, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2", + "name": "dailyPolicy2", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureStorage", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2021-09-29T08:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ], + "retentionDuration": { + "count": 5, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + }, + "timeZone": "UTC", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json new file mode 100644 index 000000000000..920aca3d8c37 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json @@ -0,0 +1,187 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "swaggertestvault", + "policyName": "newPolicyV2", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "backupManagementType": "AzureStorage", + "workLoadType": "AzureFileShare", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2023-07-18T09:30:00.000Z" + ] + }, + "timeZone": "UTC", + "vaultRetentionPolicy": { + "snapshotRetentionInDays": 5, + "vaultRetention": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2", + "name": "newPolicyV2", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureStorage", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2023-07-18T09:30:00.000Z" + ] + }, + "vaultRetentionPolicy": { + "snapshotRetentionInDays": 5, + "vaultRetention": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + } + }, + "timeZone": "UTC", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-08-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2/operations/00000000-0000-0000-0000-000000000000?api-version=2023-08-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json new file mode 100644 index 000000000000..e00ed22168cd --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "swaggertestvault", + "policyName": "newPolicy2", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "backupManagementType": "AzureStorage", + "workLoadType": "AzureFileShare", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Hourly", + "hourlySchedule": { + "interval": 4, + "scheduleWindowStartTime": "2021-09-29T08:00:00.000Z", + "scheduleWindowDuration": 12 + } + }, + "timeZone": "UTC", + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": null, + "retentionDuration": { + "count": 5, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": null, + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": null, + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": null, + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2", + "name": "newPolicy2", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureStorage", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Hourly", + "hourlySchedule": { + "interval": 4, + "scheduleWindowStartTime": "2021-09-29T08:00:00Z", + "scheduleWindowDuration": 12 + }, + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ], + "retentionDuration": { + "count": 5, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + }, + "timeZone": "UTC", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/SoftDeletedContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/SoftDeletedContainers_List.json new file mode 100644 index 000000000000..fe1015d9eac1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureStorage/SoftDeletedContainers_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2023-08-01", + "fabricName": "Azure", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", + "name": "StorageContainer;Storage;testrg;suchandrtestsa125", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125", + "protectedItemCount": 2, + "friendlyName": "suchandrtestsa125", + "backupManagementType": "AzureStorage", + "registrationStatus": "SoftDeleted", + "healthStatus": "Healthy", + "containerType": "StorageContainer" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupPolicies_List.json new file mode 100644 index 000000000000..769e89f48ab2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupPolicies_List.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2023-08-01", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup", + "name": "HourlyLogBackup", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "UTC", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + } + ], + "protectedItemsCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json new file mode 100644 index 000000000000..2b2863d15587 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E", + "api-version": "2023-08-01", + "parameters": {} + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupProtectionIntent_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupProtectionIntent_Get.json new file mode 100644 index 000000000000..a7bdc522cd31 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupProtectionIntent_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E", + "api-version": "2023-08-01", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", + "name": "249D9B07-D2EF-4202-AA64-65F35418564E", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent", + "backupManagementType": "AzureWorkload", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupProtectionIntent_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupProtectionIntent_List.json new file mode 100644 index 000000000000..b9437314c58b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupProtectionIntent_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "api-version": "2023-08-01", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", + "name": "249D9B07-D2EF-4202-AA64-65F35418564E", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent", + "backupManagementType": "AzureWorkload", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupWorkloadItems_List.json new file mode 100644 index 000000000000..a172358249a8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/BackupWorkloadItems_List.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "suchandr-seacan-rsv", + "api-version": "2023-08-01", + "$filter": "backupManagementType eq 'AzureWorkload'", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;bvtdtestag;sqlserver-1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testRg/providers/Microsoft.RecoveryServices/vaults/suchandr-seacan-rsv/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;bvtdtestag;sqlserver-1/protectableItems/SQLInstance;MSSQLSERVER", + "name": "SQLInstance;MSSQLSERVER", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/items", + "properties": { + "dataDirectoryPaths": [ + { + "type": "Data", + "path": "F:\\DATA\\" + }, + { + "type": "Log", + "path": "F:\\LOG\\" + } + ], + "parentName": "MSSQLSERVER", + "serverName": "sqlserver-1.contoso.com", + "isAutoProtectable": true, + "subinquireditemcount": 0, + "subWorkloadItemCount": 3, + "backupManagementType": "AzureWorkload", + "workloadType": "SQL", + "workloadItemType": "SQLInstance", + "friendlyName": "MSSQLSERVER", + "protectionState": "NotProtected" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/ProtectionContainers_Get.json new file mode 100644 index 000000000000..04e0f8fc3c67 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/ProtectionContainers_Get.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "api-version": "2023-08-01", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "name": "VMAppContainer;Compute;testRG;testSQL", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "extendedInfo": { + "hostServerName": "testsql", + "nodesList": [], + "inquiryInfo": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "inquiryDetails": [ + { + "type": "sql", + "itemCount": 14, + "inquiryValidation": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + } + } + } + ] + } + }, + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "backupManagementType": "AzureWorkload", + "workloadType": null, + "containerType": "VMAppContainer", + "friendlyName": "testSQL" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/ProtectionContainers_Unregister.json new file mode 100644 index 000000000000..f58cd2f20dbd --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/ProtectionContainers_Unregister.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2023-08-01", + "fabricName": "Azure", + "containerName": "storagecontainer;Storage;test-rg;teststorage" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..bc215b659ebd --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -0,0 +1,260 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "Pacific Standard Time", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Second" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January", + "June", + "December" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Last" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + } + } + } + }, + { + "policyType": "Differential", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Friday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 8, + "durationType": "Days" + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 7, + "durationType": "Days" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "Pacific Standard Time", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Second" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January", + "June", + "December" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Last" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + } + } + } + }, + { + "policyType": "Differential", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Friday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 8, + "durationType": "Days" + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 7, + "durationType": "Days" + } + } + } + ], + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json new file mode 100644 index 000000000000..b8a6b493f795 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "status": "Succeeded", + "startTime": "2020-02-27T11:59:47.5901592Z", + "endTime": "2020-02-27T11:59:47.5901592Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json new file mode 100644 index 000000000000..147be5220b24 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + }, + "200": { + "body": { + "objectType": "PrepareDataMoveResponse" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupDataMove/PrepareDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupDataMove/PrepareDataMove_Post.json new file mode 100644 index 000000000000..c0836bdd6549 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupDataMove/PrepareDataMove_Post.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "api-version": "2023-08-01", + "parameters": { + "targetResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/targetRG/providers/Microsoft.RecoveryServices/vaults/target-rsv", + "targetRegion": "USGov Virginia", + "dataMoveLevel": "Vault" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/prepareDataMove/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupDataMove/TriggerDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupDataMove/TriggerDataMove_Post.json new file mode 100644 index 000000000000..f04e02ea13ee --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupDataMove/TriggerDataMove_Post.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "targetRG", + "vaultName": "target-rsv", + "api-version": "2023-08-01", + "parameters": { + "sourceResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv", + "sourceRegion": "USGov Iowa", + "dataMoveLevel": "Vault", + "correlationId": "MTg2OTcyMzM4NzYyMjc1NDY3Nzs1YmUzYmVmNi04YjJiLTRhOTItOTllYi01NTM0MDllYjk2NjE=" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupResourceEncryptionConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupResourceEncryptionConfig_Get.json new file mode 100644 index 000000000000..ef86799f83bc --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupResourceEncryptionConfig_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rishgrp", + "vaultName": "rishTestVault", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rishgrp/providers/Microsoft.RecoveryServicesBVTD2/vaults/rishTestVault/backupEncryptionConfigs/backupResourceEncryptionConfig", + "name": "backupResourceEncryptionConfig", + "type": "Microsoft.RecoveryServices/vaults/backupEncryptionConfigs", + "properties": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false, + "encryptionAtRestType": "CustomerManaged", + "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed", + "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b", + "lastUpdateStatus": "Succeeded", + "infrastructureEncryptionState": "Disabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupResourceEncryptionConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupResourceEncryptionConfig_Put.json new file mode 100644 index 000000000000..54fe709d812b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/BackupResourceEncryptionConfig_Put.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "source-rsv", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "encryptionAtRestType": "CustomerManaged", + "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed", + "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b", + "infrastructureEncryptionState": "true" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json new file mode 100644 index 000000000000..88c29e71b36f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2023-08-01", + "$filter": "type eq 'BackupProtectedItemCountSummary'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 7, + "limit": -1, + "name": { + "value": "AzureIaasVM", + "localizedValue": "Azure Virtual Machine" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "MAB", + "localizedValue": "Azure Backup Agent" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "AzureBackupServer", + "localizedValue": "Azure Backup Server" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureStorage", + "localizedValue": "Azure Storage (Azure Files)" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureWorkload", + "localizedValue": "SQL in Azure VM" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json new file mode 100644 index 000000000000..dbb35a71ccff --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2023-08-01", + "$filter": "type eq 'BackupProtectionContainerCountSummary'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureBackupServer", + "localizedValue": "Azure Backup Server" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "MAB", + "localizedValue": "Azure Backup Agent" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "AzureWorkload", + "localizedValue": "SQL in Azure VM" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupResourceVaultConfigs_Get.json new file mode 100644 index 000000000000..06995741cf5b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupResourceVaultConfigs_Get.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupResourceVaultConfigs_Patch.json new file mode 100644 index 000000000000..e016769591c8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupResourceVaultConfigs_Patch.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "enhancedSecurityState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupResourceVaultConfigs_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupResourceVaultConfigs_Put.json new file mode 100644 index 000000000000..75589dc5d319 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupResourceVaultConfigs_Put.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupSecurityPin_Get.json new file mode 100644 index 000000000000..1e7e67e25d58 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupSecurityPin_Get.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "token": "200432", + "expiryTimeInUtcTicks": 636495150137443121, + "securityPIN": "200432" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupStorageConfig_Get.json new file mode 100644 index 000000000000..268d53209551 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupStorageConfig_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "GeoRedundant", + "storageType": "GeoRedundant", + "storageTypeState": "Locked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupStorageConfig_Patch.json new file mode 100644 index 000000000000..7d09af03fedb --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupStorageConfig_Patch.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupStorageConfig_Put.json new file mode 100644 index 000000000000..5ce2f2cf4e39 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/BackupStorageConfig_Put.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "LocallyRedundant", + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/CancelJobOperationResult.json new file mode 100644 index 000000000000..7a4a53384252 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/CancelJobOperationResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "jobName": "00000000-0000-0000-0000-000000000000", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "204": {}, + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ExportJobsOperationResult.json new file mode 100644 index 000000000000..549a0c6c8318 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ExportJobsOperationResult.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "operation": { + "objectType": "ExportJobsOperationResultInfo", + "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000", + "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r" + }, + "headers": {} + } + }, + "202": { + "headers": { + "Retry-After": 60, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" + }, + "body": { + "operation": { + "objectType": "ExportJobsOperationResultInfo" + }, + "headers": { + "Location": [ + "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" + ], + "Retry-After": [ + "60" + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/GetJobDetails.json new file mode 100644 index 000000000000..c37cb76aa34b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/GetJobDetails.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "jobName": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT9.8782791S", + "virtualMachineVersion": "Compute", + "extendedInfo": { + "tasksList": [ + { + "taskId": "Take Snapshot", + "duration": "PT0S", + "status": "InProgress" + }, + { + "taskId": "Transfer data to vault", + "duration": "PT0S", + "status": "NotStarted" + } + ], + "propertyBag": { + "VM Name": "testvm" + } + }, + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ListJobs.json new file mode 100644 index 000000000000..bf9716c3d381 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ListJobs.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT12.4272909S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT31.3066291S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "ConfigureBackup", + "status": "Completed", + "startTime": "2017-08-03T05:30:32.4487085Z", + "endTime": "2017-08-03T05:31:03.7553376Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ListJobsWithAllSupportedFilters.json new file mode 100644 index 000000000000..b69217410770 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ListJobsWithAllSupportedFilters.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2023-08-01", + "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT12.4272909S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json new file mode 100644 index 000000000000..f99caac8ab44 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2023-08-01", + "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT12.4272909S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT31.3066291S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "ConfigureBackup", + "status": "Completed", + "startTime": "2017-08-03T05:30:32.4487085Z", + "endTime": "2017-08-03T05:31:03.7553376Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ProtectedItem_Delete.json new file mode 100644 index 000000000000..871cee6300b6 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ProtectedItem_Delete.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "api-version": "2023-08-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ProtectedItem_Delete_OperationResult.json new file mode 100644 index 000000000000..366a98535903 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ProtectedItem_Delete_OperationResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ProtectedItem_Delete_OperationStatus.json new file mode 100644 index 000000000000..c673fd672b9e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/ProtectedItem_Delete_OperationStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "InProgress", + "startTime": "2017-08-03T06:52:53.886027Z", + "endTime": "0001-01-01T00:00:00.00000Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/RefreshContainers.json new file mode 100644 index 000000000000..729afc626e5a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/RefreshContainers.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "api-version": "2023-08-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/RefreshContainers_OperationResults.json new file mode 100644 index 000000000000..39448afdd409 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/RefreshContainers_OperationResults.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/TriggerBackup_Post.json new file mode 100644 index 000000000000..680d41303291 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/TriggerBackup_Post.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "linuxRsVaultRG", + "vaultName": "linuxRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r", + "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "objectType": "IaasVMBackupRequest" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/TriggerCancelJob.json new file mode 100644 index 000000000000..1063c5e009c8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/TriggerCancelJob.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "jobName": "00000000-0000-0000-0000-000000000000", + "api-version": "2023-08-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/TriggerExportJobs.json new file mode 100644 index 000000000000..698e0d7192d6 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Common/TriggerExportJobs.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2023-08-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Dpm/BackupEngines_Get.json new file mode 100644 index 000000000000..a2c2d16b1b8d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Dpm/BackupEngines_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "backupEngineName": "testServer", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer", + "name": "testServer", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9532.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Dpm/BackupEngines_List.json new file mode 100644 index 000000000000..3573b80deb31 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/Dpm/BackupEngines_List.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1", + "name": "testServer1", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9532.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer1", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5", + "name": "testServer5", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9530.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer5", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ListOperations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ListOperations.json new file mode 100644 index 000000000000..5c82e31b4098 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ListOperations.json @@ -0,0 +1,463 @@ +{ + "parameters": { + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "microsoft.recoveryservices/vaults/usages/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Usage", + "operation": "Recovery Services Vault usage details.", + "description": "Returns usage details for a Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Usages Summaries", + "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.", + "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Get Resource Storage Config", + "description": "Returns Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Write Resource Storage Config", + "description": "Updates Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Get Resource Config", + "description": "Returns Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Update Resource Config", + "description": "Updates Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/tokenInfo/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Token Info", + "operation": "Get Vault Token Info", + "description": "Returns token information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "SecurityPINInfo", + "operation": "Get Security PIN Info", + "description": "Returns Security PIN Information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Management Metadata", + "operation": "Get Backup Management Metadata", + "description": "Returns Backup Management Metadata for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Results", + "operation": "Get Backup Operation Result", + "description": "Returns Backup Operation Result for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperations/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Get Jobs", + "description": "Returns all Job Objects" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Cancel Jobs", + "description": "Cancel the Job" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs", + "operation": "Export Jobs", + "description": "Export Jobs" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs Operation Results", + "operation": "Get Job Operation Result", + "description": "Returns the Result of Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs Operation Results", + "operation": "Get Export Job Operation Result", + "description": "Returns the Result of Export Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Get Recovery Points", + "description": "Get Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Restore Recovery Points", + "description": "Restore Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Provision Instant Item Recovery for Protected Item", + "description": "Provision Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Revoke Instant Item Recovery for Protected Item", + "description": "Revoke Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Get Protection Policy", + "description": "Returns all Protection Policies" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Create Protection Policy", + "description": "Creates Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Delete Protection Policy", + "description": "Delete a Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Results", + "operation": "Get Policy Operation Results", + "description": "Get Results of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Status", + "operation": "Get Policy Operation Status", + "description": "Get Status of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get Protected Item Details", + "description": "Returns object details of the Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get All Protected Items", + "description": "Returns the list of all Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Create Backup Protected Item", + "description": "Create a backup Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Delete Protected Items", + "description": "Deletes Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Results", + "operation": "Get Protected Items Operation Results", + "description": "Gets Result of Operation Performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Status", + "operation": "Get Protected Items operation status", + "description": "Returns the status of Operation performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Backup Protected Item", + "description": "Performs Backup for Protected Item." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protectable Items", + "operation": "Get Protectable Items", + "description": "Returns list of all Protectable Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/refreshContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers", + "operation": "Refresh container", + "description": "Refreshes the container list" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers Operation Results", + "operation": "Get Operation Results", + "description": "Returns status of the operation" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protection Containers", + "operation": "Get Containers In Subscription", + "description": "Returns all containers belonging to the subscription" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers", + "operation": "Get Registered Container", + "description": "Returns all registered containers" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Operation Results", + "operation": "Get Container Operation Results", + "description": "Gets result of Operation performed on Protection Container." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupEngines", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Engines", + "operation": "List of backup management servers.", + "description": "Returns all the backup management servers registered with vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupStatus", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Status", + "operation": "Check Backup Status for Vault", + "description": "Check Backup Status for Recovery Services Vaults" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "PreValidate Protection", + "operation": "Pre Validate Enable Protection", + "description": "" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupValidateFeatures", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Validate Features", + "operation": "Validate Features", + "description": "Validate Features" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Intent", + "operation": "Create backup Protection Intent", + "description": "Create a backup Protection Intent" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Workload Items", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Inquire", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..414c40e71399 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "api-version": "2023-08-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..81589b6bd185 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Pending", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + }, + "groupIds": [ + "AzureBackup_secondary" + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json new file mode 100644 index 000000000000..dd1fa40c0040 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "vaultName": "gaallavaultbvtd2msi", + "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "status": "Succeeded", + "startTime": "2020-02-27T11:59:47.5901592Z", + "endTime": "2020-02-27T11:59:47.5901592Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json new file mode 100644 index 000000000000..14339b93a24c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + }, + "groupIds": [ + "AzureBackup_secondary" + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Pending", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + }, + "groupIds": [ + "AzureBackup_secondary" + ] + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", + "Retry-After": "60" + } + }, + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + }, + "groupIds": [ + "AzureBackup_secondary" + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json new file mode 100644 index 000000000000..883d7489c46c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2023-08-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json new file mode 100644 index 000000000000..4674cdf6b3c5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "resourceGuardOperationDetails": [ + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default" + }, + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/resourceguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default" + } + ], + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", + "description": "Please take JIT access before performing any of the critical operation" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json new file mode 100644 index 000000000000..439c8934a543 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "resourceGuardOperationDetails": [ + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default" + }, + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default" + } + ], + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", + "description": "Please take JIT access before performing any of the critical operation" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json new file mode 100644 index 000000000000..94912201fd42 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2023-08-01", + "parameters": { + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "resourceGuardOperationDetails": [ + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default" + }, + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default" + } + ], + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", + "description": "Please take JIT access before performing any of the critical operation" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json new file mode 100644 index 000000000000..5f97d7eab24e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2023-08-01", + "parameters": { + "resourceGuardOperationRequests": [ + "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteProtectedItemRequests/default" + ], + "resourceToBeDeleted": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/gaallarg/providers/Microsoft.RecoveryServices/vaults/MercuryCrrVault/backupFabrics/Azure/protectionContainers/VMAppContainer;compute;crrtestrg;crrtestvm/protectedItems/SQLDataBase;mssqlserver;testdb" + } + }, + "responses": { + "200": { + "body": { + "unlockDeleteExpiryTime": "2021-02-11T13:12:27.7870742Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/FetchTieringCostForPolicy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/FetchTieringCostForPolicy.json new file mode 100644 index 000000000000..7203d56bf3f2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/FetchTieringCostForPolicy.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "api-version": "2023-08-01", + "parameters": { + "objectType": "FetchTieringCostSavingsInfoForPolicyRequest", + "policyName": "monthly", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-08-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2023-08-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "objectType": "TieringCostSavingInfo", + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892, + "retailSourceTierCostPerGBPerMonth": 0.02, + "retailTargetTierCostPerGBPerMonth": 0.003 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/FetchTieringCostForProtectedItem.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/FetchTieringCostForProtectedItem.json new file mode 100644 index 000000000000..c4010a2729e5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/FetchTieringCostForProtectedItem.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "api-version": "2023-08-01", + "parameters": { + "objectType": "FetchTieringCostSavingsInfoForProtectedItemRequest", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + } + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostSavingInfo", + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892, + "retailSourceTierCostPerGBPerMonth": 0.02, + "retailTargetTierCostPerGBPerMonth": 0.003 + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-08-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2023-08-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/FetchTieringCostForRehydrate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/FetchTieringCostForRehydrate.json new file mode 100644 index 000000000000..50e660e8881c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/FetchTieringCostForRehydrate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "api-version": "2023-08-01", + "parameters": { + "objectType": "FetchTieringCostInfoForRehydrationRequest", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "1222343434", + "rehydrationPriority": "High", + "sourceTierType": "ArchivedRP", + "targetTierType": "HardenedRP" + } + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostRehydrationInfo", + "rehydrationSizeInBytes": 1204000, + "retailRehydrationCostPerGBPerMonth": 0.02 + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-08-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2023-08-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/FetchTieringCostForVault.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/FetchTieringCostForVault.json new file mode 100644 index 000000000000..72a582ad6695 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/FetchTieringCostForVault.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "api-version": "2023-08-01", + "parameters": { + "objectType": "FetchTieringCostSavingsInfoForVaultRequest", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + } + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostSavingInfo", + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892, + "retailSourceTierCostPerGBPerMonth": 0.02, + "retailTargetTierCostPerGBPerMonth": 0.003 + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-08-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2023-08-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/GetTieringCostOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/GetTieringCostOperationResult.json new file mode 100644 index 000000000000..cd08ad3849af --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/GetTieringCostOperationResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostSavingInfo", + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892, + "retailSourceTierCostPerGBPerMonth": 0.02, + "retailTargetTierCostPerGBPerMonth": 0.003 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/GetTieringCostOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/GetTieringCostOperationStatus.json new file mode 100644 index 000000000000..dd1fa40c0040 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TieringCost/GetTieringCostOperationStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "vaultName": "gaallavaultbvtd2msi", + "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "status": "Succeeded", + "startTime": "2020-02-27T11:59:47.5901592Z", + "endTime": "2020-02-27T11:59:47.5901592Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TriggerRecoveryPointMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TriggerRecoveryPointMove_Post.json new file mode 100644 index 000000000000..77f5762720f1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/examples/TriggerRecoveryPointMove_Post.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2023-08-01", + "parameters": { + "objectType": "MoveRPAcrossTiersRequest", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index 8bbffc821459..6c8095dd8242 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the RecoveryServicesBackup API. title: Recovery Services Backup Client description: Open API 2.0 Specs for Azure RecoveryServices Backup service openapi-type: arm -tag: package-2023-06 +tag: package-2023-08 csharp-sdks-folder: ./Generated/CSharp python-sdks-folder: ./Generated/Python go-sdk-folder: ./Generated/Golang @@ -41,7 +41,7 @@ tag: package-passivestamp-2023-01-15 ``` ``` yaml $(package-activestamp) -tag: package-2023-06 +tag: package-2023-08 ``` ### Validations @@ -56,14 +56,23 @@ message-format: json ``` +### Tag: package-2023-08 + +These settings apply only when `--tag=package-2023-08` is specified on the command line. + +```yaml $(tag) == 'package-2023-08' +input-file: + - Microsoft.RecoveryServices/stable/2023-08-01/bms.json +``` ### Tag: package-2023-06 These settings apply only when `--tag=package-2023-06` is specified on the command line. -```yaml $(tag) == 'package-2023-06' +``` yaml $(tag) == 'package-2023-06' input-file: - Microsoft.RecoveryServices/stable/2023-06-01/bms.json ``` + ### Tag: package-2023-04 These settings apply only when `--tag=package-2023-04` is specified on the command line. diff --git a/specification/recoveryservicesbackup/resource-manager/readme.python.md b/specification/recoveryservicesbackup/resource-manager/readme.python.md index 20c5f2c1864d..c4a61a0a2723 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.python.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.python.md @@ -18,7 +18,7 @@ Generate all API versions currently shipped for this package clear-output-folder: true batch: - tag: package-passivestamp-2021-11-15 - - tag: package-2023-06 + - tag: package-2023-04 ``` ### Tag: package-passivestamp-2021-11-15 and python @@ -32,12 +32,12 @@ namespace: azure.mgmt.recoveryservicesbackup.passivestamp output-folder: $(python-sdks-folder)/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/passivestamp ``` -### Tag: package-2023-06 and python +### Tag: package-2023-04 and python -These settings apply only when `--package-2023-06 --python` is specified on the command line. +These settings apply only when `--package-2023-04 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2023-06' +``` yaml $(tag) == 'package-2023-04' namespace: azure.mgmt.recoveryservicesbackup.activestamp output-folder: $(python-sdks-folder)/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp ``` diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/AlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/AlertRules.json new file mode 100644 index 000000000000..7071a01c04ee --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/AlertRules.json @@ -0,0 +1,1865 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules": { + "get": { + "x-ms-examples": { + "Get all alert rules.": { + "$ref": "./examples/alertRules/GetAllAlertRules.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Gets all alert rules.", + "operationId": "AlertRules_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/AlertRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}": { + "get": { + "x-ms-examples": { + "Get a Scheduled alert rule.": { + "$ref": "./examples/alertRules/GetScheduledAlertRule.json" + }, + "Get a Fusion alert rule.": { + "$ref": "./examples/alertRules/GetFusionAlertRule.json" + }, + "Get a MicrosoftSecurityIncidentCreation rule.": { + "$ref": "./examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Gets the alert rule.", + "operationId": "AlertRules_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/AlertRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a Scheduled alert rule.": { + "$ref": "./examples/alertRules/CreateScheduledAlertRule.json" + }, + "Creates or updates a Fusion alert rule.": { + "$ref": "./examples/alertRules/CreateFusionAlertRule.json" + }, + "Creates or updates a MicrosoftSecurityIncidentCreation rule.": { + "$ref": "./examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Creates or updates the alert rule.", + "operationId": "AlertRules_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/AlertRule" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/AlertRule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AlertRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an alert rule.": { + "$ref": "./examples/alertRules/DeleteAlertRule.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Delete the alert rule.", + "operationId": "AlertRules_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions": { + "get": { + "x-ms-examples": { + "Get all actions of alert rule.": { + "$ref": "./examples/actions/GetAllActionsByAlertRule.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Gets all actions of alert rule.", + "operationId": "Actions_ListByAlertRule", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/ActionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}": { + "get": { + "x-ms-examples": { + "Get an action of alert rule.": { + "$ref": "./examples/actions/GetActionOfAlertRuleById.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Gets the action of alert rule.", + "operationId": "Actions_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/ActionId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/ActionResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an action of alert rule.": { + "$ref": "./examples/actions/CreateActionOfAlertRule.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Creates or updates the action of alert rule.", + "operationId": "Actions_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/ActionId" + }, + { + "$ref": "#/parameters/Action" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/ActionResponse" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ActionResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an action of alert rule.": { + "$ref": "./examples/actions/DeleteActionOfAlertRule.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Delete the action of alert rule.", + "operationId": "Actions_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/ActionId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates": { + "get": { + "x-ms-examples": { + "Get all alert rule templates.": { + "$ref": "./examples/alertRuleTemplates/GetAlertRuleTemplates.json" + } + }, + "tags": [ + "Alert Rule Templates" + ], + "description": "Gets all alert rule templates.", + "operationId": "AlertRuleTemplates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/AlertRuleTemplatesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates/{alertRuleTemplateId}": { + "get": { + "x-ms-examples": { + "Get alert rule template by Id.": { + "$ref": "./examples/alertRuleTemplates/GetAlertRuleTemplateById.json" + } + }, + "tags": [ + "Alert Rule Templates" + ], + "description": "Gets the alert rule template.", + "operationId": "AlertRuleTemplates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AlertRuleTemplateId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/AlertRuleTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ActionsList": { + "description": "List all the actions.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of actions.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of actions.", + "items": { + "$ref": "#/definitions/ActionResponse" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "ActionRequest": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Action for alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ActionRequestProperties", + "description": "Action properties for put request", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "ActionRequestProperties": { + "allOf": [ + { + "$ref": "#/definitions/ActionPropertiesBase" + } + ], + "description": "Action property bag.", + "properties": { + "triggerUri": { + "description": "Logic App Callback URL for this specific workflow.", + "type": "string" + } + }, + "required": [ + "triggerUri" + ], + "type": "object" + }, + "ActionResponse": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Action for alert rule.", + "properties": { + "etag": { + "description": "Etag of the action.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ActionResponseProperties", + "description": "Action properties for get request", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "ActionResponseProperties": { + "allOf": [ + { + "$ref": "#/definitions/ActionPropertiesBase" + } + ], + "description": "Action property bag.", + "properties": { + "workflowId": { + "description": "The name of the logic app's workflow.", + "type": "string" + } + }, + "type": "object" + }, + "ActionPropertiesBase": { + "description": "Action property bag base.", + "properties": { + "logicAppResourceId": { + "description": "Logic App Resource Id, /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.", + "type": "string" + } + }, + "required": [ + "logicAppResourceId" + ], + "type": "object" + }, + "AlertRule": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Alert rule.", + "discriminator": "kind", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/AlertRuleKindEnum", + "description": "The alert rule kind" + } + }, + "type": "object" + }, + "AlertRuleKindEnum": { + "description": "The kind of the alert rule", + "enum": [ + "Scheduled", + "MicrosoftSecurityIncidentCreation", + "Fusion" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertRuleKind", + "values": [ + { + "value": "Scheduled" + }, + { + "value": "MicrosoftSecurityIncidentCreation" + }, + { + "value": "Fusion" + } + ] + } + }, + "AlertRuleTemplate": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Alert rule template.", + "discriminator": "kind", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/AlertRuleKindEnum", + "description": "The alert rule kind", + "type": "string" + } + }, + "type": "object" + }, + "AlertRuleTemplateDataSource": { + "description": "alert rule template data sources", + "properties": { + "connectorId": { + "description": "The connector id that provides the following data types", + "type": "string" + }, + "dataTypes": { + "description": "The data types used by the alert rule template", + "items": { + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "AlertRuleTemplateStatus": { + "description": "The alert rule template status.", + "enum": [ + "Installed", + "Available", + "NotAvailable" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "TemplateStatus", + "values": [ + { + "description": "Alert rule template installed. and can not use more then once", + "value": "Installed" + }, + { + "description": "Alert rule template is available.", + "value": "Available" + }, + { + "description": "Alert rule template is not available", + "value": "NotAvailable" + } + ] + } + }, + "AlertRuleTriggerOperator": { + "description": "The operation against the threshold that triggers alert rule.", + "enum": [ + "GreaterThan", + "LessThan", + "Equal", + "NotEqual" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "TriggerOperator" + } + }, + "AlertRulesList": { + "description": "List all the alert rules.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of alert rules.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of alert rules.", + "items": { + "$ref": "#/definitions/AlertRule" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "AlertRuleTemplatesList": { + "description": "List all the alert rule templates.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of alert rule templates.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of alert rule templates.", + "items": { + "$ref": "#/definitions/AlertRuleTemplate" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "FusionAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents Fusion alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/FusionAlertRuleProperties", + "description": "Fusion alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" + }, + "FusionAlertRuleProperties": { + "description": "Fusion alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "readOnly": true, + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule.", + "readOnly": true + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "required": [ + "alertRuleTemplateName", + "enabled" + ], + "type": "object" + }, + "FusionAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents Fusion alert rule template.", + "properties": { + "properties": { + "$ref": "#/definitions/FusionAlertRuleTemplateProperties", + "description": "Fusion alert rule template properties", + "required": [ + "displayName", + "description", + "status", + "severity", + "alertRulesCreatedByTemplateCount" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" + }, + "FusionAlertRuleTemplateProperties": { + "description": "Represents Fusion alert rule template properties", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "format": "int32", + "type": "integer" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastUpdatedDateUTC": { + "description": "The time that this alert rule template was last updated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the alert rule template.", + "type": "string" + }, + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data connectors for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status.", + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "tactics": { + "description": "The tactics of the alert rule template", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "techniques": { + "description": "The techniques of the alert rule template", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MicrosoftSecurityIncidentCreationAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents MicrosoftSecurityIncidentCreation rule.", + "properties": { + "properties": { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleProperties", + "description": "MicrosoftSecurityIncidentCreation rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" + }, + "MicrosoftSecurityIncidentCreationAlertRuleCommonProperties": { + "description": "MicrosoftSecurityIncidentCreation rule common property bag.", + "properties": { + "displayNamesFilter": { + "description": "the alerts' displayNames on which the cases will be generated", + "items": { + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "productFilter": { + "$ref": "#/definitions/MicrosoftSecurityProductName", + "description": "The alerts' productName on which the cases will be generated" + }, + "severitiesFilter": { + "description": "the alerts' severities on which the cases will be generated", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "required": [ + "productFilter" + ], + "type": "object" + }, + "MicrosoftSecurityIncidentCreationAlertRuleProperties": { + "allOf": [ + { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" + } + ], + "description": "MicrosoftSecurityIncidentCreation rule property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "displayName", + "enabled", + "productFilter" + ], + "type": "object" + }, + "MicrosoftSecurityIncidentCreationAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents MicrosoftSecurityIncidentCreation rule template.", + "properties": { + "properties": { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties", + "description": "MicrosoftSecurityIncidentCreation rule template properties", + "required": [ + "displayName", + "description", + "createdDateUTC", + "status", + "alertRulesCreatedByTemplateCount", + "productFilter" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" + }, + "MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties": { + "description": "MicrosoftSecurityIncidentCreation rule template properties", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "format": "int32", + "type": "integer" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastUpdatedDateUTC": { + "description": "The time that this alert rule template was last updated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the alert rule template.", + "type": "string" + }, + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data connectors for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status.", + "type": "string" + }, + "displayNamesFilter": { + "description": "the alerts' displayNames on which the cases will be generated", + "items": { + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "productFilter": { + "$ref": "#/definitions/MicrosoftSecurityProductName", + "description": "The alerts' productName on which the cases will be generated" + }, + "severitiesFilter": { + "description": "the alerts' severities on which the cases will be generated", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "MicrosoftSecurityProductName": { + "description": "The alerts' productName on which the cases will be generated", + "enum": [ + "Microsoft Cloud App Security", + "Azure Security Center", + "Azure Advanced Threat Protection", + "Azure Active Directory Identity Protection", + "Azure Security Center for IoT" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MicrosoftSecurityProductName" + } + }, + "ScheduledAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents scheduled alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ScheduledAlertRuleProperties", + "description": "Scheduled alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Scheduled" + }, + "ScheduledAlertRuleCommonProperties": { + "description": "Scheduled alert rule template property bag.", + "properties": { + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "queryFrequency": { + "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.", + "format": "duration", + "type": "string" + }, + "queryPeriod": { + "description": "The period (in ISO 8601 duration format) that this alert rule looks at.", + "format": "duration", + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "triggerOperator": { + "$ref": "#/definitions/AlertRuleTriggerOperator", + "description": "The operation against the threshold that triggers alert rule." + }, + "triggerThreshold": { + "description": "The threshold triggers this alert rule.", + "format": "int32", + "type": "integer" + }, + "eventGroupingSettings": { + "$ref": "#/definitions/EventGroupingSettings", + "description": "The event grouping settings." + }, + "customDetails": { + "description": "Dictionary of string key-value pairs of columns to be attached to the alert", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappings", + "description": "Array of the entity mappings of the alert rule" + }, + "alertDetailsOverride": { + "type": "object", + "$ref": "#/definitions/AlertDetailsOverride", + "description": "The alert details override settings" + } + }, + "type": "object" + }, + "EventGroupingSettings": { + "description": "Event grouping settings property bag.", + "properties": { + "aggregationKind": { + "$ref": "#/definitions/EventGroupingAggregationKind" + } + }, + "type": "object" + }, + "EventGroupingAggregationKind": { + "description": "The event grouping aggregation kinds", + "enum": [ + "SingleAlert", + "AlertPerResult" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EventGroupingAggregationKind" + } + }, + "EntityMappings": { + "description": "List of entity mappings of the alert rule", + "type": "array", + "items": { + "$ref": "#/definitions/EntityMapping" + }, + "x-ms-identifiers": [] + }, + "EntityMapping": { + "description": "Single entity mapping for the alert rule", + "properties": { + "entityType": { + "$ref": "#/definitions/EntityMappingType" + }, + "fieldMappings": { + "description": "array of field mappings for the given entity mapping", + "type": "array", + "items": { + "$ref": "#/definitions/FieldMapping" + }, + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "FieldMapping": { + "description": "A single field mapping of the mapped entity", + "properties": { + "identifier": { + "description": "the V3 identifier of the entity", + "type": "string" + }, + "columnName": { + "description": "the column name to be mapped to the identifier", + "type": "string" + } + }, + "type": "object" + }, + "AlertDetailsOverride": { + "description": "Settings for how to dynamically override alert static details", + "properties": { + "alertDisplayNameFormat": { + "description": "the format containing columns name(s) to override the alert name", + "type": "string" + }, + "alertDescriptionFormat": { + "description": "the format containing columns name(s) to override the alert description", + "type": "string" + }, + "alertTacticsColumnName": { + "description": "the column name to take the alert tactics from", + "type": "string" + }, + "alertSeverityColumnName": { + "description": "the column name to take the alert severity from", + "type": "string" + }, + "alertDynamicProperties": { + "description": "List of additional dynamic properties to override", + "type": "array", + "items": { + "$ref": "#/definitions/AlertPropertyMapping" + }, + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "AlertPropertyMapping": { + "description": "A single alert property mapping to override", + "properties": { + "alertProperty": { + "$ref": "#/definitions/AlertProperty" + }, + "value": { + "description": "the column name to use to override this property", + "type": "string" + } + }, + "type": "object" + }, + "IncidentConfiguration": { + "description": "Incident Configuration property bag.", + "properties": { + "createIncident": { + "description": "Create incidents from alerts triggered by this analytics rule", + "type": "boolean" + }, + "groupingConfiguration": { + "$ref": "#/definitions/GroupingConfiguration", + "description": "Set how the alerts that are triggered by this analytics rule, are grouped into incidents" + } + }, + "type": "object", + "required": [ + "createIncident" + ] + }, + "GroupingConfiguration": { + "description": "Grouping configuration property bag.", + "properties": { + "enabled": { + "description": "Grouping enabled", + "type": "boolean" + }, + "reopenClosedIncident": { + "description": "Re-open closed matching incidents", + "type": "boolean" + }, + "lookbackDuration": { + "description": "Limit the group to alerts created within the lookback duration (in ISO 8601 duration format)", + "format": "duration", + "type": "string" + }, + "matchingMethod": { + "description": "Grouping matching method. When method is Selected at least one of groupByEntities, groupByAlertDetails, groupByCustomDetails must be provided and not empty.", + "enum": [ + "AllEntities", + "AnyAlert", + "Selected" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MatchingMethod", + "values": [ + { + "description": "Grouping alerts into a single incident if all the entities match", + "value": "AllEntities" + }, + { + "description": "Grouping any alerts triggered by this rule into a single incident", + "value": "AnyAlert" + }, + { + "description": "Grouping alerts into a single incident if the selected entities, custom details and alert details match", + "value": "Selected" + } + ] + } + }, + "groupByEntities": { + "description": "A list of entity types to group by (when matchingMethod is Selected). Only entities defined in the current alert rule may be used.", + "items": { + "$ref": "#/definitions/EntityMappingType" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "groupByAlertDetails": { + "description": "A list of alert details to group by (when matchingMethod is Selected)", + "items": { + "description": "Alert detail", + "enum": [ + "DisplayName", + "Severity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertDetail", + "values": [ + { + "description": "Alert display name", + "value": "DisplayName" + }, + { + "description": "Alert severity", + "value": "Severity" + } + ] + } + }, + "type": "array", + "x-ms-identifiers": [] + }, + "groupByCustomDetails": { + "description": "A list of custom details keys to group by (when matchingMethod is Selected). Only keys defined in the current alert rule may be used.", + "items": { + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "enabled", + "reopenClosedIncident", + "lookbackDuration", + "matchingMethod" + ] + }, + "ScheduledAlertRuleProperties": { + "allOf": [ + { + "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" + } + ], + "description": "Scheduled alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "templateVersion": { + "description": "The version of the alert rule template used to create this rule - in format , where all are numbers, for example 0 <1.0.2>", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert rule has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "suppressionDuration": { + "description": "The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.", + "format": "duration", + "type": "string" + }, + "suppressionEnabled": { + "description": "Determines whether the suppression for this alert rule is enabled or disabled.", + "type": "boolean" + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "type": "array" + }, + "incidentConfiguration": { + "$ref": "#/definitions/IncidentConfiguration", + "description": "The settings of the incidents that created from alerts triggered by this analytics rule" + } + }, + "required": [ + "displayName", + "enabled", + "severity", + "query", + "queryFrequency", + "queryPeriod", + "triggerOperator", + "triggerThreshold", + "suppressionEnabled", + "suppressionDuration" + ], + "type": "object" + }, + "ScheduledAlertRuleTemplateProperties": { + "description": "Scheduled alert rule template properties", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "format": "int32", + "type": "integer" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastUpdatedDateUTC": { + "description": "The time that this alert rule template was last updated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the alert rule template.", + "type": "string" + }, + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data connectors for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status.", + "type": "string" + }, + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "queryFrequency": { + "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.", + "format": "duration", + "type": "string" + }, + "queryPeriod": { + "description": "The period (in ISO 8601 duration format) that this alert rule looks at.", + "format": "duration", + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "triggerOperator": { + "$ref": "#/definitions/AlertRuleTriggerOperator", + "description": "The operation against the threshold that triggers alert rule." + }, + "triggerThreshold": { + "description": "The threshold triggers this alert rule.", + "format": "int32", + "type": "integer" + }, + "tactics": { + "description": "The tactics of the alert rule template", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "techniques": { + "description": "The techniques of the alert rule template", + "items": { + "type": "string" + }, + "type": "array" + }, + "version": { + "description": "The version of this template - in format , where all are numbers. For example <1.0.2>.", + "type": "string" + }, + "eventGroupingSettings": { + "$ref": "#/definitions/EventGroupingSettings", + "description": "The event grouping settings." + }, + "customDetails": { + "description": "Dictionary of string key-value pairs of columns to be attached to the alert", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappings", + "description": "Array of the entity mappings of the alert rule" + }, + "alertDetailsOverride": { + "type": "object", + "$ref": "#/definitions/AlertDetailsOverride", + "description": "The alert details override settings" + } + }, + "type": "object" + }, + "ScheduledAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents scheduled alert rule template.", + "properties": { + "properties": { + "$ref": "#/definitions/ScheduledAlertRuleTemplateProperties", + "description": "Scheduled alert rule template properties", + "required": [ + "displayName", + "description", + "status", + "alertRulesCreatedByTemplateCount", + "severity", + "query", + "queryFrequency", + "queryPeriod", + "triggerOperator", + "triggerThreshold", + "version" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Scheduled" + }, + "EntityMappingType": { + "description": "The V3 type of the mapped entity", + "enum": [ + "Account", + "Host", + "IP", + "Malware", + "File", + "Process", + "CloudApplication", + "DNS", + "AzureResource", + "FileHash", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "URL", + "Mailbox", + "MailCluster", + "MailMessage", + "SubmissionMail" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityMappingType", + "values": [ + { + "description": "User account entity type", + "value": "Account" + }, + { + "description": "Host entity type", + "value": "Host" + }, + { + "description": "IP address entity type", + "value": "IP" + }, + { + "description": "Malware entity type", + "value": "Malware" + }, + { + "description": "System file entity type", + "value": "File" + }, + { + "description": "Process entity type", + "value": "Process" + }, + { + "description": "Cloud app entity type", + "value": "CloudApplication" + }, + { + "description": "DNS entity type", + "value": "DNS" + }, + { + "description": "Azure resource entity type", + "value": "AzureResource" + }, + { + "description": "File-hash entity type", + "value": "FileHash" + }, + { + "description": "Registry key entity type", + "value": "RegistryKey" + }, + { + "description": "Registry value entity type", + "value": "RegistryValue" + }, + { + "description": "Security group entity type", + "value": "SecurityGroup" + }, + { + "description": "URL entity type", + "value": "URL" + }, + { + "description": "Mailbox entity type", + "value": "Mailbox" + }, + { + "description": "Mail cluster entity type", + "value": "MailCluster" + }, + { + "description": "Mail message entity type", + "value": "MailMessage" + }, + { + "description": "Submission mail entity type", + "value": "SubmissionMail" + } + ] + } + }, + "AlertProperty": { + "description": "The V3 alert property", + "enum": [ + "AlertLink", + "ConfidenceLevel", + "ConfidenceScore", + "ExtendedLinks", + "ProductName", + "ProviderName", + "ProductComponentName", + "RemediationSteps", + "Techniques" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertProperty", + "values": [ + { + "description": "Alert's link", + "value": "AlertLink" + }, + { + "description": "Confidence level property", + "value": "ConfidenceLevel" + }, + { + "description": "Confidence score", + "value": "ConfidenceScore" + }, + { + "description": "Extended links to the alert", + "value": "ExtendedLinks" + }, + { + "description": "Product name alert property", + "value": "ProductName" + }, + { + "description": "Provider name alert property", + "value": "ProviderName" + }, + { + "description": "Product component name alert property", + "value": "ProductComponentName" + }, + { + "description": "Remediation steps alert property", + "value": "RemediationSteps" + }, + { + "description": "Techniques alert property", + "value": "Techniques" + } + ] + } + } + }, + "parameters": { + "Action": { + "description": "The action", + "in": "body", + "name": "action", + "required": true, + "schema": { + "$ref": "#/definitions/ActionRequest" + }, + "x-ms-parameter-location": "method" + }, + "ActionId": { + "description": "Action ID", + "in": "path", + "name": "actionId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AlertRule": { + "description": "The alert rule", + "in": "body", + "name": "alertRule", + "required": true, + "schema": { + "$ref": "#/definitions/AlertRule" + }, + "x-ms-parameter-location": "method" + }, + "AlertRuleTemplateId": { + "description": "Alert rule template ID", + "in": "path", + "name": "alertRuleTemplateId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RuleId": { + "description": "Alert rule ID", + "in": "path", + "name": "ruleId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/AutomationRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/AutomationRules.json new file mode 100644 index 000000000000..fcad3f404d7a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/AutomationRules.json @@ -0,0 +1,1151 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01", + "x-ms-code-generation-settings": { + "name": "SecurityInsights" + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}": { + "get": { + "tags": [ + "automationRules" + ], + "description": "Gets the automation rule.", + "operationId": "AutomationRules_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AutomationRuleId" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_Get": { + "$ref": "./examples/automationRules/AutomationRules_Get.json" + } + } + }, + "put": { + "tags": [ + "automationRules" + ], + "description": "Creates or updates the automation rule.", + "operationId": "AutomationRules_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AutomationRuleId" + }, + { + "in": "body", + "name": "automationRuleToUpsert", + "description": "The automation rule", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_CreateOrUpdate": { + "$ref": "./examples/automationRules/AutomationRules_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "automationRules" + ], + "description": "Delete the automation rule.", + "operationId": "AutomationRules_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AutomationRuleId" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "type": "object" + } + }, + "204": { + "description": "No Content", + "schema": { + "type": "object" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_Delete": { + "$ref": "./examples/automationRules/AutomationRules_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules": { + "get": { + "tags": [ + "automationRules" + ], + "description": "Gets all automation rules.", + "operationId": "AutomationRules_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AutomationRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AutomationRules_List": { + "$ref": "./examples/automationRules/AutomationRules_List.json" + } + } + } + } + }, + "definitions": { + "ActionType": { + "description": "The type of the automation rule action.", + "enum": [ + "ModifyProperties", + "RunPlaybook" + ], + "type": "string", + "example": "ModifyProperties", + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true, + "values": [ + { + "value": "ModifyProperties", + "description": "Modify an object's properties" + }, + { + "value": "RunPlaybook", + "description": "Run a playbook on an object" + } + ] + } + }, + "AutomationRule": { + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "properties": { + "properties": { + "type": "object", + "$ref": "#/definitions/AutomationRuleProperties", + "x-ms-client-flatten": true + } + } + }, + "AutomationRuleAction": { + "description": "Describes an automation rule action.", + "required": [ + "actionType", + "order" + ], + "type": "object", + "properties": { + "order": { + "format": "int32", + "type": "integer" + }, + "actionType": { + "$ref": "#/definitions/ActionType" + } + }, + "discriminator": "actionType" + }, + "AutomationRuleCondition": { + "description": "Describes an automation rule condition.", + "required": [ + "conditionType" + ], + "type": "object", + "properties": { + "conditionType": { + "$ref": "#/definitions/ConditionType" + } + }, + "discriminator": "conditionType" + }, + "AutomationRuleModifyPropertiesAction": { + "description": "Describes an automation rule action to modify an object's properties", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleAction" + } + ], + "properties": { + "actionConfiguration": { + "type": "object", + "$ref": "#/definitions/IncidentPropertiesAction" + } + }, + "x-ms-client-flatten": true, + "x-ms-discriminator-value": "ModifyProperties" + }, + "AutomationRuleProperties": { + "description": "Automation rule properties", + "required": [ + "actions", + "displayName", + "order", + "triggeringLogic" + ], + "type": "object", + "properties": { + "displayName": { + "description": "The display name of the automation rule.", + "type": "string", + "maxLength": 500 + }, + "order": { + "format": "int32", + "description": "The order of execution of the automation rule.", + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "triggeringLogic": { + "$ref": "#/definitions/AutomationRuleTriggeringLogic" + }, + "actions": { + "description": "The actions to execute when the automation rule is triggered.", + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRuleAction" + }, + "x-ms-identifiers": [], + "maxItems": 20 + }, + "lastModifiedTimeUtc": { + "format": "date-time", + "description": "The last time the automation rule was updated.", + "type": "string", + "readOnly": true + }, + "createdTimeUtc": { + "format": "date-time", + "description": "The time the automation rule was created.", + "type": "string", + "readOnly": true + }, + "lastModifiedBy": { + "readOnly": true, + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo" + }, + "createdBy": { + "readOnly": true, + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo" + } + } + }, + "AutomationRulePropertyArrayChangedConditionSupportedArrayType": { + "enum": [ + "Alerts", + "Labels", + "Tactics", + "Comments" + ], + "type": "string", + "example": "Alerts", + "x-ms-enum": { + "name": "AutomationRulePropertyArrayChangedConditionSupportedArrayType", + "modelAsString": true, + "values": [ + { + "value": "Alerts", + "description": "Evaluate the condition on the alerts" + }, + { + "value": "Labels", + "description": "Evaluate the condition on the labels" + }, + { + "value": "Tactics", + "description": "Evaluate the condition on the tactics" + }, + { + "value": "Comments", + "description": "Evaluate the condition on the comments" + } + ] + } + }, + "AutomationRulePropertyArrayChangedConditionSupportedChangeType": { + "enum": [ + "Added" + ], + "type": "string", + "example": "Added", + "x-ms-enum": { + "name": "AutomationRulePropertyArrayChangedConditionSupportedChangeType", + "modelAsString": true, + "values": [ + { + "value": "Added", + "description": "Evaluate the condition on items added to the array" + } + ] + } + }, + "AutomationRulePropertyArrayChangedValuesCondition": { + "type": "object", + "properties": { + "arrayType": { + "$ref": "#/definitions/AutomationRulePropertyArrayChangedConditionSupportedArrayType" + }, + "changeType": { + "$ref": "#/definitions/AutomationRulePropertyArrayChangedConditionSupportedChangeType" + } + } + }, + "AutomationRulePropertyChangedConditionSupportedChangedType": { + "enum": [ + "ChangedFrom", + "ChangedTo" + ], + "type": "string", + "example": "ChangedFrom", + "x-ms-enum": { + "name": "AutomationRulePropertyChangedConditionSupportedChangedType", + "modelAsString": true, + "values": [ + { + "value": "ChangedFrom", + "description": "Evaluate the condition on the previous value of the property" + }, + { + "value": "ChangedTo", + "description": "Evaluate the condition on the updated value of the property" + } + ] + } + }, + "AutomationRulePropertyChangedConditionSupportedPropertyType": { + "enum": [ + "IncidentSeverity", + "IncidentStatus", + "IncidentOwner" + ], + "type": "string", + "example": "IncidentSeverity", + "x-ms-enum": { + "name": "AutomationRulePropertyChangedConditionSupportedPropertyType", + "modelAsString": true, + "values": [ + { + "value": "IncidentSeverity", + "description": "Evaluate the condition on the incident severity" + }, + { + "value": "IncidentStatus", + "description": "Evaluate the condition on the incident status" + }, + { + "value": "IncidentOwner", + "description": "Evaluate the condition on the incident owner" + } + ] + } + }, + "AutomationRulePropertyConditionSupportedOperator": { + "enum": [ + "Equals", + "NotEquals", + "Contains", + "NotContains", + "StartsWith", + "NotStartsWith", + "EndsWith", + "NotEndsWith" + ], + "type": "string", + "example": "Equals", + "x-ms-enum": { + "name": "AutomationRulePropertyConditionSupportedOperator", + "modelAsString": true, + "values": [ + { + "value": "Equals", + "description": "Evaluates if the property equals at least one of the condition values" + }, + { + "value": "NotEquals", + "description": "Evaluates if the property does not equal any of the condition values" + }, + { + "value": "Contains", + "description": "Evaluates if the property contains at least one of the condition values" + }, + { + "value": "NotContains", + "description": "Evaluates if the property does not contain any of the condition values" + }, + { + "value": "StartsWith", + "description": "Evaluates if the property starts with any of the condition values" + }, + { + "value": "NotStartsWith", + "description": "Evaluates if the property does not start with any of the condition values" + }, + { + "value": "EndsWith", + "description": "Evaluates if the property ends with any of the condition values" + }, + { + "value": "NotEndsWith", + "description": "Evaluates if the property does not end with any of the condition values" + } + ] + } + }, + "AutomationRulePropertyConditionSupportedProperty": { + "description": "The property to evaluate in an automation rule property condition.", + "enum": [ + "IncidentTitle", + "IncidentDescription", + "IncidentSeverity", + "IncidentStatus", + "IncidentRelatedAnalyticRuleIds", + "IncidentTactics", + "IncidentLabel", + "IncidentProviderName", + "IncidentUpdatedBySource", + "AccountAadTenantId", + "AccountAadUserId", + "AccountName", + "AccountNTDomain", + "AccountPUID", + "AccountSid", + "AccountObjectGuid", + "AccountUPNSuffix", + "AlertProductNames", + "AlertAnalyticRuleIds", + "AzureResourceResourceId", + "AzureResourceSubscriptionId", + "CloudApplicationAppId", + "CloudApplicationAppName", + "DNSDomainName", + "FileDirectory", + "FileName", + "FileHashValue", + "HostAzureID", + "HostName", + "HostNetBiosName", + "HostNTDomain", + "HostOSVersion", + "IoTDeviceId", + "IoTDeviceName", + "IoTDeviceType", + "IoTDeviceVendor", + "IoTDeviceModel", + "IoTDeviceOperatingSystem", + "IPAddress", + "MailboxDisplayName", + "MailboxPrimaryAddress", + "MailboxUPN", + "MailMessageDeliveryAction", + "MailMessageDeliveryLocation", + "MailMessageRecipient", + "MailMessageSenderIP", + "MailMessageSubject", + "MailMessageP1Sender", + "MailMessageP2Sender", + "MalwareCategory", + "MalwareName", + "ProcessCommandLine", + "ProcessId", + "RegistryKey", + "RegistryValueData", + "Url" + ], + "type": "string", + "example": "IncidentTitle", + "x-ms-enum": { + "name": "AutomationRulePropertyConditionSupportedProperty", + "modelAsString": true, + "values": [ + { + "value": "IncidentTitle", + "description": "The title of the incident" + }, + { + "value": "IncidentDescription", + "description": "The description of the incident" + }, + { + "value": "IncidentSeverity", + "description": "The severity of the incident" + }, + { + "value": "IncidentStatus", + "description": "The status of the incident" + }, + { + "value": "IncidentRelatedAnalyticRuleIds", + "description": "The related Analytic rule ids of the incident" + }, + { + "value": "IncidentTactics", + "description": "The tactics of the incident" + }, + { + "value": "IncidentLabel", + "description": "The labels of the incident" + }, + { + "value": "IncidentProviderName", + "description": "The provider name of the incident" + }, + { + "value": "IncidentUpdatedBySource", + "description": "The update source of the incident" + }, + { + "value": "AccountAadTenantId", + "description": "The account Azure Active Directory tenant id" + }, + { + "value": "AccountAadUserId", + "description": "The account Azure Active Directory user id" + }, + { + "value": "AccountName", + "description": "The account name" + }, + { + "value": "AccountNTDomain", + "description": "The account NetBIOS domain name" + }, + { + "value": "AccountPUID", + "description": "The account Azure Active Directory Passport User ID" + }, + { + "value": "AccountSid", + "description": "The account security identifier" + }, + { + "value": "AccountObjectGuid", + "description": "The account unique identifier" + }, + { + "value": "AccountUPNSuffix", + "description": "The account user principal name suffix" + }, + { + "value": "AlertProductNames", + "description": "The name of the product of the alert" + }, + { + "value": "AlertAnalyticRuleIds", + "description": "The analytic rule ids of the alert" + }, + { + "value": "AzureResourceResourceId", + "description": "The Azure resource id" + }, + { + "value": "AzureResourceSubscriptionId", + "description": "The Azure resource subscription id" + }, + { + "value": "CloudApplicationAppId", + "description": "The cloud application identifier" + }, + { + "value": "CloudApplicationAppName", + "description": "The cloud application name" + }, + { + "value": "DNSDomainName", + "description": "The dns record domain name" + }, + { + "value": "FileDirectory", + "description": "The file directory full path" + }, + { + "value": "FileName", + "description": "The file name without path" + }, + { + "value": "FileHashValue", + "description": "The file hash value" + }, + { + "value": "HostAzureID", + "description": "The host Azure resource id" + }, + { + "value": "HostName", + "description": "The host name without domain" + }, + { + "value": "HostNetBiosName", + "description": "The host NetBIOS name" + }, + { + "value": "HostNTDomain", + "description": "The host NT domain" + }, + { + "value": "HostOSVersion", + "description": "The host operating system" + }, + { + "value": "IoTDeviceId", + "description": "\"The IoT device id" + }, + { + "value": "IoTDeviceName", + "description": "The IoT device name" + }, + { + "value": "IoTDeviceType", + "description": "The IoT device type" + }, + { + "value": "IoTDeviceVendor", + "description": "The IoT device vendor" + }, + { + "value": "IoTDeviceModel", + "description": "The IoT device model" + }, + { + "value": "IoTDeviceOperatingSystem", + "description": "The IoT device operating system" + }, + { + "value": "IPAddress", + "description": "The IP address" + }, + { + "value": "MailboxDisplayName", + "description": "The mailbox display name" + }, + { + "value": "MailboxPrimaryAddress", + "description": "The mailbox primary address" + }, + { + "value": "MailboxUPN", + "description": "The mailbox user principal name" + }, + { + "value": "MailMessageDeliveryAction", + "description": "The mail message delivery action" + }, + { + "value": "MailMessageDeliveryLocation", + "description": "The mail message delivery location" + }, + { + "value": "MailMessageRecipient", + "description": "The mail message recipient" + }, + { + "value": "MailMessageSenderIP", + "description": "The mail message sender IP address" + }, + { + "value": "MailMessageSubject", + "description": "The mail message subject" + }, + { + "value": "MailMessageP1Sender", + "description": "The mail message P1 sender" + }, + { + "value": "MailMessageP2Sender", + "description": "The mail message P2 sender" + }, + { + "value": "MalwareCategory", + "description": "The malware category" + }, + { + "value": "MalwareName", + "description": "The malware name" + }, + { + "value": "ProcessCommandLine", + "description": "The process execution command line" + }, + { + "value": "ProcessId", + "description": "The process id" + }, + { + "value": "RegistryKey", + "description": "The registry key path" + }, + { + "value": "RegistryValueData", + "description": "The registry key value in string formatted representation" + }, + { + "value": "Url", + "description": "The url" + } + ] + } + }, + "AutomationRulePropertyValuesChangedCondition": { + "type": "object", + "properties": { + "propertyName": { + "$ref": "#/definitions/AutomationRulePropertyChangedConditionSupportedPropertyType" + }, + "changeType": { + "$ref": "#/definitions/AutomationRulePropertyChangedConditionSupportedChangedType" + }, + "operator": { + "$ref": "#/definitions/AutomationRulePropertyConditionSupportedOperator" + }, + "propertyValues": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AutomationRulePropertyValuesCondition": { + "type": "object", + "properties": { + "propertyName": { + "$ref": "#/definitions/AutomationRulePropertyConditionSupportedProperty" + }, + "operator": { + "$ref": "#/definitions/AutomationRulePropertyConditionSupportedOperator" + }, + "propertyValues": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AutomationRuleRunPlaybookAction": { + "description": "Describes an automation rule action to run a playbook", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleAction" + } + ], + "properties": { + "actionConfiguration": { + "type": "object", + "$ref": "#/definitions/PlaybookActionProperties" + } + }, + "x-ms-client-flatten": true, + "x-ms-discriminator-value": "RunPlaybook" + }, + "AutomationRulesList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRule" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "AutomationRuleTriggeringLogic": { + "description": "Describes automation rule triggering logic.", + "required": [ + "isEnabled", + "triggersOn", + "triggersWhen" + ], + "type": "object", + "properties": { + "isEnabled": { + "description": "Determines whether the automation rule is enabled or disabled.", + "type": "boolean" + }, + "expirationTimeUtc": { + "format": "date-time", + "description": "Determines when the automation rule should automatically expire and be disabled.", + "type": "string" + }, + "triggersOn": { + "$ref": "#/definitions/triggersOn" + }, + "triggersWhen": { + "$ref": "#/definitions/triggersWhen" + }, + "conditions": { + "description": "The conditions to evaluate to determine if the automation rule should be triggered on a given object.", + "type": "array", + "maxItems": 50, + "items": { + "$ref": "#/definitions/AutomationRuleCondition" + }, + "x-ms-identifiers": [ + "conditionType" + ] + } + } + }, + "ConditionType": { + "enum": [ + "Property", + "PropertyChanged", + "PropertyArrayChanged" + ], + "type": "string", + "example": "Property", + "x-ms-enum": { + "name": "ConditionType", + "modelAsString": true, + "values": [ + { + "value": "Property", + "description": "Evaluate an object property value" + }, + { + "value": "PropertyChanged", + "description": "Evaluate an object property changed value" + }, + { + "value": "PropertyArrayChanged", + "description": "Evaluate an object array property changed value" + } + ] + } + }, + "IncidentPropertiesAction": { + "type": "object", + "properties": { + "severity": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentSeverityEnum" + }, + "status": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentStatusEnum" + }, + "classification": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationEnum" + }, + "classificationReason": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationReasonEnum" + }, + "classificationComment": { + "description": "Describes the reason the incident was closed.", + "type": "string" + }, + "owner": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentOwnerInfo" + }, + "labels": { + "description": "List of labels to add to the incident.", + "type": "array", + "x-ms-identifiers": [ + "labelName" + ], + "items": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentLabel" + } + } + } + }, + "PlaybookActionProperties": { + "type": "object", + "required": [ + "logicAppResourceId" + ], + "properties": { + "logicAppResourceId": { + "description": "The resource id of the playbook resource.", + "type": "string" + }, + "tenantId": { + "format": "uuid", + "description": "The tenant id of the playbook resource.", + "type": "string" + } + } + }, + "PropertyArrayChangedConditionProperties": { + "description": "Describes an automation rule condition that evaluates an array property's value change", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleCondition" + } + ], + "properties": { + "conditionProperties": { + "type": "object", + "$ref": "#/definitions/AutomationRulePropertyArrayChangedValuesCondition" + } + }, + "x-ms-discriminator-value": "PropertyArrayChanged", + "x-ms-client-flatten": true + }, + "PropertyChangedConditionProperties": { + "description": "Describes an automation rule condition that evaluates a property's value change", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleCondition" + } + ], + "properties": { + "conditionProperties": { + "type": "object", + "$ref": "#/definitions/AutomationRulePropertyValuesChangedCondition" + } + }, + "x-ms-discriminator-value": "PropertyChanged", + "x-ms-client-flatten": true + }, + "PropertyConditionProperties": { + "description": "Describes an automation rule condition that evaluates a property's value", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleCondition" + } + ], + "properties": { + "conditionProperties": { + "type": "object", + "$ref": "#/definitions/AutomationRulePropertyValuesCondition" + } + }, + "x-ms-client-flatten": true, + "x-ms-discriminator-value": "Property" + }, + "triggersOn": { + "enum": [ + "Incidents", + "Alerts" + ], + "type": "string", + "example": "Incidents", + "x-ms-enum": { + "name": "triggersOn", + "modelAsString": true, + "values": [ + { + "value": "Incidents", + "description": "Trigger on Incidents" + }, + { + "value": "Alerts", + "description": "Trigger on Alerts" + } + ] + } + }, + "triggersWhen": { + "enum": [ + "Created", + "Updated" + ], + "type": "string", + "example": "Created", + "x-ms-enum": { + "name": "triggersWhen", + "modelAsString": true, + "values": [ + { + "value": "Created", + "description": "Trigger on created objects" + }, + { + "value": "Updated", + "description": "Trigger on updated objects" + } + ] + } + } + }, + "parameters": { + "AutomationRule": { + "name": "automationRule", + "description": "The automation rule", + "required": true, + "in": "body", + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "AutomationRuleId": { + "in": "path", + "name": "automationRuleId", + "description": "Automation rule ID", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/Bookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/Bookmarks.json new file mode 100644 index 000000000000..b4d0aa10b0ce --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/Bookmarks.json @@ -0,0 +1,355 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks": { + "get": { + "x-ms-examples": { + "Get all bookmarks.": { + "$ref": "./examples/bookmarks/GetBookmarks.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Gets all bookmarks.", + "operationId": "Bookmarks_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/BookmarkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}": { + "get": { + "x-ms-examples": { + "Get a bookmark.": { + "$ref": "./examples/bookmarks/GetBookmarkById.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Gets a bookmark.", + "operationId": "Bookmarks_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a bookmark.": { + "$ref": "./examples/bookmarks/CreateBookmark.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Creates or updates the bookmark.", + "operationId": "Bookmarks_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "#/parameters/Bookmark" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a bookmark.": { + "$ref": "./examples/bookmarks/DeleteBookmark.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Delete the bookmark.", + "operationId": "Bookmarks_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "Bookmark": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a bookmark in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/BookmarkProperties", + "description": "Bookmark properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "BookmarkList": { + "description": "List all the bookmarks.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of cases.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of bookmarks.", + "items": { + "$ref": "#/definitions/Bookmark" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "BookmarkProperties": { + "description": "Describes bookmark properties", + "properties": { + "created": { + "description": "The time the bookmark was created", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "displayName": { + "description": "The display name of the bookmark", + "type": "string" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + }, + "notes": { + "description": "The notes of the bookmark", + "type": "string" + }, + "query": { + "description": "The query of the bookmark.", + "type": "string" + }, + "queryResult": { + "description": "The query result of the bookmark.", + "type": "string" + }, + "updated": { + "description": "The last time the bookmark was updated", + "format": "date-time", + "type": "string" + }, + "updatedBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the bookmark", + "type": "object" + }, + "eventTime": { + "description": "The bookmark event time", + "format": "date-time", + "type": "string" + }, + "queryStartTime": { + "description": "The start time for the query", + "format": "date-time", + "type": "string" + }, + "queryEndTime": { + "description": "The end time for the query", + "format": "date-time", + "type": "string" + }, + "incidentInfo": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentInfo", + "description": "Describes an incident that relates to bookmark", + "type": "object" + } + }, + "required": [ + "displayName", + "query" + ], + "type": "object" + } + }, + "parameters": { + "Bookmark": { + "description": "The bookmark", + "in": "body", + "name": "bookmark", + "required": true, + "schema": { + "$ref": "#/definitions/Bookmark" + }, + "x-ms-parameter-location": "method" + }, + "BookmarkId": { + "description": "Bookmark ID", + "in": "path", + "name": "bookmarkId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ContentPackages.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ContentPackages.json new file mode 100644 index 000000000000..8fc491bf6b68 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ContentPackages.json @@ -0,0 +1,319 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentPackages": { + "get": { + "x-ms-examples": { + "Get all available packages.": { + "$ref": "./examples/contentPackages/GetPackages.json" + } + }, + "tags": [ + "ContentPackages" + ], + "description": "Gets all installed packages.", + "operationId": "ContentPackages_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSearch" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataCount" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkip" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/packageList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentPackages/{packageId}": { + "get": { + "x-ms-examples": { + "Get installed packages by id.": { + "$ref": "./examples/contentPackages/GetPackageById.json" + } + }, + "tags": [ + "ContentPackages" + ], + "description": "Gets an installed packages by its id.", + "operationId": "ContentPackages_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/PackageIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/packageModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Install a package to the workspace.": { + "$ref": "./examples/contentPackages/InstallPackage.json" + } + }, + "tags": [ + "ContentPackages" + ], + "description": "Install a package to the workspace.", + "operationId": "ContentPackage_Install", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/PackageIdParameter" + }, + { + "$ref": "#/parameters/PackageInstallationProperties" + } + ], + "responses": { + "200": { + "description": "OK, a package is updated.", + "schema": { + "$ref": "#/definitions/packageModel" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/packageModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Uninstall a package from the workspace.": { + "$ref": "./examples/contentPackages/UninstallPackage.json" + } + }, + "tags": [ + "ContentPackages" + ], + "description": "Uninstall a package from the workspace.", + "operationId": "ContentPackage_Uninstall", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/PackageIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "packageList": { + "description": "List available packages.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of packages.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of packages.", + "items": { + "$ref": "#/definitions/packageModel" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "packageModel": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Package in Azure Security Insights.", + "properties": { + "properties": { + "description": "package properties", + "$ref": "#/definitions/packageProperties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "packageProperties": { + "description": "Describes package properties", + "allOf": [ + { + "$ref": "./common/ContentCommonTypes.json#/definitions/packageBaseProperties" + } + ], + "required": [ + "contentId", + "contentProductId", + "contentKind", + "version", + "displayName" + ], + "type": "object" + } + }, + "parameters": { + "PackageIdParameter": { + "description": "package Id", + "in": "path", + "name": "packageId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PackageInstallationProperties": { + "description": "Package installation properties", + "in": "body", + "name": "packageInstallationProperties", + "required": true, + "schema": { + "$ref": "#/definitions/packageModel" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ContentProductPackages.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ContentProductPackages.json new file mode 100644 index 000000000000..bd335a6dcaf0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ContentProductPackages.json @@ -0,0 +1,232 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentProductPackages": { + "get": { + "x-ms-examples": { + "Get all available packages.": { + "$ref": "./examples/contentPackages/GetProductPackages.json" + } + }, + "tags": [ + "ContentProductPackages" + ], + "description": "Gets all packages from the catalog.\nExpandable properties:\n- properties/installed\n- properties/packagedContent", + "operationId": "ProductPackages_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/productPackageList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentProductPackages/{packageId}": { + "get": { + "x-ms-examples": { + "Get a package.": { + "$ref": "./examples/contentPackages/GetProductPackageById.json" + } + }, + "tags": [ + "ContentProductPackages" + ], + "description": "Gets a package by its identifier from the catalog.", + "operationId": "ProductPackage_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/PackageIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/productPackageModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "productPackageList": { + "description": "List available packages.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of packages.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of packages.", + "items": { + "$ref": "#/definitions/productPackageModel" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "productPackageModel": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Package in Azure Security Insights.", + "properties": { + "properties": { + "description": "package properties", + "$ref": "#/definitions/productPackageProperties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "productPackageProperties": { + "description": "Describes package properties", + "allOf": [ + { + "$ref": "./common/ContentCommonTypes.json#/definitions/packageBaseProperties", + "description": "The content id of the package" + }, + { + "$ref": "#/definitions/productPackageAdditionalProperties", + "description": "The package kind" + } + ], + "required": [ + "contentId", + "contentKind", + "version", + "displayName" + ], + "type": "object" + }, + "productPackageAdditionalProperties": { + "description": "product package additional properties", + "properties": { + "installedVersion": { + "$ref": "./common/ContentCommonTypes.json#/definitions/metadataVersion", + "description": "The version of the installed package, null or absent means not installed." + }, + "metadataResourceId": { + "description": "The metadata resource id.", + "type": "string", + "format": "arm-id" + }, + "packagedContent": { + "$ref": "#/definitions/packagedContent", + "description": "The json of the ARM template to deploy. Expandable." + } + }, + "type": "object" + }, + "packagedContent": { + "type": "object", + "description": "The json of the ARM template to deploy" + } + }, + "parameters": { + "PackageIdParameter": { + "description": "package Id", + "in": "path", + "name": "packageId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ContentProductTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ContentProductTemplates.json new file mode 100644 index 000000000000..95392e5f6cb4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ContentProductTemplates.json @@ -0,0 +1,226 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentProductTemplates": { + "get": { + "x-ms-examples": { + "Get all installed templates.": { + "$ref": "./examples/contentTemplates/GetProductTemplates.json" + } + }, + "tags": [ + "ContentProductTemplates" + ], + "description": "Gets all templates in the catalog.", + "operationId": "ProductTemplates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSearch" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataCount" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkip" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/productTemplateList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentproducttemplates/{templateId}": { + "get": { + "x-ms-examples": { + "Get a template.": { + "$ref": "./examples/contentTemplates/GetProductTemplateById.json" + } + }, + "tags": [ + "ContentProductTemplates" + ], + "description": "Gets a template by its identifier.", + "operationId": "ProductTemplate_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/templateIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/productTemplateModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "productTemplateList": { + "description": "List of all the template.", + "type": "object", + "properties": { + "value": { + "description": "Array of templates.", + "items": { + "$ref": "#/definitions/productTemplateModel" + }, + "type": "array" + }, + "nextLink": { + "description": "URL to fetch the next page of template.", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "productTemplateModel": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Template resource definition.", + "properties": { + "properties": { + "description": "template properties", + "$ref": "#/definitions/productTemplateProperties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "productTemplateProperties": { + "allOf": [ + { + "$ref": "./common/ContentCommonTypes.json#/definitions/templateBaseProperties" + }, + { + "$ref": "#/definitions/productTemplateAdditionalProperties" + } + ], + "description": "Template property bag.", + "required": [ + "contentId", + "version", + "displayName", + "contentKind", + "source" + ] + }, + "productTemplateAdditionalProperties": { + "description": "additional properties of product template.", + "type": "object", + "properties": { + "packagedContent": { + "type": "object", + "description": "The json of the ARM template to deploy" + } + } + } + }, + "parameters": { + "templateIdParameter": { + "description": "template Id", + "in": "path", + "name": "templateId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ContentTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ContentTemplates.json new file mode 100644 index 000000000000..520c01ae5213 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ContentTemplates.json @@ -0,0 +1,353 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentTemplates": { + "get": { + "x-ms-examples": { + "Get all installed templates.": { + "$ref": "./examples/contentTemplates/GetTemplates.json" + } + }, + "tags": [ + "ContentTemplates" + ], + "description": "Gets all installed templates.\nExpandable properties:\n- properties/mainTemplate\n- properties/dependantTemplates", + "operationId": "ContentTemplates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataExpand" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSearch" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataCount" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkip" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/templateList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/contentTemplates/{templateId}": { + "put": { + "x-ms-examples": { + "Get a template.": { + "$ref": "./examples/contentTemplates/InstallTemplate.json" + } + }, + "tags": [ + "ContentTemplates" + ], + "description": "Install a template.", + "operationId": "ContentTemplate_Install", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/templateIdParameter" + }, + { + "$ref": "#/parameters/templateInstallationProperties" + } + ], + "responses": { + "200": { + "description": "OK, a template is updated.", + "schema": { + "$ref": "#/definitions/templateModel" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/templateModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "get": { + "x-ms-examples": { + "Get a template.": { + "$ref": "./examples/contentTemplates/GetTemplateById.json" + } + }, + "tags": [ + "ContentTemplates" + ], + "description": "Gets a template byt its identifier.\nExpandable properties:\n- properties/mainTemplate\n- properties/dependantTemplates", + "operationId": "ContentTemplate_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/templateIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/templateModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete metadata.": { + "$ref": "./examples/contentTemplates/DeleteTemplate.json" + } + }, + "tags": [ + "ContentTemplates" + ], + "description": "Delete an installed template.", + "operationId": "ContentTemplate_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/templateIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "templateList": { + "description": "List of all the template.", + "type": "object", + "properties": { + "value": { + "description": "Array of templates.", + "items": { + "$ref": "#/definitions/templateModel" + }, + "type": "array" + }, + "nextLink": { + "description": "URL to fetch the next page of template.", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "templateModel": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Template resource definition.", + "properties": { + "properties": { + "description": "template properties", + "$ref": "#/definitions/templateProperties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "templateProperties": { + "allOf": [ + { + "$ref": "./common/ContentCommonTypes.json#/definitions/templateBaseProperties" + }, + { + "$ref": "#/definitions/templateAdditionalProperties" + } + ], + "description": "Template property bag.", + "required": [ + "contentId", + "version", + "displayName", + "contentKind", + "source", + "packageId", + "packageVersion", + "contentProductId" + ], + "type": "object" + }, + "templateAdditionalProperties": { + "description": "additional properties of product template.", + "type": "object", + "properties": { + "mainTemplate": { + "$ref": "#/definitions/mainTemplate", + "description": "The JSON of the ARM template to deploy active content. Expandable." + }, + "dependantTemplates": { + "type": "array", + "items": { + "$ref": "#/definitions/templateProperties" + }, + "description": "Dependant templates. Expandable.", + "readOnly": true, + "x-ms-identifiers": [ + "contentId" + ] + } + } + }, + "mainTemplate": { + "description": "The JSON of the ARM template to deploy active content", + "type": "object" + } + }, + "parameters": { + "templateIdParameter": { + "description": "template Id", + "in": "path", + "name": "templateId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "templateInstallationProperties": { + "description": "Template installation properties", + "in": "body", + "name": "templateInstallationProperties", + "required": true, + "schema": { + "$ref": "#/definitions/templateModel" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/DataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/DataConnectors.json new file mode 100644 index 000000000000..d30c80cccbc6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/DataConnectors.json @@ -0,0 +1,739 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors": { + "get": { + "x-ms-examples": { + "Get all data connectors.": { + "$ref": "./examples/dataConnectors/GetDataConnectors.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Gets all data connectors.", + "operationId": "DataConnectors_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/DataConnectorList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}": { + "get": { + "x-ms-examples": { + "Get an Office365 data connector.": { + "$ref": "./examples/dataConnectors/GetOfficeDataConnetorById.json" + }, + "Get a TI data connector.": { + "$ref": "./examples/dataConnectors/GetThreatIntelligenceById.json" + }, + "Get a MCAS data connector.": { + "$ref": "./examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json" + }, + "Get a ASC data connector.": { + "$ref": "./examples/dataConnectors/GetAzureSecurityCenterById.json" + }, + "Get an AAD data connector.": { + "$ref": "./examples/dataConnectors/GetAzureActiveDirectoryById.json" + }, + "Get an AwsCloudTrail data connector.": { + "$ref": "./examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json" + }, + "Get an AATP data connector.": { + "$ref": "./examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json" + }, + "Get a MDATP data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Gets a data connector.", + "operationId": "DataConnectors_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/DataConnector" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an Office365 data connector.": { + "$ref": "./examples/dataConnectors/CreateOfficeDataConnetor.json" + }, + "Creates or updates an Threat Intelligence Platform data connector.": { + "$ref": "./examples/dataConnectors/CreateThreatIntelligenceDataConnector.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Creates or updates the data connector.", + "operationId": "DataConnectors_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + }, + { + "$ref": "#/parameters/DataConnector" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/DataConnector" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DataConnector" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an Office365 data connector.": { + "$ref": "./examples/dataConnectors/DeleteOfficeDataConnetor.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Delete the data connector.", + "operationId": "DataConnectors_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AADDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AAD (Azure Active Directory) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AADDataConnectorProperties", + "description": "AAD (Azure Active Directory) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "AADDataConnectorProperties": { + "description": "AAD (Azure Active Directory) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "AATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AATP (Azure Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AATPDataConnectorProperties", + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureAdvancedThreatProtection" + }, + "AATPDataConnectorProperties": { + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "ASCDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents ASC (Azure Security Center) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/ASCDataConnectorProperties", + "description": "ASC (Azure Security Center) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureSecurityCenter" + }, + "ASCDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "ASC (Azure Security Center) data connector properties.", + "properties": { + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "AlertsDataTypeOfDataConnector": { + "description": "Alerts data type for data connectors.", + "properties": { + "alerts": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Alerts data type connection.", + "type": "object" + } + }, + "type": "object" + }, + "AwsCloudTrailDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Amazon Web Services CloudTrail data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AwsCloudTrailDataConnectorProperties", + "description": "Amazon Web Services CloudTrail data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" + }, + "AwsCloudTrailDataConnectorDataTypes": { + "description": "The available data types for Amazon Web Services CloudTrail data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object" + }, + "AwsCloudTrailDataConnectorProperties": { + "description": "Amazon Web Services CloudTrail data connector properties.", + "properties": { + "awsRoleArn": { + "description": "The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access the Aws account.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AwsCloudTrailDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "DataConnector": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Data connector.", + "discriminator": "kind", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/DataConnectorKind", + "description": "The data connector kind" + } + }, + "type": "object" + }, + "DataConnectorKind": { + "description": "The kind of the data connector", + "enum": [ + "AzureActiveDirectory", + "AzureSecurityCenter", + "MicrosoftCloudAppSecurity", + "ThreatIntelligence", + "Office365", + "AmazonWebServicesCloudTrail", + "AzureAdvancedThreatProtection", + "MicrosoftDefenderAdvancedThreatProtection" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorKind", + "values": [ + { + "value": "AzureActiveDirectory" + }, + { + "value": "AzureSecurityCenter" + }, + { + "value": "MicrosoftCloudAppSecurity" + }, + { + "value": "ThreatIntelligence" + }, + { + "value": "Office365" + }, + { + "value": "AmazonWebServicesCloudTrail" + }, + { + "value": "AzureAdvancedThreatProtection" + }, + { + "value": "MicrosoftDefenderAdvancedThreatProtection" + } + ] + } + }, + "DataConnectorList": { + "description": "List all the data connectors.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of data connectors.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of data connectors.", + "items": { + "$ref": "#/definitions/DataConnector" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "DataConnectorDataTypeCommon": { + "description": "Common field for data type in data connectors.", + "properties": { + "state": { + "description": "Describe whether this data type connection is enabled or not.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataTypeState" + } + } + }, + "type": "object" + }, + "DataConnectorTenantId": { + "description": "Properties data connector on tenant level.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "DataConnectorWithAlertsProperties": { + "description": "Data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "MCASDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MCAS (Microsoft Cloud App Security) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MCASDataConnectorProperties", + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + }, + "MCASDataConnectorDataTypes": { + "allOf": [ + { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector" + } + ], + "description": "The available data types for MCAS (Microsoft Cloud App Security) data connector.", + "properties": { + "alerts": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Alerts data type connection." + }, + "discoveryLogs": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Discovery log data type connection." + } + }, + "type": "object" + }, + "MCASDataConnectorProperties": { + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/MCASDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "MDATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MDATPDataConnectorProperties", + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" + }, + "MDATPDataConnectorProperties": { + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "TIDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents threat intelligence data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/TIDataConnectorProperties", + "description": "TI (Threat Intelligence) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "TIDataConnectorDataTypes": { + "description": "The available data types for TI (Threat Intelligence) data connector.", + "properties": { + "indicators": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Data type for indicators connection.", + "type": "object" + } + }, + "type": "object" + }, + "TIDataConnectorProperties": { + "description": "TI (Threat Intelligence) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "tipLookbackPeriod": { + "description": "The lookback period for the feed to be imported.", + "format": "date-time", + "type": "string", + "x-nullable": true + }, + "dataTypes": { + "$ref": "#/definitions/TIDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "OfficeDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents office data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeDataConnectorProperties", + "description": "Office data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Office365" + }, + "OfficeDataConnectorDataTypes": { + "description": "The available data types for office data connector.", + "properties": { + "exchange": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Exchange data type connection.", + "type": "object" + }, + "sharePoint": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "SharePoint data type connection.", + "type": "object" + }, + "teams": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Teams data type connection.", + "type": "object" + } + }, + "type": "object" + }, + "OfficeDataConnectorProperties": { + "description": "Office data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/OfficeDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object" + } + }, + "parameters": { + "DataConnector": { + "description": "The data connector", + "in": "body", + "name": "dataConnector", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnector" + }, + "x-ms-parameter-location": "method" + }, + "DataConnectorId": { + "description": "Connector ID", + "in": "path", + "name": "dataConnectorId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/Incidents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/Incidents.json new file mode 100644 index 000000000000..28c7748f0c7e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/Incidents.json @@ -0,0 +1,1341 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents": { + "get": { + "x-ms-examples": { + "Get all incidents.": { + "$ref": "./examples/incidents/GetIncidents.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Gets all incidents.", + "operationId": "Incidents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "in": "query", + "name": "$top", + "description": "Returns only the first n results. Optional.", + "type": "integer", + "format": "int32", + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/IncidentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}": { + "get": { + "x-ms-examples": { + "Get an incident.": { + "$ref": "./examples/incidents/GetIncidentById.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Gets a given incident.", + "operationId": "Incidents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident.": { + "$ref": "./examples/incidents/CreateIncident.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Creates or updates an incident.", + "operationId": "Incidents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/Incident" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an incident.": { + "$ref": "./examples/incidents/DeleteIncident.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Deletes a given incident.", + "operationId": "Incidents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/alerts": { + "post": { + "x-ms-examples": { + "Get all incident alerts.": { + "$ref": "./examples/incidents/GetAllIncidentAlerts.json" + } + }, + "tags": [ + "IncidentAlerts" + ], + "description": "Gets all alerts for an incident.", + "operationId": "Incidents_ListAlerts", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentAlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/bookmarks": { + "post": { + "x-ms-examples": { + "Get all incident bookmarks.": { + "$ref": "./examples/incidents/GetAllIncidentBookmarks.json" + } + }, + "tags": [ + "IncidentBookmarks" + ], + "description": "Gets all bookmarks for an incident.", + "operationId": "Incidents_ListBookmarks", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentBookmarkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments": { + "get": { + "x-ms-examples": { + "Get all incident comments.": { + "$ref": "./examples/incidents/comments/GetAllIncidentComments.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Gets all comments for a given incident.", + "operationId": "IncidentComments_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/IncidentCommentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/IncidentComment", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}": { + "get": { + "x-ms-examples": { + "Get an incident comment.": { + "$ref": "./examples/incidents/comments/GetIncidentCommentById.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Gets a comment for a given incident.", + "operationId": "IncidentComments_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident comment.": { + "$ref": "./examples/incidents/comments/CreateIncidentComment.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Creates or updates a comment for a given incident.", + "operationId": "IncidentComments_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + }, + { + "$ref": "#/parameters/IncidentComment" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete the incident comment.": { + "$ref": "./examples/incidents/comments/DeleteIncidentComment.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Deletes a comment for a given incident.", + "operationId": "IncidentComments_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/entities": { + "post": { + "x-ms-examples": { + "Gets all incident related entities": { + "$ref": "./examples/incidents/GetAllIncidentEntities.json" + } + }, + "tags": [ + "IncidentEntities" + ], + "description": "Gets all entities for an incident.", + "operationId": "Incidents_ListEntities", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentEntitiesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations": { + "get": { + "x-ms-examples": { + "Get all incident relations.": { + "$ref": "./examples/incidents/relations/GetAllIncidentRelations.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Gets all relations for a given incident.", + "operationId": "IncidentRelations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RelationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/Relation", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}": { + "get": { + "x-ms-examples": { + "Get an incident relation.": { + "$ref": "./examples/incidents/relations/GetIncidentRelationByName.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Gets a relation for a given incident.", + "operationId": "IncidentRelations_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident relation.": { + "$ref": "./examples/incidents/relations/CreateIncidentRelation.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Creates or updates a relation for a given incident.", + "operationId": "IncidentRelations_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/RelationName" + }, + { + "$ref": "#/parameters/Relation" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Relation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete the incident relation.": { + "$ref": "./examples/incidents/relations/DeleteIncidentRelation.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Deletes a relation for a given incident.", + "operationId": "IncidentRelations_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "Relation": { + "type": "object", + "description": "Represents a relation between two resources", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RelationProperties", + "description": "Relation properties", + "x-ms-client-flatten": true + } + } + }, + "RelationList": { + "description": "List of relations.", + "properties": { + "nextLink": { + "readOnly": true, + "description": "URL to fetch the next set of relations.", + "type": "string" + }, + "value": { + "description": "Array of relations.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/Relation" + } + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "RelationProperties": { + "description": "Relation property bag.", + "properties": { + "relatedResourceId": { + "description": "The resource ID of the related resource", + "type": "string" + }, + "relatedResourceName": { + "description": "The name of the related resource", + "readOnly": true, + "type": "string" + }, + "relatedResourceType": { + "description": "The resource type of the related resource", + "readOnly": true, + "type": "string" + }, + "relatedResourceKind": { + "description": "The resource kind of the related resource", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "relatedResourceId" + ], + "type": "object" + }, + "Incident": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents an incident in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/IncidentProperties", + "description": "Incident properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "IncidentAdditionalData": { + "description": "Incident additional data property bag.", + "properties": { + "alertsCount": { + "description": "The number of alerts in the incident", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "bookmarksCount": { + "description": "The number of bookmarks in the incident", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "commentsCount": { + "description": "The number of comments in the incident", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "alertProductNames": { + "description": "List of product names of alerts in the incident", + "items": { + "description": "Alert product name", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "tactics": { + "description": "The tactics associated with incident", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "providerIncidentUrl": { + "description": "The provider incident url to the incident in Microsoft 365 Defender portal", + "type": "string", + "readOnly": true + } + }, + "type": "object" + }, + "IncidentAlertList": { + "description": "List of incident alerts.", + "properties": { + "value": { + "description": "Array of incident alerts.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "./common/EntityTypes.json#/definitions/SecurityAlert" + } + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "IncidentBookmarkList": { + "description": "List of incident bookmarks.", + "properties": { + "value": { + "description": "Array of incident bookmarks.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "./common/EntityTypes.json#/definitions/HuntingBookmark" + } + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "IncidentComment": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents an incident comment", + "properties": { + "properties": { + "$ref": "#/definitions/IncidentCommentProperties", + "description": "Incident comment properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "IncidentCommentList": { + "description": "List of incident comments.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of comments.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of comments.", + "items": { + "$ref": "#/definitions/IncidentComment" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "IncidentCommentProperties": { + "description": "Incident comment property bag.", + "properties": { + "createdTimeUtc": { + "description": "The time the comment was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The time the comment was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "The comment message", + "type": "string" + }, + "author": { + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo", + "description": "Describes the client that created the comment", + "readOnly": true, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "IncidentEntitiesResponse": { + "description": "The incident related entities response.", + "type": "object", + "properties": { + "entities": { + "description": "Array of the incident related entities.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + } + }, + "metaData": { + "description": "The metadata from the incident related entities results.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/IncidentEntitiesResultsMetadata" + } + } + } + }, + "IncidentEntitiesResultsMetadata": { + "description": "Information of a specific aggregation in the incident related entities result.", + "properties": { + "count": { + "description": "Total number of aggregations of the given kind in the incident related entities result.", + "type": "integer", + "format": "int32" + }, + "entityKind": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerKind", + "description": "The kind of the aggregated entity." + } + }, + "required": [ + "entityKind", + "count" + ], + "type": "object" + }, + "IncidentList": { + "description": "List all the incidents.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of incidents.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of incidents.", + "items": { + "$ref": "#/definitions/Incident" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "IncidentProperties": { + "description": "Describes incident properties", + "properties": { + "additionalData": { + "$ref": "#/definitions/IncidentAdditionalData", + "description": "Additional data on the incident", + "readOnly": true, + "type": "object" + }, + "classification": { + "description": "The reason the incident was closed", + "enum": [ + "Undetermined", + "TruePositive", + "BenignPositive", + "FalsePositive" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassification", + "values": [ + { + "description": "Incident classification was undetermined", + "value": "Undetermined" + }, + { + "description": "Incident was true positive", + "value": "TruePositive" + }, + { + "description": "Incident was benign positive", + "value": "BenignPositive" + }, + { + "description": "Incident was false positive", + "value": "FalsePositive" + } + ] + } + }, + "classificationComment": { + "description": "Describes the reason the incident was closed", + "type": "string" + }, + "classificationReason": { + "description": "The classification reason the incident was closed with", + "enum": [ + "SuspiciousActivity", + "SuspiciousButExpected", + "IncorrectAlertLogic", + "InaccurateData" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassificationReason", + "values": [ + { + "description": "Classification reason was suspicious activity", + "value": "SuspiciousActivity" + }, + { + "description": "Classification reason was suspicious but expected", + "value": "SuspiciousButExpected" + }, + { + "description": "Classification reason was incorrect alert logic", + "value": "IncorrectAlertLogic" + }, + { + "description": "Classification reason was inaccurate data", + "value": "InaccurateData" + } + ] + } + }, + "createdTimeUtc": { + "description": "The time the incident was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the incident", + "type": "string" + }, + "firstActivityTimeUtc": { + "description": "The time of the first activity in the incident", + "format": "date-time", + "type": "string" + }, + "incidentUrl": { + "description": "The deep-link url to the incident in Azure portal", + "readOnly": true, + "type": "string" + }, + "providerName": { + "description": "The name of the source provider that generated the incident", + "type": "string", + "readOnly": true + }, + "providerIncidentId": { + "description": "The incident ID assigned by the incident provider", + "type": "string", + "readOnly": true + }, + "incidentNumber": { + "description": "A sequential number", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "labels": { + "description": "List of labels relevant to this incident", + "items": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentLabel" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "lastActivityTimeUtc": { + "description": "The time of the last activity in the incident", + "format": "date-time", + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The last time the incident was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "owner": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentOwnerInfo", + "description": "Describes a user that the incident is assigned to", + "type": "object" + }, + "relatedAnalyticRuleIds": { + "description": "List of resource ids of Analytic rules related to the incident", + "items": { + "description": "Related Analytic rule resource id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "severity": { + "description": "The severity of the incident", + "type": "string", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentSeverityEnum" + }, + "status": { + "description": "The status of the incident", + "enum": [ + "New", + "Active", + "Closed" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentStatus", + "values": [ + { + "description": "An active incident which isn't being handled currently", + "value": "New" + }, + { + "description": "An active incident which is being handled", + "value": "Active" + }, + { + "description": "A non-active incident", + "value": "Closed" + } + ] + } + }, + "title": { + "description": "The title of the incident", + "type": "string" + } + }, + "required": [ + "title", + "severity", + "status" + ], + "type": "object" + } + }, + "parameters": { + "Incident": { + "description": "The incident", + "in": "body", + "name": "incident", + "required": true, + "schema": { + "$ref": "#/definitions/Incident" + }, + "x-ms-parameter-location": "method" + }, + "IncidentComment": { + "description": "The incident comment", + "in": "body", + "name": "incidentComment", + "required": true, + "schema": { + "$ref": "#/definitions/IncidentComment" + }, + "x-ms-parameter-location": "method" + }, + "IncidentCommentId": { + "description": "Incident comment ID", + "in": "path", + "name": "incidentCommentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "IncidentId": { + "description": "Incident ID", + "in": "path", + "name": "incidentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Relation": { + "name": "relation", + "in": "body", + "description": "The relation model", + "required": true, + "schema": { + "$ref": "#/definitions/Relation" + }, + "x-ms-parameter-location": "method" + }, + "RelationName": { + "name": "relationName", + "in": "path", + "required": true, + "type": "string", + "description": "Relation Name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/Metadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/Metadata.json new file mode 100644 index 000000000000..3c662b07f17e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/Metadata.json @@ -0,0 +1,769 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata": { + "get": { + "x-ms-examples": { + "Get all metadata.": { + "$ref": "./examples/metadata/GetAllMetadata.json" + }, + "Get all metadata with OData filter/orderby/skip/top": { + "$ref": "./examples/metadata/GetAllMetadataOData.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "List of all metadata", + "operationId": "Metadata_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkip" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MetadataList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}": { + "get": { + "x-ms-examples": { + "Get single metadata by name": { + "$ref": "./examples/metadata/GetMetadata.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "Get a Metadata.", + "operationId": "Metadata_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/MetadataName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MetadataModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete metadata.": { + "$ref": "./examples/metadata/DeleteMetadata.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "Delete a Metadata.", + "operationId": "Metadata_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/MetadataName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create/update full metadata.": { + "$ref": "./examples/metadata/PutMetadata.json" + }, + "Create/update minimal metadata.": { + "$ref": "./examples/metadata/PutMetadataMinimal.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "Create a Metadata.", + "operationId": "Metadata_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/MetadataName" + }, + { + "$ref": "#/parameters/Metadata" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/MetadataModel" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/MetadataModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "x-ms-examples": { + "Update metadata.": { + "$ref": "./examples/metadata/PatchMetadata.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "Update an existing Metadata.", + "operationId": "Metadata_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/MetadataName" + }, + { + "$ref": "#/parameters/MetadataPatch" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MetadataModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "MetadataList": { + "description": "List of all the metadata.", + "type": "object", + "properties": { + "value": { + "description": "Array of metadata.", + "items": { + "$ref": "#/definitions/MetadataModel" + }, + "type": "array" + }, + "nextLink": { + "description": "URL to fetch the next page of metadata.", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "MetadataModel": { + "type": "object", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Metadata resource definition.", + "properties": { + "properties": { + "$ref": "#/definitions/metadataProperties", + "description": "Metadata properties", + "x-ms-client-flatten": true + } + } + }, + "metadataPatch": { + "description": "Metadata patch request body.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/metadataPropertiesPatch", + "description": "Metadata patch request body", + "x-ms-client-flatten": true + } + } + }, + "metadataContentId": { + "description": "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Can be optionally set for user created content to define dependencies. If an active content item is made from a template, both will have the same contentId.", + "type": "string" + }, + "metadataParentId": { + "description": "Full parent resource ID of the content item the metadata is for. This is the full resource ID including the scope (subscription and resource group)", + "type": "string" + }, + "metadataVersion": { + "description": "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version checks", + "type": "string" + }, + "metadataKind": { + "type": "string", + "description": "The kind of content the metadata is for." + }, + "metadataSource": { + "description": "The original source of the content item, where it comes from.", + "type": "object", + "required": [ + "kind" + ], + "properties": { + "kind": { + "description": "Source type of the content", + "type": "string", + "enum": [ + "LocalWorkspace", + "Community", + "Solution", + "SourceRepository" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "sourceKind", + "values": [ + { + "value": "LocalWorkspace" + }, + { + "value": "Community" + }, + { + "value": "Solution" + }, + { + "value": "SourceRepository" + } + ] + } + }, + "name": { + "description": "Name of the content source. The repo name, solution name, LA workspace name etc.", + "type": "string" + }, + "sourceId": { + "description": "ID of the content source. The solution ID, workspace ID, etc", + "type": "string" + } + } + }, + "metadataAuthor": { + "type": "object", + "description": "Publisher or creator of the content item.", + "properties": { + "name": { + "description": "Name of the author. Company or person.", + "type": "string" + }, + "email": { + "description": "Email of author contact", + "type": "string" + }, + "link": { + "description": "Link for author/vendor page", + "type": "string" + } + } + }, + "metadataSupport": { + "type": "object", + "description": "Support information for the content item.", + "required": [ + "tier" + ], + "properties": { + "tier": { + "description": "Type of support for content item", + "type": "string", + "enum": [ + "Microsoft", + "Partner", + "Community" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "supportTier", + "values": [ + { + "value": "Microsoft" + }, + { + "value": "Partner" + }, + { + "value": "Community" + } + ] + } + }, + "name": { + "description": "Name of the support contact. Company or person.", + "type": "string" + }, + "email": { + "description": "Email of support contact", + "type": "string" + }, + "link": { + "description": "Link for support help, like to support page to open a ticket etc.", + "type": "string" + } + } + }, + "metadataCategories": { + "type": "object", + "description": "ies for the solution content item", + "properties": { + "domains": { + "description": "domain for the solution content item", + "type": "array", + "example": [ + "str1", + "str2", + "str3" + ], + "items": { + "type": "string" + } + }, + "verticals": { + "description": "Industry verticals for the solution content item", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "str1", + "str2", + "str3" + ] + } + } + }, + "metadataProviders": { + "description": "Providers for the solution content item", + "type": "array", + "example": [ + "str1", + "str2", + "str3" + ], + "items": { + "type": "string" + } + }, + "firstPublishDate": { + "description": "first publish date of solution content item", + "type": "string", + "format": "date" + }, + "lastPublishDate": { + "description": "last publish date of solution content item", + "type": "string", + "format": "date" + }, + "metadataCustomVersion": { + "description": "The custom version of the content. A optional free text", + "type": "string" + }, + "metadataContentSchemaVersion": { + "description": "Schema version of the content. Can be used to distinguish between different flow based on the schema version", + "type": "string" + }, + "metadataIcon": { + "description": "the icon identifier. this id can later be fetched from the solution template", + "type": "string" + }, + "metadataThreatAnalysisTactics": { + "description": "the tactics the resource covers", + "type": "array", + "example": [ + "reconnaissance", + "exfiltration" + ], + "items": { + "type": "string" + } + }, + "metadataThreatAnalysisTechniques": { + "description": "the techniques the resource covers, these have to be aligned with the tactics being used", + "type": "array", + "example": [ + "T1548", + "T1548.001", + "T1134.003" + ], + "items": { + "type": "string" + } + }, + "metadataPreviewImages": { + "description": "preview image file names. These will be taken from the solution artifacts", + "type": "array", + "example": [ + "example.png", + "example2.jpeg" + ], + "items": { + "type": "string" + } + }, + "metadataPreviewImagesDark": { + "description": "preview image file names. These will be taken from the solution artifacts. used for dark theme support", + "type": "array", + "example": [ + "example.png", + "example2.jpeg" + ], + "items": { + "type": "string" + } + }, + "metadataProperties": { + "description": "Metadata property bag.", + "required": [ + "parentId", + "kind" + ], + "type": "object", + "properties": { + "contentId": { + "$ref": "#/definitions/metadataContentId", + "description": "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic for user-created. This is the resource name" + }, + "parentId": { + "$ref": "#/definitions/metadataParentId", + "description": "Full parent resource ID of the content item the metadata is for. This is the full resource ID including the scope (subscription and resource group)" + }, + "version": { + "$ref": "#/definitions/metadataVersion", + "description": "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version checks" + }, + "kind": { + "$ref": "#/definitions/metadataKind", + "description": "The kind of content the metadata is for." + }, + "source": { + "$ref": "#/definitions/metadataSource", + "description": "Source of the content. This is where/how it was created." + }, + "author": { + "$ref": "#/definitions/metadataAuthor", + "description": "The creator of the content item." + }, + "support": { + "$ref": "#/definitions/metadataSupport", + "description": "Support information for the metadata - type, name, contact information" + }, + "dependencies": { + "$ref": "./common/ContentCommonTypes.json#/definitions/metadataDependencies", + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats." + }, + "categories": { + "$ref": "#/definitions/metadataCategories", + "description": "Categories for the solution content item" + }, + "providers": { + "$ref": "#/definitions/metadataProviders", + "description": "Providers for the solution content item" + }, + "firstPublishDate": { + "$ref": "#/definitions/firstPublishDate", + "description": "first publish date solution content item" + }, + "lastPublishDate": { + "$ref": "#/definitions/lastPublishDate", + "description": "last publish date for the solution content item" + }, + "customVersion": { + "$ref": "#/definitions/metadataCustomVersion", + "description": "The custom version of the content. A optional free text" + }, + "contentSchemaVersion": { + "$ref": "#/definitions/metadataContentSchemaVersion", + "description": "Schema version of the content. Can be used to distinguish between different flow based on the schema version" + }, + "icon": { + "$ref": "#/definitions/metadataIcon", + "description": "the icon identifier. this id can later be fetched from the solution template" + }, + "threatAnalysisTactics": { + "$ref": "#/definitions/metadataThreatAnalysisTactics", + "description": "the tactics the resource covers" + }, + "threatAnalysisTechniques": { + "$ref": "#/definitions/metadataThreatAnalysisTechniques", + "description": "the techniques the resource covers, these have to be aligned with the tactics being used" + }, + "previewImages": { + "$ref": "#/definitions/metadataPreviewImages", + "description": "preview image file names. These will be taken from the solution artifacts" + }, + "previewImagesDark": { + "$ref": "#/definitions/metadataPreviewImagesDark", + "description": "preview image file names. These will be taken from the solution artifacts. used for dark theme support" + } + } + }, + "metadataPropertiesPatch": { + "description": "Metadata property bag for patch requests. This is the same as the MetadataProperties, but with nothing required", + "type": "object", + "properties": { + "contentId": { + "$ref": "#/definitions/metadataContentId", + "description": "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic for user-created. This is the resource name" + }, + "parentId": { + "$ref": "#/definitions/metadataParentId", + "description": "Full parent resource ID of the content item the metadata is for. This is the full resource ID including the scope (subscription and resource group)" + }, + "version": { + "$ref": "#/definitions/metadataVersion", + "description": "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version checks" + }, + "kind": { + "$ref": "#/definitions/metadataKind", + "description": "The kind of content the metadata is for." + }, + "source": { + "$ref": "#/definitions/metadataSource", + "description": "Source of the content. This is where/how it was created." + }, + "author": { + "$ref": "#/definitions/metadataAuthor", + "description": "The creator of the content item." + }, + "support": { + "$ref": "#/definitions/metadataSupport", + "description": "Support information for the metadata - type, name, contact information" + }, + "dependencies": { + "$ref": "./common/ContentCommonTypes.json#/definitions/metadataDependencies", + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats." + }, + "categories": { + "$ref": "#/definitions/metadataCategories", + "description": "Categories for the solution content item" + }, + "providers": { + "$ref": "#/definitions/metadataProviders", + "description": "Providers for the solution content item" + }, + "firstPublishDate": { + "$ref": "#/definitions/firstPublishDate", + "description": "first publish date solution content item" + }, + "lastPublishDate": { + "$ref": "#/definitions/lastPublishDate", + "description": "last publish date for the solution content item" + }, + "customVersion": { + "$ref": "#/definitions/metadataCustomVersion", + "description": "The custom version of the content. A optional free text" + }, + "contentSchemaVersion": { + "$ref": "#/definitions/metadataContentSchemaVersion", + "description": "Schema version of the content. Can be used to distinguish between different flow based on the schema version" + }, + "icon": { + "$ref": "#/definitions/metadataIcon", + "description": "the icon identifier. this id can later be fetched from the solution template" + }, + "threatAnalysisTactics": { + "$ref": "#/definitions/metadataThreatAnalysisTactics", + "description": "the tactics the resource covers" + }, + "threatAnalysisTechniques": { + "$ref": "#/definitions/metadataThreatAnalysisTechniques", + "description": "the techniques the resource covers, these have to be aligned with the tactics being used" + }, + "previewImages": { + "$ref": "#/definitions/metadataPreviewImages", + "description": "preview image file names. These will be taken from the solution artifacts" + }, + "previewImagesDark": { + "$ref": "#/definitions/metadataPreviewImagesDark", + "description": "preview image file names. These will be taken from the solution artifacts. used for dark theme support" + } + } + } + }, + "parameters": { + "Metadata": { + "description": "Metadata resource.", + "in": "body", + "name": "metadata", + "required": true, + "schema": { + "$ref": "#/definitions/MetadataModel" + }, + "x-ms-parameter-location": "method" + }, + "MetadataPatch": { + "description": "Partial metadata request.", + "in": "body", + "name": "metadataPatch", + "required": true, + "schema": { + "$ref": "#/definitions/metadataPatch" + }, + "x-ms-parameter-location": "method" + }, + "MetadataName": { + "description": "The Metadata name.", + "in": "path", + "name": "metadataName", + "required": true, + "pattern": "^\\S+$", + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/OnboardingStates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/OnboardingStates.json new file mode 100644 index 000000000000..0015f1752837 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/OnboardingStates.json @@ -0,0 +1,284 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}": { + "get": { + "x-ms-examples": { + "Get Sentinel onboarding state": { + "$ref": "./examples/onboardingStates/GetSentinelOnboardingState.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Get Sentinel onboarding state", + "operationId": "SentinelOnboardingStates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + } + }, + "default": { + "description": "Error in getting the Sentinel onboarding state", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create Sentinel onboarding state": { + "$ref": "./examples/onboardingStates/CreateSentinelOnboardingState.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Create Sentinel onboarding state", + "operationId": "SentinelOnboardingStates_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + } + }, + "default": { + "description": "Error in creating the Sentinel onboarding state", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete Sentinel onboarding state": { + "$ref": "./examples/onboardingStates/DeleteSentinelOnboardingState.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Delete Sentinel onboarding state", + "operationId": "SentinelOnboardingStates_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error in deleting the Sentinel onboarding state", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates": { + "get": { + "x-ms-examples": { + "Get all Sentinel onboarding states": { + "$ref": "./examples/onboardingStates/GetAllSentinelOnboardingStates.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Gets all Sentinel onboarding states", + "operationId": "SentinelOnboardingStates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SentinelOnboardingStatesList" + } + }, + "default": { + "description": "Error in listing the Sentinel onboarding states", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SentinelOnboardingStateProperties": { + "description": "The Sentinel onboarding state properties", + "type": "object", + "properties": { + "customerManagedKey": { + "description": "Flag that indicates the status of the CMK setting", + "type": "boolean" + } + } + }, + "SentinelOnboardingState": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Sentinel onboarding state", + "properties": { + "properties": { + "$ref": "#/definitions/SentinelOnboardingStateProperties", + "description": "The Sentinel onboarding state object", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "SentinelOnboardingStatesList": { + "description": "List of the Sentinel onboarding states", + "properties": { + "value": { + "description": "Array of Sentinel onboarding states", + "items": { + "$ref": "#/definitions/SentinelOnboardingState" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + } + }, + "parameters": { + "SentinelOnboardingStateName": { + "description": "The Sentinel onboarding state name. Supports - default", + "in": "path", + "name": "sentinelOnboardingStateName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SentinelOnboardingStateParameter": { + "description": "The Sentinel onboarding state parameter", + "in": "body", + "name": "sentinelOnboardingStateParameter", + "required": false, + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/SecurityMLAnalyticsSettings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/SecurityMLAnalyticsSettings.json new file mode 100644 index 000000000000..d1f3d7cb3d9b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/SecurityMLAnalyticsSettings.json @@ -0,0 +1,444 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings": { + "get": { + "x-ms-examples": { + "Get all Security ML Analytics Settings.": { + "$ref": "./examples/securityMLAnalyticsSettings/GetAllSecurityMLAnalyticsSettings.json" + } + }, + "tags": [ + "Security ML Analytics Settings" + ], + "description": "Gets all Security ML Analytics Settings.", + "operationId": "SecurityMLAnalyticsSettings_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityMLAnalyticsSettingsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/{settingsResourceName}": { + "get": { + "x-ms-examples": { + "Get a Anomaly Security ML Analytics Settings.": { + "$ref": "./examples/securityMLAnalyticsSettings/GetAnomalySecurityMLAnalyticsSetting.json" + } + }, + "tags": [ + "Security ML Analytics Settings" + ], + "description": "Gets the Security ML Analytics Settings.", + "operationId": "SecurityMLAnalyticsSettings_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SettingsResourceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityMLAnalyticsSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a Anomaly Security ML Analytics Settings.": { + "$ref": "./examples/securityMLAnalyticsSettings/CreateAnomalySecurityMLAnalyticsSetting.json" + } + }, + "tags": [ + "Security ML Analytics Settings" + ], + "description": "Creates or updates the Security ML Analytics Settings.", + "operationId": "SecurityMLAnalyticsSettings_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SettingsResourceName" + }, + { + "$ref": "#/parameters/SecurityMLAnalyticsSetting" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityMLAnalyticsSetting" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SecurityMLAnalyticsSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a Security ML Analytics Settings.": { + "$ref": "./examples/securityMLAnalyticsSettings/DeleteSecurityMLAnalyticsSetting.json" + } + }, + "tags": [ + "Security ML Analytics Settings" + ], + "description": "Delete the Security ML Analytics Settings.", + "operationId": "SecurityMLAnalyticsSettings_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SettingsResourceName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "SecurityMLAnalyticsSetting": { + "description": "The security ML Analytics setting", + "in": "body", + "name": "securityMLAnalyticsSetting", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityMLAnalyticsSetting" + }, + "x-ms-parameter-location": "method" + }, + "SettingsResourceName": { + "description": "Security ML Analytics Settings resource name", + "in": "path", + "name": "settingsResourceName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "SecurityMLAnalyticsSetting": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Security ML Analytics Setting", + "properties": { + "kind": { + "$ref": "#/definitions/SecurityMLAnalyticsSettingsKindEnum", + "description": "The kind of security ML Analytics Settings" + } + }, + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "SecurityMLAnalyticsSettingsKindEnum": { + "description": "The kind of security ML analytics settings", + "enum": [ + "Anomaly" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SecurityMLAnalyticsSettingsKind", + "values": [ + { + "value": "Anomaly" + } + ] + } + }, + "SecurityMLAnalyticsSettingsList": { + "description": "List all the SecurityMLAnalyticsSettings", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of SecurityMLAnalyticsSettings.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of SecurityMLAnalyticsSettings", + "items": { + "$ref": "#/definitions/SecurityMLAnalyticsSetting" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "AnomalySecurityMLAnalyticsSettings": { + "allOf": [ + { + "$ref": "#/definitions/SecurityMLAnalyticsSetting" + } + ], + "description": "Represents Anomaly Security ML Analytics Settings", + "properties": { + "properties": { + "$ref": "#/definitions/AnomalySecurityMLAnalyticsSettingsProperties", + "description": "Anomaly Security ML Analytics Settings properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Anomaly" + }, + "AnomalySecurityMLAnalyticsSettingsProperties": { + "description": "AnomalySecurityMLAnalytics settings base property bag.", + "properties": { + "description": { + "description": "The description of the SecurityMLAnalyticsSettings.", + "type": "string" + }, + "displayName": { + "description": "The display name for settings created by this SecurityMLAnalyticsSettings.", + "type": "string" + }, + "enabled": { + "description": "Determines whether this settings is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this SecurityMLAnalyticsSettings has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data sources for this SecurityMLAnalyticsSettings", + "items": { + "$ref": "#/definitions/SecurityMLAnalyticsSettingsDataSource" + }, + "x-ms-identifiers": [ + "connectorId" + ], + "type": "array" + }, + "tactics": { + "description": "The tactics of the SecurityMLAnalyticsSettings", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array" + }, + "techniques": { + "description": "The techniques of the SecurityMLAnalyticsSettings", + "items": { + "type": "string" + }, + "type": "array" + }, + "anomalyVersion": { + "description": "The anomaly version of the AnomalySecurityMLAnalyticsSettings.", + "type": "string" + }, + "customizableObservations": { + "description": "The customizable observations of the AnomalySecurityMLAnalyticsSettings.", + "type": "object" + }, + "frequency": { + "description": "The frequency that this SecurityMLAnalyticsSettings will be run.", + "format": "duration", + "type": "string" + }, + "settingsStatus": { + "$ref": "#/definitions/AnomalySecurityMLAnalyticsSettingsStatus", + "description": "The anomaly SecurityMLAnalyticsSettings status" + }, + "isDefaultSettings": { + "description": "Determines whether this anomaly security ml analytics settings is a default settings", + "type": "boolean" + }, + "anomalySettingsVersion": { + "description": "The anomaly settings version of the Anomaly security ml analytics settings that dictates whether job version gets updated or not.", + "type": "integer", + "format": "int32" + }, + "settingsDefinitionId": { + "description": "The anomaly settings definition Id", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "displayName", + "enabled", + "anomalyVersion", + "frequency", + "settingsStatus", + "isDefaultSettings" + ], + "type": "object" + }, + "SecurityMLAnalyticsSettingsDataSource": { + "description": "security ml analytics settings data sources", + "properties": { + "connectorId": { + "description": "The connector id that provides the following data types", + "type": "string" + }, + "dataTypes": { + "description": "The data types used by the security ml analytics settings", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AnomalySecurityMLAnalyticsSettingsStatus": { + "description": "The anomaly SecurityMLAnalyticsSettings status", + "enum": [ + "Production", + "Flighting" + ], + "type": "string", + "x-ms-enum": { + "name": "SettingsStatus", + "modelAsString": true, + "values": [ + { + "description": "Anomaly settings status in Production mode", + "value": "Production" + }, + { + "description": "Anomaly settings status in Flighting mode", + "value": "Flighting" + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/SourceControls.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/SourceControls.json new file mode 100644 index 000000000000..c1d60af2bb9b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/SourceControls.json @@ -0,0 +1,1005 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/listRepositories": { + "post": { + "x-ms-examples": { + "Get repository list.": { + "$ref": "./examples/repositories/GetRepositories.json" + } + }, + "tags": [ + "Repositories" + ], + "description": "Gets a list of repositories metadata.", + "operationId": "SourceControl_listRepositories", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RepositoryAccess" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RepoList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols": { + "get": { + "x-ms-examples": { + "Get all source controls.": { + "$ref": "./examples/sourcecontrols/GetSourceControls.json" + } + }, + "tags": [ + "SourceControls" + ], + "description": "Gets all source controls, without source control items.", + "operationId": "SourceControls_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}": { + "get": { + "x-ms-examples": { + "Get a source control.": { + "$ref": "./examples/sourcecontrols/GetSourceControlById.json" + } + }, + "tags": [ + "SourceControls" + ], + "description": "Gets a source control byt its identifier.", + "operationId": "SourceControls_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SourceControlIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a source control.": { + "$ref": "./examples/sourcecontrols/CreateSourceControl.json" + } + }, + "tags": [ + "SourceControls" + ], + "description": "Creates a source control.", + "operationId": "SourceControls_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SourceControlIdParameter" + }, + { + "$ref": "#/parameters/SourceControl" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}/delete": { + "post": { + "x-ms-examples": { + "Delete a source control.": { + "$ref": "./examples/sourcecontrols/DeleteSourceControl.json" + } + }, + "tags": [ + "SourceControls" + ], + "description": "Delete a source control.", + "operationId": "SourceControls_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SourceControlIdParameter" + }, + { + "$ref": "#/parameters/RepositoryAccess" + } + ], + "responses": { + "200": { + "description": "Source control deleted.", + "schema": { + "$ref": "#/definitions/Warning" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "RepoList": { + "description": "List all the source controls.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of repositories.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of repositories.", + "items": { + "$ref": "#/definitions/Repo" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "Repo": { + "description": "Represents a repository.", + "properties": { + "url": { + "description": "The url to access the repository.", + "type": "string" + }, + "fullName": { + "description": "The name of the repository.", + "type": "string" + }, + "installationId": { + "description": "The installation id of the repository.", + "type": "integer", + "format": "int64" + }, + "branches": { + "description": "Array of branches.", + "items": { + "description": "name of branch.", + "type": "string" + }, + "type": "array" + } + }, + "x-ms-azure-resource": false, + "type": "object" + }, + "SourceControlList": { + "description": "List all the source controls.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of source controls.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of source controls.", + "items": { + "$ref": "#/definitions/SourceControl" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "SourceControl": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a SourceControl in Azure Security Insights.", + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "source control properties", + "$ref": "#/definitions/SourceControlProperties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "SourceControlProperties": { + "description": "Describes source control properties", + "properties": { + "id": { + "description": "The id (a Guid) of the source control", + "type": "string", + "readOnly": true + }, + "version": { + "$ref": "#/definitions/Version", + "description": "The version number associated with the source control", + "type": "string" + }, + "displayName": { + "description": "The display name of the source control", + "type": "string" + }, + "description": { + "description": "A description of the source control", + "type": "string" + }, + "repoType": { + "$ref": "#/definitions/RepoType", + "description": "The repository type of the source control", + "type": "string" + }, + "contentTypes": { + "description": "Array of source control content types.", + "items": { + "$ref": "#/definitions/ContentType" + }, + "type": "array" + }, + "repository": { + "description": "Repository metadata.", + "$ref": "#/definitions/Repository" + }, + "servicePrincipal": { + "description": "Service principal metadata.", + "$ref": "#/definitions/ServicePrincipal" + }, + "repositoryAccess": { + "description": "Repository access credentials. This is write-only object and it never returns back to a user.", + "x-ms-mutability": [ + "create", + "update" + ], + "$ref": "#/definitions/RepositoryAccess" + }, + "repositoryResourceInfo": { + "description": "Information regarding the resources created in user's repository.", + "$ref": "#/definitions/RepositoryResourceInfo" + }, + "lastDeploymentInfo": { + "description": "Information regarding the latest deployment for the source control.", + "$ref": "#/definitions/DeploymentInfo" + }, + "pullRequest": { + "description": "Information regarding the pull request of the source control.", + "$ref": "#/definitions/PullRequest" + } + }, + "required": [ + "displayName", + "repoType", + "contentTypes", + "repository" + ], + "type": "object" + }, + "RepositoryAccess": { + "type": "object", + "description": "Credentials to access repository.", + "required": [ + "kind" + ], + "properties": { + "kind": { + "description": "The kind of repository access credentials", + "$ref": "#/definitions/RepositoryAccessKind" + }, + "code": { + "x-ms-secret": true, + "type": "string", + "description": "OAuth Code. Required when `kind` is `OAuth`" + }, + "state": { + "x-ms-secret": true, + "type": "string", + "description": "OAuth State. Required when `kind` is `OAuth`" + }, + "clientId": { + "type": "string", + "description": "OAuth ClientId. Required when `kind` is `OAuth`" + }, + "token": { + "x-ms-secret": true, + "type": "string", + "description": "Personal Access Token. Required when `kind` is `PAT`" + }, + "installationId": { + "type": "string", + "description": "Application installation ID. Required when `kind` is `App`. Supported by `GitHub` only." + } + } + }, + "RepositoryAccessObject": { + "description": "Credentials to access repository.", + "type": "object", + "required": [ + "repositoryAccess" + ], + "properties": { + "repositoryAccess": { + "description": "RepositoryAccess properties", + "$ref": "#/definitions/RepositoryAccess", + "x-ms-client-flatten": true + } + } + }, + "RepositoryAccessProperties": { + "description": "Credentials to access repository.", + "type": "object", + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "RepositoryAccess properties", + "$ref": "#/definitions/RepositoryAccessObject", + "x-ms-client-flatten": true + } + } + }, + "Repository": { + "type": "object", + "required": [ + "url", + "branch" + ], + "description": "metadata of a repository.", + "properties": { + "url": { + "description": "Url of repository.", + "type": "string" + }, + "branch": { + "description": "Branch name of repository.", + "type": "string" + }, + "displayUrl": { + "description": "Display url of repository.", + "type": "string" + }, + "deploymentLogsUrl": { + "description": "Url to access repository action logs.", + "type": "string", + "readOnly": true + } + } + }, + "ServicePrincipal": { + "type": "object", + "description": "Service principal metadata.", + "properties": { + "id": { + "description": "Id of service principal.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Tenant id of service principal.", + "type": "string", + "readOnly": true + }, + "appId": { + "description": "App id of service principal.", + "type": "string", + "readOnly": true + }, + "credentialsExpireOn": { + "format": "date-time", + "description": "Expiration time of service principal credentials.", + "type": "string" + } + } + }, + "RepositoryResourceInfo": { + "type": "object", + "description": "Resources created in user's repository for the source-control.", + "properties": { + "webhook": { + "type": "object", + "description": "The webhook object created for the source-control.", + "$ref": "#/definitions/Webhook" + }, + "gitHubResourceInfo": { + "type": "object", + "description": "Resources created in GitHub for this source-control.", + "$ref": "#/definitions/GitHubResourceInfo" + }, + "azureDevOpsResourceInfo": { + "type": "object", + "description": "Resources created in Azure DevOps for this source-control.", + "$ref": "#/definitions/AzureDevOpsResourceInfo" + } + } + }, + "Webhook": { + "description": "Detail about the webhook object.", + "type": "object", + "properties": { + "webhookId": { + "description": "Unique identifier for the webhook.", + "type": "string", + "readOnly": true + }, + "webhookUrl": { + "description": "URL that gets invoked by the webhook.", + "type": "string", + "readOnly": true + }, + "webhookSecretUpdateTime": { + "format": "date-time", + "description": "Time when the webhook secret was updated.", + "type": "string", + "readOnly": true + }, + "rotateWebhookSecret": { + "description": "A flag to instruct the backend service to rotate webhook secret.", + "type": "boolean" + } + } + }, + "GitHubResourceInfo": { + "readOnly": true, + "description": "Resources created in GitHub repository.", + "type": "object", + "properties": { + "appInstallationId": { + "description": "GitHub application installation id.", + "type": "string" + } + } + }, + "AzureDevOpsResourceInfo": { + "readOnly": true, + "description": "Resources created in Azure DevOps repository.", + "type": "object", + "properties": { + "pipelineId": { + "description": "Id of the pipeline created for the source-control.", + "type": "string" + }, + "serviceConnectionId": { + "description": "Id of the service-connection created for the source-control.", + "type": "string" + } + } + }, + "DeploymentInfo": { + "readOnly": true, + "description": "Information regarding a deployment.", + "type": "object", + "properties": { + "deploymentFetchStatus": { + "$ref": "#/definitions/DeploymentFetchStatus", + "description": "Status while fetching the last deployment.", + "type": "string" + }, + "deployment": { + "$ref": "#/definitions/Deployment", + "description": "Deployment information.", + "type": "object" + }, + "message": { + "description": "Additional details about the deployment that can be shown to the user.", + "type": "string" + } + } + }, + "Deployment": { + "description": "Description about a deployment.", + "type": "object", + "properties": { + "deploymentId": { + "description": "Deployment identifier.", + "type": "string" + }, + "deploymentState": { + "$ref": "#/definitions/DeploymentState", + "description": "Current status of the deployment.", + "type": "string" + }, + "deploymentResult": { + "$ref": "#/definitions/DeploymentResult", + "description": "The outcome of the deployment.", + "type": "string" + }, + "deploymentTime": { + "format": "date-time", + "description": "The time when the deployment finished.", + "type": "string" + }, + "deploymentLogsUrl": { + "description": "Url to access repository action logs.", + "type": "string" + } + } + }, + "ContentType": { + "description": "The content type of a source control path.", + "enum": [ + "AnalyticRule", + "AutomationRule", + "HuntingQuery", + "Parser", + "Playbook", + "Workbook" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ContentType", + "values": [ + { + "value": "AnalyticRule" + }, + { + "value": "AutomationRule" + }, + { + "value": "HuntingQuery" + }, + { + "value": "Parser" + }, + { + "value": "Playbook" + }, + { + "value": "Workbook" + } + ] + } + }, + "RepoType": { + "description": "The type of repository.", + "enum": [ + "Github", + "AzureDevOps" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RepoType", + "values": [ + { + "value": "Github" + }, + { + "value": "AzureDevOps" + } + ] + } + }, + "RepositoryAccessKind": { + "description": "The kind of repository access credentials", + "enum": [ + "OAuth", + "PAT", + "App" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RepositoryAccessKind", + "values": [ + { + "value": "OAuth" + }, + { + "value": "PAT" + }, + { + "value": "App" + } + ] + } + }, + "Version": { + "readOnly": true, + "description": "The version of the source control.", + "enum": [ + "V1", + "V2" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "Version", + "values": [ + { + "value": "V1" + }, + { + "value": "V2" + } + ] + } + }, + "DeploymentFetchStatus": { + "description": "Status while trying to fetch the deployment information.", + "enum": [ + "Success", + "Unauthorized", + "NotFound" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DeploymentFetchStatus", + "values": [ + { + "value": "Success" + }, + { + "value": "Unauthorized" + }, + { + "value": "NotFound" + } + ] + } + }, + "DeploymentState": { + "description": "The current state of the deployment.", + "enum": [ + "In_Progress", + "Completed", + "Queued", + "Canceling" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DeploymentState", + "values": [ + { + "value": "In_Progress" + }, + { + "value": "Completed" + }, + { + "value": "Queued" + }, + { + "value": "Canceling" + } + ] + } + }, + "DeploymentResult": { + "description": "Status while trying to fetch the deployment information.", + "enum": [ + "Success", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DeploymentResult", + "values": [ + { + "value": "Success" + }, + { + "value": "Canceled" + }, + { + "value": "Failed" + } + ] + } + }, + "PullRequest": { + "readOnly": true, + "description": "Information regarding pull request for protected branches.", + "type": "object", + "properties": { + "url": { + "description": "URL of pull request", + "type": "string", + "readOnly": true + }, + "state": { + "$ref": "#/definitions/PullRequestState", + "description": "State of the pull request", + "type": "object", + "readOnly": true + } + } + }, + "PullRequestState": { + "description": "Status of the pull request.", + "enum": [ + "Open", + "Closed" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "state", + "values": [ + { + "value": "Open" + }, + { + "value": "Closed" + } + ] + } + }, + "Warning": { + "description": "Warning response structure.", + "properties": { + "warning": { + "$ref": "#/definitions/WarningBody", + "description": "Warning data." + } + }, + "type": "object" + }, + "WarningBody": { + "readOnly": true, + "description": "Warning details.", + "properties": { + "code": { + "description": "An identifier for the warning. Codes are invariant and are intended to be consumed programmatically.", + "readOnly": true, + "type": "object", + "$ref": "#/definitions/WarningCode" + }, + "message": { + "description": "A message describing the warning, intended to be suitable for display in a user interface.", + "readOnly": true, + "type": "string" + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/WarningBody" + }, + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "WarningCode": { + "readOnly": true, + "description": "The type of repository.", + "enum": [ + "SourceControlWarning_DeleteServicePrincipal", + "SourceControlWarning_DeletePipelineFromAzureDevOps", + "SourceControlWarning_DeleteWorkflowAndSecretFromGitHub", + "SourceControlWarning_DeleteRoleAssignment", + "SourceControl_DeletedWithWarnings" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "WarningCode", + "values": [ + { + "value": "SourceControlWarning_DeleteServicePrincipal" + }, + { + "value": "SourceControlWarning_DeletePipelineFromAzureDevOps" + }, + { + "value": "SourceControlWarning_DeleteWorkflowAndSecretFromGitHub" + }, + { + "value": "SourceControlWarning_DeleteRoleAssignment" + }, + { + "value": "SourceControl_DeletedWithWarnings" + } + ] + } + } + }, + "parameters": { + "RepoTypeParameter": { + "description": "The repo type.", + "in": "body", + "name": "repoType", + "required": true, + "schema": { + "$ref": "#/definitions/RepoType" + }, + "x-ms-parameter-location": "method" + }, + "SourceControlIdParameter": { + "description": "Source control Id", + "in": "path", + "name": "sourceControlId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceControl": { + "description": "The SourceControl", + "in": "body", + "name": "sourceControl", + "required": true, + "schema": { + "$ref": "#/definitions/SourceControl" + }, + "x-ms-parameter-location": "method" + }, + "RepositoryAccess": { + "description": "The repository access credentials.", + "in": "body", + "name": "repositoryAccess", + "required": true, + "schema": { + "required": [ + "repositoryAccess" + ], + "$ref": "#/definitions/RepositoryAccessProperties" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ThreatIntelligence.json new file mode 100644 index 000000000000..06b87cefcecc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/ThreatIntelligence.json @@ -0,0 +1,1097 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/createIndicator": { + "post": { + "x-ms-examples": { + "Create a new Threat Intelligence": { + "$ref": "./examples/threatintelligence/CreateThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Create a new threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_CreateIndicator", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceProperties" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to create indicators.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators": { + "get": { + "x-ms-examples": { + "Get all threat intelligence indicators": { + "$ref": "./examples/threatintelligence/GetThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Get all threat intelligence indicators.", + "operationId": "ThreatIntelligenceIndicators_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformationList" + } + }, + "default": { + "description": "Error response describing why the operation failed to get indicators.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}": { + "get": { + "x-ms-examples": { + "View a threat intelligence indicator by name": { + "$ref": "./examples/threatintelligence/GetThreatIntelligenceById.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "View a threat intelligence indicator by name.", + "operationId": "ThreatIntelligenceIndicator_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to view an indicator.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update a threat Intelligence indicator": { + "$ref": "./examples/threatintelligence/UpdateThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Update a threat Intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceProperties" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to update an indicator.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a threat intelligence indicator": { + "$ref": "./examples/threatintelligence/DeleteThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Delete a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed to delete an indicator.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/queryIndicators": { + "post": { + "x-ms-examples": { + "Query threat intelligence indicators as per filtering criteria": { + "$ref": "./examples/threatintelligence/QueryThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Query threat intelligence indicators as per filtering criteria.", + "operationId": "ThreatIntelligenceIndicator_QueryIndicators", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceFilteringCriteria" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/metrics": { + "get": { + "x-ms-examples": { + "Get threat intelligence indicators metrics.": { + "$ref": "./examples/threatintelligence/CollectThreatIntelligenceMetrics.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Get threat intelligence indicators metrics (Indicators counts by Type, Threat Type, Source).", + "operationId": "ThreatIntelligenceIndicatorMetrics_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceMetricsList" + } + }, + "default": { + "description": "Error response describing why the operation failed to get metrics.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/appendTags": { + "post": { + "x-ms-examples": { + "Append tags to a threat intelligence indicator": { + "$ref": "./examples/threatintelligence/AppendTagsThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Append tags to a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_AppendTags", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceAppendTags" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed to append tags.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/replaceTags": { + "post": { + "x-ms-examples": { + "Replace tags to a Threat Intelligence": { + "$ref": "./examples/threatintelligence/ReplaceTagsThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Replace tags added to a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_ReplaceTags", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceReplaceTags" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to replace tags.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ThreatIntelligenceInformation": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Threat intelligence information object.", + "properties": { + "kind": { + "$ref": "#/definitions/ThreatIntelligenceResourceInnerKind", + "description": "The kind of the entity." + } + }, + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "ThreatIntelligenceInformationList": { + "description": "List of all the threat intelligence information objects.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of information objects.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of threat intelligence information objects.", + "items": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "ThreatIntelligenceIndicatorModel": { + "allOf": [ + { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + ], + "description": "Threat intelligence indicator entity.", + "properties": { + "properties": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorProperties", + "description": "Threat Intelligence Entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "indicator" + }, + "ThreatIntelligenceResourceInnerKind": { + "description": "The kind of the threat intelligence entity", + "enum": [ + "indicator" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ThreatIntelligenceResourceInnerKind", + "values": [ + { + "description": "Entity represents threat intelligence indicator in the system.", + "value": "indicator" + } + ] + } + }, + "ThreatIntelligenceIndicatorProperties": { + "allOf": [ + { + "$ref": "./common/EntityTypes.json#/definitions/EntityCommonProperties" + } + ], + "description": "Describes threat intelligence entity properties", + "properties": { + "threatIntelligenceTags": { + "description": "List of tags", + "items": { + "description": "tag", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "lastUpdatedTimeUtc": { + "description": "Last updated time in UTC", + "type": "string" + }, + "source": { + "description": "Source of a threat intelligence entity", + "type": "string" + }, + "displayName": { + "description": "Display name of a threat intelligence entity", + "type": "string" + }, + "description": { + "description": "Description of a threat intelligence entity", + "type": "string" + }, + "indicatorTypes": { + "description": "Indicator types of threat intelligence entities", + "items": { + "description": "Indicator type of a threat intelligence entity", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "pattern": { + "description": "Pattern of a threat intelligence entity", + "type": "string" + }, + "patternType": { + "description": "Pattern type of a threat intelligence entity", + "type": "string" + }, + "patternVersion": { + "description": "Pattern version of a threat intelligence entity", + "type": "string" + }, + "killChainPhases": { + "description": "Kill chain phases", + "items": { + "description": "Kill chain phase", + "$ref": "#/definitions/ThreatIntelligenceKillChainPhase" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "parsedPattern": { + "description": "Parsed patterns", + "items": { + "description": "Parsed pattern", + "$ref": "#/definitions/ThreatIntelligenceParsedPattern" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "externalId": { + "description": "External ID of threat intelligence entity", + "type": "string" + }, + "createdByRef": { + "description": "Created by reference of threat intelligence entity", + "type": "string" + }, + "defanged": { + "description": "Is threat intelligence entity defanged", + "type": "boolean" + }, + "externalLastUpdatedTimeUtc": { + "description": "External last updated time in UTC", + "type": "string" + }, + "externalReferences": { + "description": "External References", + "items": { + "description": "external_reference", + "$ref": "#/definitions/ThreatIntelligenceExternalReference" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "granularMarkings": { + "description": "Granular Markings", + "items": { + "description": "Granular marking", + "$ref": "#/definitions/ThreatIntelligenceGranularMarkingModel" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "labels": { + "description": "Labels of threat intelligence entity", + "items": { + "description": "label", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "revoked": { + "description": "Is threat intelligence entity revoked", + "type": "boolean" + }, + "confidence": { + "description": "Confidence of threat intelligence entity", + "type": "integer", + "format": "int32" + }, + "objectMarkingRefs": { + "description": "Threat intelligence entity object marking references", + "items": { + "description": "Threat intelligence entity object marking reference", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "language": { + "description": "Language of threat intelligence entity", + "type": "string" + }, + "threatTypes": { + "description": "Threat types", + "items": { + "description": "Threat type", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "validFrom": { + "description": "Valid from", + "type": "string" + }, + "validUntil": { + "description": "Valid until", + "type": "string" + }, + "created": { + "description": "Created by", + "type": "string" + }, + "modified": { + "description": "Modified by", + "type": "string" + }, + "extensions": { + "description": "Extensions map", + "type": "object", + "additionalProperties": {} + } + }, + "type": "object" + }, + "ThreatIntelligenceKillChainPhase": { + "description": "Describes threat kill chain phase entity", + "properties": { + "killChainName": { + "description": "Kill chainName name", + "type": "string" + }, + "phaseName": { + "description": "Phase name", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceParsedPattern": { + "description": "Describes parsed pattern entity", + "properties": { + "patternTypeKey": { + "description": "Pattern type key", + "type": "string" + }, + "patternTypeValues": { + "description": "Pattern type keys", + "items": { + "description": "Pattern type key", + "$ref": "#/definitions/ThreatIntelligenceParsedPatternTypeValue" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ThreatIntelligenceParsedPatternTypeValue": { + "description": "Describes threat kill chain phase entity", + "properties": { + "valueType": { + "description": "Type of the value", + "type": "string" + }, + "value": { + "description": "Value of parsed pattern", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceGranularMarkingModel": { + "description": "Describes threat granular marking model entity", + "properties": { + "language": { + "description": "Language granular marking model", + "type": "string" + }, + "markingRef": { + "description": "marking reference granular marking model", + "type": "integer", + "format": "int32" + }, + "selectors": { + "description": "granular marking model selectors", + "items": { + "description": "granular marking model selector", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ThreatIntelligenceExternalReference": { + "description": "Describes external reference", + "properties": { + "description": { + "description": "External reference description", + "type": "string" + }, + "externalId": { + "description": "External reference ID", + "type": "string" + }, + "sourceName": { + "description": "External reference source name", + "type": "string" + }, + "url": { + "description": "External reference URL", + "type": "string" + }, + "hashes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "External reference hashes" + } + }, + "type": "object" + }, + "ThreatIntelligenceFilteringCriteria": { + "description": "Filtering criteria for querying threat intelligence indicators.", + "properties": { + "pageSize": { + "description": "Page size", + "type": "integer", + "format": "int32" + }, + "minConfidence": { + "description": "Minimum confidence.", + "type": "integer", + "format": "int32" + }, + "maxConfidence": { + "description": "Maximum confidence.", + "type": "integer", + "format": "int32" + }, + "minValidUntil": { + "description": "Start time for ValidUntil filter.", + "type": "string" + }, + "maxValidUntil": { + "description": "End time for ValidUntil filter.", + "type": "string" + }, + "includeDisabled": { + "description": "Parameter to include/exclude disabled indicators.", + "type": "boolean" + }, + "sortBy": { + "description": "Columns to sort by and sorting order", + "items": { + "description": "Sort By", + "$ref": "#/definitions/ThreatIntelligenceSortingCriteria" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "sources": { + "description": "Sources of threat intelligence indicators", + "items": { + "description": "Source", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "patternTypes": { + "description": "Pattern types", + "items": { + "description": "Pattern type", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "threatTypes": { + "description": "Threat types of threat intelligence indicators", + "items": { + "description": "Threat type of a threat intelligence indicator", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "ids": { + "description": "Ids of threat intelligence indicators", + "items": { + "description": "Id of a threat intelligence indicator", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "keywords": { + "description": "Keywords for searching threat intelligence indicators", + "items": { + "description": "keyword for searching threat intelligence indicators", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "skipToken": { + "description": "Skip token.", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceSortingCriteria": { + "description": "List of available columns for sorting", + "properties": { + "itemKey": { + "description": "Column name", + "type": "string" + }, + "sortOrder": { + "$ref": "#/definitions/ThreatIntelligenceSortingOrder", + "description": "Sorting order (ascending/descending/unsorted)." + } + }, + "type": "object" + }, + "ThreatIntelligenceSortingOrder": { + "description": "Sorting order (ascending/descending/unsorted).", + "enum": [ + "unsorted", + "ascending", + "descending" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ThreatIntelligenceSortingOrder", + "values": [ + { + "value": "unsorted" + }, + { + "value": "ascending" + }, + { + "value": "descending" + } + ] + } + }, + "ThreatIntelligenceAppendTags": { + "description": "Array of tags to be appended to the threat intelligence indicator.", + "properties": { + "threatIntelligenceTags": { + "description": "List of tags to be appended.", + "items": { + "description": "parameter", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ThreatIntelligenceMetricsList": { + "description": "List of all the threat intelligence metric fields (type/threat type/source).", + "properties": { + "value": { + "description": "Array of threat intelligence metric fields (type/threat type/source).", + "items": { + "$ref": "#/definitions/ThreatIntelligenceMetrics" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "ThreatIntelligenceMetrics": { + "description": "Threat intelligence metrics.", + "properties": { + "properties": { + "description": "Threat intelligence metrics.", + "$ref": "#/definitions/ThreatIntelligenceMetric" + } + }, + "type": "object" + }, + "ThreatIntelligenceMetric": { + "description": "Describes threat intelligence metric", + "properties": { + "lastUpdatedTimeUtc": { + "description": "Last updated indicator metric", + "type": "string" + }, + "threatTypeMetrics": { + "description": "Threat type metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "patternTypeMetrics": { + "description": "Pattern type metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "sourceMetrics": { + "description": "Source metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ThreatIntelligenceMetricEntity": { + "description": "Describes threat intelligence metric entity", + "properties": { + "metricName": { + "description": "Metric name", + "type": "string" + }, + "metricValue": { + "description": "Metric value", + "type": "integer", + "format": "int32" + } + }, + "type": "object" + } + }, + "parameters": { + "ThreatIntelligenceName": { + "description": "Threat intelligence indicator name field.", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceProperties": { + "description": "Properties of threat intelligence indicators to create and update.", + "in": "body", + "name": "ThreatIntelligenceProperties", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorModel" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceReplaceTags": { + "description": "Tags in the threat intelligence indicator to be replaced.", + "in": "body", + "name": "ThreatIntelligenceReplaceTags", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorModel" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceFilteringCriteria": { + "description": "Filtering criteria for querying threat intelligence indicators.", + "in": "body", + "name": "ThreatIntelligenceFilteringCriteria", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceFilteringCriteria" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceIndicatorEntityKind": { + "description": "The threat intelligence entity kind", + "in": "query", + "name": "ctiEntityKind", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceAppendTags": { + "description": "The threat intelligence append tags request body", + "in": "body", + "name": "ThreatIntelligenceAppendTags", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceAppendTags" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/Watchlists.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/Watchlists.json new file mode 100644 index 000000000000..7fa2f1d95d4c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/Watchlists.json @@ -0,0 +1,696 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists": { + "get": { + "x-ms-examples": { + "Get all watchlists.": { + "$ref": "./examples/watchlists/GetWatchlists.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Get all watchlists, without watchlist items.", + "operationId": "Watchlists_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}": { + "get": { + "x-ms-examples": { + "Get a watchlist.": { + "$ref": "./examples/watchlists/GetWatchlistByAlias.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Get a watchlist, without its watchlist items.", + "operationId": "Watchlists_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a watchlist.": { + "$ref": "./examples/watchlists/DeleteWatchlist.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Delete a watchlist.", + "operationId": "Watchlists_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update a watchlist.": { + "$ref": "./examples/watchlists/CreateWatchlist.json" + }, + "Create or update a watchlist and bulk creates watchlist items.": { + "$ref": "./examples/watchlists/CreateWatchlistAndWatchlistItems.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Create or update a Watchlist and its Watchlist Items (bulk creation, e.g. through text/csv content type). To create a Watchlist and its Items, we should call this endpoint with rawContent and contentType properties.", + "operationId": "Watchlists_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/Watchlist" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems": { + "get": { + "x-ms-examples": { + "Get all watchlist Items.": { + "$ref": "./examples/watchlists/GetWatchlistItems.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Get all watchlist Items.", + "operationId": "WatchlistItems_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistItemList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}": { + "get": { + "x-ms-examples": { + "Get a watchlist item.": { + "$ref": "./examples/watchlists/GetWatchlistItemById.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Get a watchlist item.", + "operationId": "WatchlistItems_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/WatchlistItemId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a watchlist item.": { + "$ref": "./examples/watchlists/DeleteWatchlistItem.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Delete a watchlist item.", + "operationId": "WatchlistItems_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/WatchlistItemId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update a watchlist item.": { + "$ref": "./examples/watchlists/CreateWatchlistItem.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Create or update a watchlist item.", + "operationId": "WatchlistItems_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/WatchlistItemId" + }, + { + "$ref": "#/parameters/WatchlistItem" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistItem" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/WatchlistItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "WatchlistList": { + "description": "List all the watchlists.", + "type": "object", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of watchlists.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of watchlist.", + "items": { + "$ref": "#/definitions/Watchlist" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "Watchlist": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Watchlist in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/WatchlistProperties", + "description": "Watchlist properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WatchlistProperties": { + "description": "Describes watchlist properties", + "properties": { + "watchlistId": { + "description": "The id (a Guid) of the watchlist", + "type": "string" + }, + "displayName": { + "description": "The display name of the watchlist", + "type": "string" + }, + "provider": { + "description": "The provider of the watchlist", + "type": "string" + }, + "source": { + "description": "The source of the watchlist. Only accepts \"Local file\" and \"Remote storage\". And it must included in the request.", + "type": "string" + }, + "created": { + "description": "The time the watchlist was created", + "format": "date-time", + "type": "string" + }, + "updated": { + "description": "The last time the watchlist was updated", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the watchlist", + "type": "object" + }, + "updatedBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the watchlist", + "type": "object" + }, + "description": { + "description": "A description of the watchlist", + "type": "string" + }, + "watchlistType": { + "description": "The type of the watchlist", + "type": "string" + }, + "watchlistAlias": { + "description": "The alias of the watchlist", + "type": "string" + }, + "isDeleted": { + "description": "A flag that indicates if the watchlist is deleted or not", + "type": "boolean" + }, + "labels": { + "description": "List of labels relevant to this watchlist", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + }, + "defaultDuration": { + "description": "The default duration of a watchlist (in ISO 8601 duration format)", + "format": "duration", + "type": "string" + }, + "tenantId": { + "description": "The tenantId where the watchlist belongs to", + "type": "string" + }, + "numberOfLinesToSkip": { + "description": "The number of lines in a csv content to skip before the header", + "type": "integer", + "format": "int32" + }, + "rawContent": { + "description": "The raw content that represents to watchlist items to create. Example : This line will be skipped\nheader1,header2\nvalue1,value2", + "type": "string" + }, + "itemsSearchKey": { + "description": "The search key is used to optimize query performance when using watchlists for joins with other data. For example, enable a column with IP addresses to be the designated SearchKey field, then use this field as the key field when joining to other event data by IP address.", + "type": "string" + }, + "contentType": { + "description": "The content type of the raw content. For now, only text/csv is valid", + "type": "string" + }, + "uploadStatus": { + "description": "The status of the Watchlist upload : New, InProgress or Complete. **Note** : When a Watchlist upload status is InProgress, the Watchlist cannot be deleted", + "type": "string" + } + }, + "required": [ + "displayName", + "provider", + "itemsSearchKey" + ], + "type": "object" + }, + "WatchlistItemList": { + "description": "List all the watchlist items.", + "type": "object", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of watchlist items.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of watchlist items.", + "items": { + "$ref": "#/definitions/WatchlistItem" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "WatchlistItem": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Watchlist Item in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/WatchlistItemProperties", + "description": "Watchlist Item properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WatchlistItemProperties": { + "description": "Describes watchlist item properties", + "properties": { + "watchlistItemType": { + "description": "The type of the watchlist item", + "type": "string" + }, + "watchlistItemId": { + "description": "The id (a Guid) of the watchlist item", + "type": "string" + }, + "tenantId": { + "description": "The tenantId to which the watchlist item belongs to", + "type": "string" + }, + "isDeleted": { + "description": "A flag that indicates if the watchlist item is deleted or not", + "type": "boolean" + }, + "created": { + "description": "The time the watchlist item was created", + "format": "date-time", + "type": "string" + }, + "updated": { + "description": "The last time the watchlist item was updated", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the watchlist item", + "type": "object" + }, + "updatedBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the watchlist item", + "type": "object" + }, + "itemsKeyValue": { + "description": "key-value pairs for a watchlist item", + "type": "object" + }, + "entityMapping": { + "description": "key-value pairs for a watchlist item entity mapping", + "type": "object" + } + }, + "required": [ + "itemsKeyValue" + ], + "type": "object" + } + }, + "parameters": { + "WatchlistAlias": { + "description": "The watchlist alias", + "in": "path", + "name": "watchlistAlias", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Watchlist": { + "description": "The watchlist", + "in": "body", + "name": "watchlist", + "required": true, + "schema": { + "$ref": "#/definitions/Watchlist" + }, + "x-ms-parameter-location": "method" + }, + "WatchlistItem": { + "description": "The watchlist item", + "in": "body", + "name": "watchlistItem", + "required": true, + "schema": { + "$ref": "#/definitions/WatchlistItem" + }, + "x-ms-parameter-location": "method" + }, + "WatchlistItemId": { + "description": "The watchlist item id (GUID)", + "in": "path", + "name": "watchlistItemId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/common/AlertTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/common/AlertTypes.json new file mode 100644 index 000000000000..c1ddac27cb89 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/common/AlertTypes.json @@ -0,0 +1,70 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-11-01", + "title": "Common Alert types" + }, + "paths": {}, + "definitions": { + "AlertSeverityEnum": { + "description": "The severity of the alert", + "enum": [ + "High", + "Medium", + "Low", + "Informational" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertSeverity", + "values": [ + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "AttackTactic": { + "description": "The severity for alerts created by this alert rule.", + "enum": [ + "Reconnaissance", + "ResourceDevelopment", + "InitialAccess", + "Execution", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact", + "PreAttack", + "ImpairProcessControl", + "InhibitResponseFunction" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AttackTactic" + } + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/common/ContentCommonTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/common/ContentCommonTypes.json new file mode 100644 index 000000000000..b94fc3640bed --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/common/ContentCommonTypes.json @@ -0,0 +1,646 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-11-01", + "title": "Common content metadata types" + }, + "paths": {}, + "definitions": { + "metadataContentId": { + "description": "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Can be optionally set for user created content to define dependencies. If an active content item is made from a metadata, both will have the same contentId.", + "type": "string" + }, + "metadataParentId": { + "description": "Full parent resource ID of the content item the metadata is for. This is the full resource ID including the scope (subscription and resource group)", + "type": "string" + }, + "metadataDisplayName": { + "description": "DisplayName of the content.", + "type": "string" + }, + "metadataVersion": { + "description": "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version checks", + "type": "string" + }, + "metadataPackageKind": { + "description": "The package kind", + "enum": [ + "Solution", + "Standalone" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "packageKind", + "values": [ + { + "value": "Solution" + }, + { + "value": "Standalone" + } + ] + } + }, + "metadataKind": { + "type": "string", + "description": "The kind of content the metadata is for.", + "enum": [ + "DataConnector", + "DataType", + "Workbook", + "WorkbookTemplate", + "Playbook", + "PlaybookTemplate", + "AnalyticsRuleTemplate", + "AnalyticsRule", + "HuntingQuery", + "InvestigationQuery", + "Parser", + "Watchlist", + "WatchlistTemplate", + "Solution", + "AzureFunction", + "LogicAppsCustomConnector", + "AutomationRule" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "kind", + "values": [ + { + "value": "DataConnector" + }, + { + "value": "DataType" + }, + { + "value": "Workbook" + }, + { + "value": "WorkbookTemplate" + }, + { + "value": "Playbook" + }, + { + "value": "PlaybookTemplate" + }, + { + "value": "AnalyticsRuleTemplate" + }, + { + "value": "AnalyticsRule" + }, + { + "value": "HuntingQuery" + }, + { + "value": "InvestigationQuery" + }, + { + "value": "Parser" + }, + { + "value": "Watchlist" + }, + { + "value": "WatchlistTemplate" + }, + { + "value": "Solution" + }, + { + "value": "AzureFunction" + }, + { + "value": "LogicAppsCustomConnector" + }, + { + "value": "AutomationRule" + } + ] + } + }, + "metadataTrueFalseFlag": { + "type": "string", + "description": "The boolean value the metadata is for.", + "enum": [ + "true", + "false" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "flag", + "values": [ + { + "value": "true" + }, + { + "value": "false" + } + ] + } + }, + "metadataSource": { + "description": "The original source of the content item, where it comes from.", + "type": "object", + "required": [ + "kind" + ], + "properties": { + "kind": { + "description": "Source type of the content", + "type": "string", + "enum": [ + "LocalWorkspace", + "Community", + "Solution", + "SourceRepository" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "sourceKind", + "values": [ + { + "value": "LocalWorkspace" + }, + { + "value": "Community" + }, + { + "value": "Solution" + }, + { + "value": "SourceRepository" + } + ] + } + }, + "name": { + "description": "Name of the content source. The repo name, solution name, LA workspace name etc.", + "type": "string" + }, + "sourceId": { + "description": "ID of the content source. The solution ID, workspace ID, etc", + "type": "string" + } + } + }, + "metadataAuthor": { + "type": "object", + "description": "Publisher or creator of the content item.", + "properties": { + "name": { + "description": "Name of the author. Company or person.", + "type": "string" + }, + "email": { + "description": "Email of author contact", + "type": "string" + }, + "link": { + "description": "Link for author/vendor page", + "type": "string" + } + } + }, + "metadataSupport": { + "type": "object", + "description": "Support information for the content item.", + "required": [ + "tier" + ], + "properties": { + "tier": { + "description": "Type of support for content item", + "type": "string", + "enum": [ + "Microsoft", + "Partner", + "Community" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "supportTier", + "values": [ + { + "value": "Microsoft" + }, + { + "value": "Partner" + }, + { + "value": "Community" + } + ] + } + }, + "name": { + "description": "Name of the support contact. Company or person.", + "type": "string" + }, + "email": { + "description": "Email of support contact", + "type": "string" + }, + "link": { + "description": "Link for support help, like to support page to open a ticket etc.", + "type": "string" + } + } + }, + "metadataDependencies": { + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex dependencies.", + "type": "object", + "properties": { + "contentId": { + "description": "Id of the content item we depend on", + "$ref": "#/definitions/metadataContentId" + }, + "kind": { + "description": "Type of the content item we depend on", + "$ref": "#/definitions/metadataKind" + }, + "version": { + "description": "Version of the the content item we depend on. Can be blank, * or missing to indicate any version fulfills the dependency. If version does not match our defined numeric format then an exact match is required.", + "$ref": "#/definitions/metadataVersion" + }, + "name": { + "description": "Name of the content item", + "type": "string" + }, + "operator": { + "description": "Operator used for list of dependencies in criteria array.", + "type": "string", + "enum": [ + "AND", + "OR" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "operator", + "values": [ + { + "value": "AND" + }, + { + "value": "OR" + } + ] + } + }, + "criteria": { + "description": "This is the list of dependencies we must fulfill, according to the AND/OR operator", + "type": "array", + "items": { + "$ref": "#/definitions/metadataDependencies", + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats." + }, + "x-ms-identifiers": [ + "contentId" + ], + "example": [ + { + "kind": "DataConnector", + "contentId": "68b1de8a-b635-430d-b208-01ba3dda5877", + "version": "1.0.0" + }, + { + "kind": "Workbook", + "contentId": "ad903b46-9905-4504-9825-3bcce796da8e", + "version": "1.0.0" + } + ] + } + } + }, + "metadataCategories": { + "type": "object", + "description": "ies for the solution content item", + "properties": { + "domains": { + "description": "domain for the solution content item", + "type": "array", + "example": [ + "str1", + "str2", + "str3" + ], + "items": { + "type": "string" + } + }, + "verticals": { + "description": "Industry verticals for the solution content item", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "str1", + "str2", + "str3" + ] + } + } + }, + "metadataProviders": { + "description": "Providers for the solution content item", + "type": "array", + "example": [ + "str1", + "str2", + "str3" + ], + "items": { + "type": "string" + } + }, + "metadataFirstPublishDate": { + "description": "first publish date of solution content item", + "type": "string", + "format": "date" + }, + "metadataLastPublishDate": { + "description": "last publish date of solution content item", + "type": "string", + "format": "date" + }, + "metadataCustomVersion": { + "description": "The custom version of the content. A optional free text", + "type": "string" + }, + "metadataContentSchemaVersion": { + "description": "Schema version of the content. Can be used to distinguish between different flow based on the schema version", + "type": "string" + }, + "metadataIcon": { + "description": "the icon identifier. this id can later be fetched from the metadata", + "type": "string" + }, + "metadataThreatAnalysisTactics": { + "description": "the tactics the resource covers", + "type": "array", + "example": [ + "reconnaissance", + "exfiltration" + ], + "items": { + "type": "string" + } + }, + "metadataThreatAnalysisTechniques": { + "description": "the techniques the resource covers, these have to be aligned with the tactics being used", + "type": "array", + "example": [ + "T1548", + "T1548.001", + "T1134.003" + ], + "items": { + "type": "string" + } + }, + "metadataPreviewImages": { + "description": "preview image file names. These will be taken from the solution artifacts", + "type": "array", + "example": [ + "example.png", + "example2.jpeg" + ], + "items": { + "type": "string" + } + }, + "metadataPreviewImagesDark": { + "description": "preview image file names. These will be taken from the solution artifacts. used for dark theme support", + "type": "array", + "example": [ + "example.png", + "example2.jpeg" + ], + "items": { + "type": "string" + } + }, + "metadataTags": { + "description": "the tags assigned to the resource", + "type": "array", + "example": [ + "str1", + "str2", + "str3" + ], + "items": { + "type": "string" + } + }, + "templateBaseProperties": { + "description": "Template property bag.", + "type": "object", + "properties": { + "contentId": { + "$ref": "#/definitions/metadataContentId", + "description": "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic for user-created. This is the resource name" + }, + "contentProductId": { + "type": "string", + "description": "Unique ID for the content. It should be generated based on the contentId of the package, contentId of the template, contentKind of the template and the contentVersion of the template" + }, + "packageVersion": { + "$ref": "#/definitions/metadataVersion", + "description": "Version of the package. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but then we cannot guarantee any version checks" + }, + "version": { + "$ref": "#/definitions/metadataVersion", + "description": "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM metadata best practices. Can also be any string, but then we cannot guarantee any version checks" + }, + "displayName": { + "$ref": "#/definitions/metadataDisplayName", + "description": "The display name of the template" + }, + "contentKind": { + "$ref": "#/definitions/metadataKind", + "description": "The kind of content the template is for." + }, + "source": { + "$ref": "#/definitions/metadataSource", + "description": "Source of the content. This is where/how it was created." + }, + "author": { + "$ref": "#/definitions/metadataAuthor", + "description": "The creator of the content item." + }, + "support": { + "$ref": "#/definitions/metadataSupport", + "description": "Support information for the template - type, name, contact information" + }, + "dependencies": { + "$ref": "#/definitions/metadataDependencies", + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats." + }, + "categories": { + "$ref": "#/definitions/metadataCategories", + "description": "Categories for the item" + }, + "providers": { + "$ref": "#/definitions/metadataProviders", + "description": "Providers for the content item" + }, + "firstPublishDate": { + "$ref": "#/definitions/metadataFirstPublishDate", + "description": "first publish date content item" + }, + "lastPublishDate": { + "$ref": "#/definitions/metadataLastPublishDate", + "description": "last publish date for the content item" + }, + "customVersion": { + "$ref": "#/definitions/metadataCustomVersion", + "description": "The custom version of the content. A optional free text" + }, + "contentSchemaVersion": { + "$ref": "#/definitions/metadataContentSchemaVersion", + "description": "Schema version of the content. Can be used to distinguish between different flow based on the schema version" + }, + "icon": { + "$ref": "#/definitions/metadataIcon", + "description": "the icon identifier. this id can later be fetched from the content metadata" + }, + "threatAnalysisTactics": { + "$ref": "#/definitions/metadataThreatAnalysisTactics", + "description": "the tactics the resource covers" + }, + "threatAnalysisTechniques": { + "$ref": "#/definitions/metadataThreatAnalysisTechniques", + "description": "the techniques the resource covers, these have to be aligned with the tactics being used" + }, + "previewImages": { + "$ref": "#/definitions/metadataPreviewImages", + "description": "preview image file names. These will be taken from the solution artifacts" + }, + "previewImagesDark": { + "$ref": "#/definitions/metadataPreviewImagesDark", + "description": "preview image file names. These will be taken from the solution artifacts. used for dark theme support" + }, + "packageId": { + "$ref": "#/definitions/metadataContentId", + "description": "the package Id contains this template" + }, + "packageKind": { + "$ref": "#/definitions/metadataPackageKind", + "description": "the packageKind of the package contains this template" + }, + "packageName": { + "$ref": "#/definitions/metadataDisplayName", + "description": "the name of the package contains this template" + }, + "isDeprecated": { + "$ref": "#/definitions/metadataTrueFalseFlag", + "description": "Flag indicates if this template is deprecated", + "readOnly": true + } + } + }, + "packageBaseProperties": { + "description": "Describes package properties", + "properties": { + "contentId": { + "$ref": "#/definitions/metadataContentId", + "description": "The content id of the package" + }, + "contentProductId": { + "type": "string", + "description": "Unique ID for the content. It should be generated based on the contentId, contentKind and the contentVersion of the package" + }, + "contentKind": { + "$ref": "#/definitions/metadataPackageKind", + "description": "The package kind" + }, + "contentSchemaVersion": { + "$ref": "#/definitions/metadataVersion", + "description": "The version of the content schema." + }, + "isNew": { + "$ref": "#/definitions/metadataTrueFalseFlag", + "description": "Flag indicates if this is a newly published package." + }, + "isPreview": { + "$ref": "#/definitions/metadataTrueFalseFlag", + "description": "Flag indicates if this package is in preview." + }, + "isFeatured": { + "$ref": "#/definitions/metadataTrueFalseFlag", + "description": "Flag indicates if this package is among the featured list." + }, + "isDeprecated": { + "$ref": "#/definitions/metadataTrueFalseFlag", + "description": "Flag indicates if this template is deprecated" + }, + "version": { + "$ref": "#/definitions/metadataVersion", + "description": "the latest version number of the package" + }, + "displayName": { + "$ref": "#/definitions/metadataDisplayName", + "description": "The display name of the package" + }, + "description": { + "description": "The description of the package", + "type": "string" + }, + "publisherDisplayName": { + "$ref": "#/definitions/metadataDisplayName", + "description": "The publisher display name of the package" + }, + "source": { + "$ref": "#/definitions/metadataSource", + "description": "The source of the package" + }, + "author": { + "$ref": "#/definitions/metadataAuthor", + "description": "The author of the package" + }, + "support": { + "$ref": "#/definitions/metadataSupport", + "description": "The support tier of the package" + }, + "dependencies": { + "$ref": "#/definitions/metadataDependencies", + "description": "The support tier of the package" + }, + "providers": { + "$ref": "#/definitions/metadataProviders", + "description": "Providers for the package item" + }, + "firstPublishDate": { + "$ref": "#/definitions/metadataFirstPublishDate", + "description": "first publish date package item" + }, + "lastPublishDate": { + "$ref": "#/definitions/metadataLastPublishDate", + "description": "last publish date for the package item" + }, + "categories": { + "$ref": "#/definitions/metadataCategories", + "description": "The categories of the package" + }, + "threatAnalysisTactics": { + "$ref": "#/definitions/metadataThreatAnalysisTactics", + "description": "the tactics the resource covers" + }, + "threatAnalysisTechniques": { + "$ref": "#/definitions/metadataThreatAnalysisTechniques", + "description": "the techniques the resource covers, these have to be aligned with the tactics being used" + }, + "icon": { + "$ref": "#/definitions/metadataIcon", + "description": "the icon identifier. this id can later be fetched from the content metadata" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/common/EntityTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/common/EntityTypes.json new file mode 100644 index 000000000000..134f53ef9224 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/common/EntityTypes.json @@ -0,0 +1,2287 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-11-01", + "title": "Common Entity types" + }, + "paths": {}, + "definitions": { + "AccountEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an account entity.", + "properties": { + "properties": { + "$ref": "#/definitions/AccountEntityProperties", + "description": "Account entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Account" + }, + "AccountEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Account entity property bag.", + "properties": { + "aadTenantId": { + "description": "The Azure Active Directory tenant id.", + "readOnly": true, + "type": "string" + }, + "aadUserId": { + "description": "The Azure Active Directory user id.", + "readOnly": true, + "type": "string" + }, + "accountName": { + "description": "The name of the account. This field should hold only the name without any domain added to it, i.e. administrator.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name of the account.", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id that contains the account in case it is a local account (not domain joined)", + "readOnly": true, + "type": "string" + }, + "isDomainJoined": { + "description": "Determines whether this is a domain account.", + "readOnly": true, + "type": "boolean" + }, + "ntDomain": { + "description": "The NetBIOS domain name as it appears in the alert format - domain\\username. Examples: NT AUTHORITY.", + "readOnly": true, + "type": "string" + }, + "objectGuid": { + "description": "The objectGUID attribute is a single-value attribute that is the unique identifier for the object, assigned by active directory.", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "puid": { + "description": "The Azure Active Directory Passport User ID.", + "readOnly": true, + "type": "string" + }, + "sid": { + "description": "The account security identifier, e.g. S-1-5-18.", + "readOnly": true, + "type": "string" + }, + "upnSuffix": { + "description": "The user principal name suffix for the account, in some cases it is also the domain name. Examples: contoso.com.", + "readOnly": true, + "type": "string" + }, + "dnsDomain": { + "description": "The fully qualified domain DNS name.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AzureResourceEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an azure resource entity.", + "properties": { + "properties": { + "$ref": "#/definitions/AzureResourceEntityProperties", + "description": "AzureResource entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureResource" + }, + "AzureResourceEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "AzureResource entity property bag.", + "properties": { + "resourceId": { + "description": "The azure resource id of the resource", + "readOnly": true, + "type": "string" + }, + "subscriptionId": { + "description": "The subscription id of the resource", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CloudApplicationEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a cloud application entity.", + "properties": { + "properties": { + "$ref": "#/definitions/CloudApplicationEntityProperties", + "description": "CloudApplication entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "CloudApplication" + }, + "CloudApplicationEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "CloudApplication entity property bag.", + "properties": { + "appId": { + "description": "The technical identifier of the application.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "appName": { + "description": "The name of the related cloud application.", + "readOnly": true, + "type": "string" + }, + "instanceName": { + "description": "The user defined instance name of the cloud application. It is often used to distinguish between several applications of the same type that a customer has.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DnsEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a dns entity.", + "properties": { + "properties": { + "$ref": "#/definitions/DnsEntityProperties", + "description": "Dns entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "DnsResolution" + }, + "DnsEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Dns entity property bag.", + "properties": { + "dnsServerIpEntityId": { + "description": "An ip entity id for the dns server resolving the request", + "readOnly": true, + "type": "string" + }, + "domainName": { + "description": "The name of the dns record associated with the alert", + "readOnly": true, + "type": "string" + }, + "hostIpAddressEntityId": { + "description": "An ip entity id for the dns request client", + "readOnly": true, + "type": "string" + }, + "ipAddressEntityIds": { + "description": "Ip entity identifiers for the resolved ip address.", + "items": { + "description": "Ip entity id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "Entity": { + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "properties": { + "kind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the entity." + } + }, + "description": "Specific entity.", + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "EntityEdges": { + "description": "The edge that connects the entity to the other entity.", + "properties": { + "targetEntityId": { + "description": "The target entity Id.", + "type": "string" + }, + "additionalData": { + "additionalProperties": { + "type": "object" + }, + "description": "A bag of custom fields that should be part of the entity and will be presented to the user.", + "type": "object" + } + }, + "type": "object" + }, + "EntityInnerKind": { + "description": "The kind of the entity", + "enum": [ + "Account", + "Host", + "File", + "AzureResource", + "CloudApplication", + "DnsResolution", + "FileHash", + "Ip", + "Malware", + "Process", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "Url", + "IoTDevice", + "SecurityAlert", + "Bookmark", + "Mailbox", + "MailCluster", + "MailMessage", + "SubmissionMail" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityKindEnum", + "values": [ + { + "description": "Entity represents account in the system.", + "value": "Account" + }, + { + "description": "Entity represents host in the system.", + "value": "Host" + }, + { + "description": "Entity represents file in the system.", + "value": "File" + }, + { + "description": "Entity represents azure resource in the system.", + "value": "AzureResource" + }, + { + "description": "Entity represents cloud application in the system.", + "value": "CloudApplication" + }, + { + "description": "Entity represents dns resolution in the system.", + "value": "DnsResolution" + }, + { + "description": "Entity represents file hash in the system.", + "value": "FileHash" + }, + { + "description": "Entity represents ip in the system.", + "value": "Ip" + }, + { + "description": "Entity represents malware in the system.", + "value": "Malware" + }, + { + "description": "Entity represents process in the system.", + "value": "Process" + }, + { + "description": "Entity represents registry key in the system.", + "value": "RegistryKey" + }, + { + "description": "Entity represents registry value in the system.", + "value": "RegistryValue" + }, + { + "description": "Entity represents security group in the system.", + "value": "SecurityGroup" + }, + { + "description": "Entity represents url in the system.", + "value": "Url" + }, + { + "description": "Entity represents IoT device in the system.", + "value": "IoTDevice" + }, + { + "description": "Entity represents security alert in the system.", + "value": "SecurityAlert" + }, + { + "description": "Entity represents bookmark in the system.", + "value": "Bookmark" + }, + { + "description": "Entity represents mail cluster in the system.", + "value": "MailCluster" + }, + { + "description": "Entity represents mail message in the system.", + "value": "MailMessage" + }, + { + "description": "Entity represents mailbox in the system.", + "value": "Mailbox" + }, + { + "description": "Entity represents submission mail in the system.", + "value": "SubmissionMail" + } + ] + } + }, + "EntityKind": { + "description": "Describes an entity with kind.", + "properties": { + "kind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the entity." + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "FileEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a file entity.", + "properties": { + "properties": { + "$ref": "#/definitions/FileEntityProperties", + "description": "File entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "File" + }, + "FileEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "File entity property bag.", + "properties": { + "directory": { + "description": "The full path to the file.", + "readOnly": true, + "type": "string" + }, + "fileHashEntityIds": { + "description": "The file hash entity identifiers associated with this file", + "items": { + "description": "file hash id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "fileName": { + "description": "The file name without path (some alerts might not include path).", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id which the file belongs to", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FileHashEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a file hash entity.", + "properties": { + "properties": { + "$ref": "#/definitions/FileHashEntityProperties", + "description": "FileHash entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "FileHash" + }, + "FileHashEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "FileHash entity property bag.", + "properties": { + "algorithm": { + "description": "The hash algorithm type.", + "enum": [ + "Unknown", + "MD5", + "SHA1", + "SHA256", + "SHA256AC" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "FileHashAlgorithm", + "values": [ + { + "description": "Unknown hash algorithm", + "value": "Unknown" + }, + { + "description": "MD5 hash type", + "value": "MD5" + }, + { + "description": "SHA1 hash type", + "value": "SHA1" + }, + { + "description": "SHA256 hash type", + "value": "SHA256" + }, + { + "description": "SHA256 Authenticode hash type", + "value": "SHA256AC" + } + ] + } + }, + "hashValue": { + "description": "The file hash value.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GeoLocation": { + "description": "The geo-location context attached to the ip entity", + "properties": { + "asn": { + "description": "Autonomous System Number", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "city": { + "description": "City name", + "readOnly": true, + "type": "string" + }, + "countryCode": { + "description": "The country code according to ISO 3166 format", + "readOnly": true, + "type": "string" + }, + "countryName": { + "description": "Country name according to ISO 3166 Alpha 2: the lowercase of the English Short Name", + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "The longitude of the identified location, expressed as a floating point number with range of -180 to 180, with positive numbers representing East and negative numbers representing West. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "The latitude of the identified location, expressed as a floating point number with range of - 90 to 90, with positive numbers representing North and negative numbers representing South. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "state": { + "description": "State name", + "readOnly": true, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "HostEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a host entity.", + "properties": { + "properties": { + "$ref": "#/definitions/HostEntityProperties", + "description": "Host entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Host" + }, + "HostEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Host entity property bag.", + "properties": { + "azureID": { + "description": "The azure resource id of the VM.", + "readOnly": true, + "type": "string" + }, + "dnsDomain": { + "description": "The DNS domain that this host belongs to. Should contain the compete DNS suffix for the domain", + "readOnly": true, + "type": "string" + }, + "hostName": { + "description": "The hostname without the domain suffix.", + "readOnly": true, + "type": "string" + }, + "isDomainJoined": { + "description": "Determines whether this host belongs to a domain.", + "readOnly": true, + "type": "boolean" + }, + "netBiosName": { + "description": "The host name (pre-windows2000).", + "readOnly": true, + "type": "string" + }, + "ntDomain": { + "description": "The NT domain that this host belongs to.", + "readOnly": true, + "type": "string" + }, + "omsAgentID": { + "description": "The OMS agent id, if the host has OMS agent installed.", + "readOnly": true, + "type": "string" + }, + "osFamily": { + "description": "The operating system type.", + "enum": [ + "Linux", + "Windows", + "Android", + "IOS", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "OSFamily", + "values": [ + { + "description": "Host with Linux operating system.", + "value": "Linux" + }, + { + "description": "Host with Windows operating system.", + "value": "Windows" + }, + { + "description": "Host with Android operating system.", + "value": "Android" + }, + { + "description": "Host with IOS operating system.", + "value": "IOS" + }, + { + "description": "Host with Unknown operating system.", + "value": "Unknown" + } + ] + } + }, + "osVersion": { + "description": "A free text representation of the operating system. This field is meant to hold specific versions the are more fine grained than OSFamily or future values not supported by OSFamily enumeration", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "HuntingBookmark": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a Hunting bookmark entity.", + "properties": { + "properties": { + "$ref": "#/definitions/HuntingBookmarkProperties", + "description": "HuntingBookmark entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Bookmark" + }, + "HuntingBookmarkProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Describes bookmark properties", + "properties": { + "created": { + "description": "The time the bookmark was created", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "displayName": { + "description": "The display name of the bookmark", + "type": "string" + }, + "eventTime": { + "description": "The time of the event", + "format": "date-time", + "type": "string" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "notes": { + "description": "The notes of the bookmark", + "type": "string" + }, + "query": { + "description": "The query of the bookmark.", + "type": "string" + }, + "queryResult": { + "description": "The query result of the bookmark.", + "type": "string" + }, + "updated": { + "description": "The last time the bookmark was updated", + "format": "date-time", + "type": "string" + }, + "updatedBy": { + "$ref": "../../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the bookmark", + "type": "object" + }, + "incidentInfo": { + "$ref": "IncidentTypes.json#/definitions/IncidentInfo", + "description": "Describes an incident that relates to bookmark", + "type": "object" + } + }, + "required": [ + "displayName", + "query" + ], + "type": "object" + }, + "IoTDeviceEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an IoT device entity.", + "properties": { + "properties": { + "$ref": "#/definitions/IoTDeviceEntityProperties", + "description": "IoTDevice entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "IoTDevice" + }, + "IoTDeviceEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "IoTDevice entity property bag.", + "properties": { + "deviceId": { + "description": "The ID of the IoT Device in the IoT Hub", + "readOnly": true, + "type": "string" + }, + "deviceName": { + "description": "The friendly name of the device", + "readOnly": true, + "type": "string" + }, + "source": { + "description": "The source of the device", + "readOnly": true, + "type": "string" + }, + "iotSecurityAgentId": { + "description": "The ID of the security agent running on the device", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "deviceType": { + "description": "The type of the device", + "readOnly": true, + "type": "string" + }, + "vendor": { + "description": "The vendor of the device", + "readOnly": true, + "type": "string" + }, + "edgeId": { + "description": "The ID of the edge device", + "readOnly": true, + "type": "string" + }, + "macAddress": { + "description": "The MAC address of the device", + "readOnly": true, + "type": "string" + }, + "model": { + "description": "The model of the device", + "readOnly": true, + "type": "string" + }, + "serialNumber": { + "description": "The serial number of the device", + "readOnly": true, + "type": "string" + }, + "firmwareVersion": { + "description": "The firmware version of the device", + "readOnly": true, + "type": "string" + }, + "operatingSystem": { + "description": "The operating system of the device", + "readOnly": true, + "type": "string" + }, + "iotHubEntityId": { + "description": "The AzureResource entity id of the IoT Hub", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id of this device", + "readOnly": true, + "type": "string" + }, + "ipAddressEntityId": { + "description": "The IP entity if of this device", + "readOnly": true, + "type": "string" + }, + "threatIntelligence": { + "description": "A list of TI contexts attached to the IoTDevice entity.", + "items": { + "$ref": "#/definitions/ThreatIntelligence" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "protocols": { + "description": "A list of protocols of the IoTDevice entity.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "IpEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an ip entity.", + "properties": { + "properties": { + "$ref": "#/definitions/IpEntityProperties", + "description": "Ip entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Ip" + }, + "IpEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Ip entity property bag.", + "properties": { + "address": { + "description": "The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6)", + "readOnly": true, + "type": "string" + }, + "location": { + "$ref": "#/definitions/GeoLocation", + "description": "The geo-location context attached to the ip entity" + }, + "threatIntelligence": { + "description": "A list of TI contexts attached to the ip entity.", + "items": { + "$ref": "#/definitions/ThreatIntelligence" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "MailboxEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a mailbox entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MailboxEntityProperties", + "description": "Mailbox entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Mailbox" + }, + "MailboxEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Mailbox entity property bag.", + "properties": { + "mailboxPrimaryAddress": { + "description": "The mailbox's primary address", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The mailbox's display name", + "readOnly": true, + "type": "string" + }, + "upn": { + "description": "The mailbox's UPN", + "readOnly": true, + "type": "string" + }, + "externalDirectoryObjectId": { + "description": "The AzureAD identifier of mailbox. Similar to AadUserId in account entity but this property is specific to mailbox object on office side", + "format": "uuid", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MailClusterEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a mail cluster entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MailClusterEntityProperties", + "description": "Mail cluster entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MailCluster" + }, + "MailClusterEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Mail cluster entity property bag.", + "properties": { + "networkMessageIds": { + "description": "The mail message IDs that are part of the mail cluster", + "items": { + "description": "A mail message ID", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "countByDeliveryStatus": { + "description": "Count of mail messages by DeliveryStatus string representation", + "readOnly": true, + "type": "object" + }, + "countByThreatType": { + "description": "Count of mail messages by ThreatType string representation", + "readOnly": true, + "type": "object" + }, + "countByProtectionStatus": { + "description": "Count of mail messages by ProtectionStatus string representation", + "readOnly": true, + "type": "object" + }, + "threats": { + "description": "The threats of mail messages that are part of the mail cluster", + "items": { + "description": "A threat", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "query": { + "description": "The query that was used to identify the messages of the mail cluster", + "readOnly": true, + "type": "string" + }, + "queryTime": { + "description": "The query time", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "mailCount": { + "description": "The number of mail messages that are part of the mail cluster", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "isVolumeAnomaly": { + "description": "Is this a volume anomaly mail cluster", + "readOnly": true, + "type": "boolean" + }, + "source": { + "description": "The source of the mail cluster (default is 'O365 ATP')", + "readOnly": true, + "type": "string" + }, + "clusterSourceIdentifier": { + "description": "The id of the cluster source", + "readOnly": true, + "type": "string" + }, + "clusterSourceType": { + "description": "The type of the cluster source", + "readOnly": true, + "type": "string" + }, + "clusterQueryStartTime": { + "description": "The cluster query start time", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "clusterQueryEndTime": { + "description": "The cluster query end time", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "clusterGroup": { + "description": "The cluster group", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MailMessageEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a mail message entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MailMessageEntityProperties", + "description": "Mail message entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MailMessage" + }, + "MailMessageEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Mail message entity property bag.", + "properties": { + "fileEntityIds": { + "description": "The File entity ids of this mail message's attachments", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "recipient": { + "description": "The recipient of this mail message. Note that in case of multiple recipients the mail message is forked and each copy has one recipient", + "readOnly": true, + "type": "string" + }, + "urls": { + "description": "The Urls contained in this mail message", + "items": { + "description": "A Url contained in this mail message", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "threats": { + "description": "The threats of this mail message", + "items": { + "description": "A threat of the mail message", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "p1Sender": { + "description": "The p1 sender's email address", + "readOnly": true, + "type": "string" + }, + "p1SenderDisplayName": { + "description": "The p1 sender's display name", + "readOnly": true, + "type": "string" + }, + "p1SenderDomain": { + "description": "The p1 sender's domain", + "readOnly": true, + "type": "string" + }, + "senderIP": { + "description": "The sender's IP address", + "readOnly": true, + "type": "string" + }, + "p2Sender": { + "description": "The p2 sender's email address", + "readOnly": true, + "type": "string" + }, + "p2SenderDisplayName": { + "description": "The p2 sender's display name", + "readOnly": true, + "type": "string" + }, + "p2SenderDomain": { + "description": "The p2 sender's domain", + "readOnly": true, + "type": "string" + }, + "receiveDate": { + "description": "The receive date of this message", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "networkMessageId": { + "description": "The network message id of this mail message", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "internetMessageId": { + "description": "The internet message id of this mail message", + "readOnly": true, + "type": "string" + }, + "subject": { + "description": "The subject of this mail message", + "readOnly": true, + "type": "string" + }, + "language": { + "description": "The language of this mail message", + "readOnly": true, + "type": "string" + }, + "threatDetectionMethods": { + "description": "The threat detection methods", + "items": { + "description": "A threat detection method", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "bodyFingerprintBin1": { + "description": "The bodyFingerprintBin1", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin2": { + "description": "The bodyFingerprintBin2", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin3": { + "description": "The bodyFingerprintBin3", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin4": { + "description": "The bodyFingerprintBin4", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin5": { + "description": "The bodyFingerprintBin5", + "type": "integer", + "format": "int32" + }, + "antispamDirection": { + "description": "The directionality of this mail message", + "enum": [ + "Unknown", + "Inbound", + "Outbound", + "Intraorg" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AntispamMailDirection", + "values": [ + { + "description": "Unknown", + "value": "Unknown" + }, + { + "description": "Inbound", + "value": "Inbound" + }, + { + "description": "Outbound", + "value": "Outbound" + }, + { + "description": "Intraorg", + "value": "Intraorg" + } + ] + } + }, + "deliveryAction": { + "description": "The delivery action of this mail message like Delivered, Blocked, Replaced etc", + "enum": [ + "Unknown", + "DeliveredAsSpam", + "Delivered", + "Blocked", + "Replaced" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "DeliveryAction", + "values": [ + { + "description": "Unknown", + "value": "Unknown" + }, + { + "description": "DeliveredAsSpam", + "value": "DeliveredAsSpam" + }, + { + "description": "Delivered", + "value": "Delivered" + }, + { + "description": "Blocked", + "value": "Blocked" + }, + { + "description": "Replaced", + "value": "Replaced" + } + ] + } + }, + "deliveryLocation": { + "description": "The delivery location of this mail message like Inbox, JunkFolder etc", + "enum": [ + "Unknown", + "Inbox", + "JunkFolder", + "DeletedFolder", + "Quarantine", + "External", + "Failed", + "Dropped", + "Forwarded" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "DeliveryLocation", + "values": [ + { + "description": "Unknown", + "value": "Unknown" + }, + { + "description": "Inbox", + "value": "Inbox" + }, + { + "description": "JunkFolder", + "value": "JunkFolder" + }, + { + "description": "DeletedFolder", + "value": "DeletedFolder" + }, + { + "description": "Quarantine", + "value": "Quarantine" + }, + { + "description": "External", + "value": "External" + }, + { + "description": "Failed", + "value": "Failed" + }, + { + "description": "Dropped", + "value": "Dropped" + }, + { + "description": "Forwarded", + "value": "Forwarded" + } + ] + } + } + }, + "type": "object" + }, + "MalwareEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a malware entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MalwareEntityProperties", + "description": "File entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Malware" + }, + "MalwareEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Malware entity property bag.", + "properties": { + "category": { + "description": "The malware category by the vendor, e.g. Trojan", + "readOnly": true, + "type": "string" + }, + "fileEntityIds": { + "description": "List of linked file entity identifiers on which the malware was found", + "items": { + "description": "file entity id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "malwareName": { + "description": "The malware name by the vendor, e.g. Win32/Toga!rfn", + "readOnly": true, + "type": "string" + }, + "processEntityIds": { + "description": "List of linked process entity identifiers on which the malware was found.", + "items": { + "description": "process entity id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ProcessEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a process entity.", + "properties": { + "properties": { + "$ref": "#/definitions/ProcessEntityProperties", + "description": "Process entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Process" + }, + "ProcessEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Process entity property bag.", + "properties": { + "accountEntityId": { + "description": "The account entity id running the processes.", + "readOnly": true, + "type": "string" + }, + "commandLine": { + "description": "The command line used to create the process", + "readOnly": true, + "type": "string" + }, + "creationTimeUtc": { + "description": "The time when the process started to run", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "elevationToken": { + "description": "The elevation token associated with the process.", + "enum": [ + "Default", + "Full", + "Limited" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "ElevationToken", + "values": [ + { + "description": "Default elevation token", + "value": "Default" + }, + { + "description": "Full elevation token", + "value": "Full" + }, + { + "description": "Limited elevation token", + "value": "Limited" + } + ] + } + }, + "hostEntityId": { + "description": "The host entity id on which the process was running", + "readOnly": true, + "type": "string" + }, + "hostLogonSessionEntityId": { + "description": "The session entity id in which the process was running", + "readOnly": true, + "type": "string" + }, + "imageFileEntityId": { + "description": "Image file entity id", + "readOnly": true, + "type": "string" + }, + "parentProcessEntityId": { + "description": "The parent process entity id.", + "readOnly": true, + "type": "string" + }, + "processId": { + "description": "The process ID", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RegistryKeyEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a registry key entity.", + "properties": { + "properties": { + "$ref": "#/definitions/RegistryKeyEntityProperties", + "description": "RegistryKey entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "RegistryKey" + }, + "RegistryKeyEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "RegistryKey entity property bag.", + "properties": { + "hive": { + "description": "the hive that holds the registry key.", + "enum": [ + "HKEY_LOCAL_MACHINE", + "HKEY_CLASSES_ROOT", + "HKEY_CURRENT_CONFIG", + "HKEY_USERS", + "HKEY_CURRENT_USER_LOCAL_SETTINGS", + "HKEY_PERFORMANCE_DATA", + "HKEY_PERFORMANCE_NLSTEXT", + "HKEY_PERFORMANCE_TEXT", + "HKEY_A", + "HKEY_CURRENT_USER" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RegistryHive", + "values": [ + { + "description": "HKEY_LOCAL_MACHINE", + "value": "HKEY_LOCAL_MACHINE" + }, + { + "description": "HKEY_CLASSES_ROOT", + "value": "HKEY_CLASSES_ROOT" + }, + { + "description": "HKEY_CURRENT_CONFIG", + "value": "HKEY_CURRENT_CONFIG" + }, + { + "description": "HKEY_USERS", + "value": "HKEY_USERS" + }, + { + "description": "HKEY_CURRENT_USER_LOCAL_SETTINGS", + "value": "HKEY_CURRENT_USER_LOCAL_SETTINGS" + }, + { + "description": "HKEY_PERFORMANCE_DATA", + "value": "HKEY_PERFORMANCE_DATA" + }, + { + "description": "HKEY_PERFORMANCE_NLSTEXT", + "value": "HKEY_PERFORMANCE_NLSTEXT" + }, + { + "description": "HKEY_PERFORMANCE_TEXT", + "value": "HKEY_PERFORMANCE_TEXT" + }, + { + "description": "HKEY_A", + "value": "HKEY_A" + }, + { + "description": "HKEY_CURRENT_USER", + "value": "HKEY_CURRENT_USER" + } + ] + } + }, + "key": { + "description": "The registry key path.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RegistryValueEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a registry value entity.", + "properties": { + "properties": { + "$ref": "#/definitions/RegistryValueEntityProperties", + "description": "RegistryKey entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "RegistryValue" + }, + "RegistryValueEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "RegistryValue entity property bag.", + "properties": { + "keyEntityId": { + "description": "The registry key entity id.", + "readOnly": true, + "type": "string" + }, + "valueData": { + "description": "String formatted representation of the value data.", + "readOnly": true, + "type": "string" + }, + "valueName": { + "description": "The registry value name.", + "readOnly": true, + "type": "string" + }, + "valueType": { + "description": "Specifies the data types to use when storing values in the registry, or identifies the data type of a value in the registry.", + "enum": [ + "None", + "Unknown", + "String", + "ExpandString", + "Binary", + "DWord", + "MultiString", + "QWord" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RegistryValueKind", + "values": [ + { + "description": "None", + "value": "None" + }, + { + "description": "Unknown value type", + "value": "Unknown" + }, + { + "description": "String value type", + "value": "String" + }, + { + "description": "ExpandString value type", + "value": "ExpandString" + }, + { + "description": "Binary value type", + "value": "Binary" + }, + { + "description": "DWord value type", + "value": "DWord" + }, + { + "description": "MultiString value type", + "value": "MultiString" + }, + { + "description": "QWord value type", + "value": "QWord" + } + ] + } + } + }, + "type": "object" + }, + "SecurityAlert": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a security alert entity.", + "properties": { + "properties": { + "$ref": "#/definitions/SecurityAlertProperties", + "description": "SecurityAlert entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SecurityAlert" + }, + "SecurityAlertProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "SecurityAlert entity property bag.", + "properties": { + "alertDisplayName": { + "description": "The display name of the alert.", + "readOnly": true, + "type": "string" + }, + "alertType": { + "description": "The type name of the alert.", + "readOnly": true, + "type": "string" + }, + "compromisedEntity": { + "description": "Display name of the main entity being reported on.", + "readOnly": true, + "type": "string" + }, + "confidenceLevel": { + "description": "The confidence level of this alert.", + "enum": [ + "Unknown", + "Low", + "High" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConfidenceLevel", + "values": [ + { + "description": "Unknown confidence, the is the default value", + "value": "Unknown" + }, + { + "description": "Low confidence, meaning we have some doubts this is indeed malicious or part of an attack", + "value": "Low" + }, + { + "description": "High confidence that the alert is true positive malicious", + "value": "High" + } + ] + } + }, + "confidenceReasons": { + "description": "The confidence reasons", + "items": { + "description": "confidence reason item", + "properties": { + "reason": { + "description": "The reason's description", + "readOnly": true, + "type": "string" + }, + "reasonType": { + "description": "The type (category) of the reason", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "confidenceScore": { + "description": "The confidence score of the alert.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "confidenceScoreStatus": { + "description": "The confidence score calculation status, i.e. indicating if score calculation is pending for this alert, not applicable or final.", + "enum": [ + "NotApplicable", + "InProcess", + "NotFinal", + "Final" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConfidenceScoreStatus", + "values": [ + { + "description": "Score will not be calculated for this alert as it is not supported by virtual analyst", + "value": "NotApplicable" + }, + { + "description": "No score was set yet and calculation is in progress", + "value": "InProcess" + }, + { + "description": "Score is calculated and shown as part of the alert, but may be updated again at a later time following the processing of additional data", + "value": "NotFinal" + }, + { + "description": "Final score was calculated and available", + "value": "Final" + } + ] + } + }, + "description": { + "description": "Alert description.", + "readOnly": true, + "type": "string" + }, + "endTimeUtc": { + "description": "The impact end time of the alert (the time of the last event contributing to the alert).", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "intent": { + "description": "Holds the alert intent stage(s) mapping for this alert.", + "enum": [ + "Unknown", + "Probing", + "Exploitation", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Execution", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "KillChainIntent", + "values": [ + { + "description": "The default value.", + "value": "Unknown" + }, + { + "description": "Probing could be an attempt to access a certain resource regardless of a malicious intent or a failed attempt to gain access to a target system to gather information prior to exploitation. This step is usually detected as an attempt originating from outside the network in attempt to scan the target system and find a way in.", + "value": "Probing" + }, + { + "description": "Exploitation is the stage where an attacker manage to get foothold on the attacked resource. This stage is applicable not only for compute hosts, but also for resources such as user accounts, certificates etc. Adversaries will often be able to control the resource after this stage.", + "value": "Exploitation" + }, + { + "description": "Persistence is any access, action, or configuration change to a system that gives an adversary a persistent presence on that system. Adversaries will often need to maintain access to systems through interruptions such as system restarts, loss of credentials, or other failures that would require a remote access tool to restart or alternate backdoor for them to regain access.", + "value": "Persistence" + }, + { + "description": "Privilege escalation is the result of actions that allow an adversary to obtain a higher level of permissions on a system or network. Certain tools or actions require a higher level of privilege to work and are likely necessary at many points throughout an operation. User accounts with permissions to access specific systems or perform specific functions necessary for adversaries to achieve their objective may also be considered an escalation of privilege.", + "value": "PrivilegeEscalation" + }, + { + "description": "Defense evasion consists of techniques an adversary may use to evade detection or avoid other defenses. Sometimes these actions are the same as or variations of techniques in other categories that have the added benefit of subverting a particular defense or mitigation. ", + "value": "DefenseEvasion" + }, + { + "description": "Credential access represents techniques resulting in access to or control over system, domain, or service credentials that are used within an enterprise environment. Adversaries will likely attempt to obtain legitimate credentials from users or administrator accounts (local system administrator or domain users with administrator access) to use within the network. With sufficient access within a network, an adversary can create accounts for later use within the environment.", + "value": "CredentialAccess" + }, + { + "description": "Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal network. When adversaries gain access to a new system, they must orient themselves to what they now have control of and what benefits operating from that system give to their current objective or overall goals during the intrusion. The operating system provides many native tools that aid in this post-compromise information-gathering phase.", + "value": "Discovery" + }, + { + "description": "Lateral movement consists of techniques that enable an adversary to access and control remote systems on a network and could, but does not necessarily, include execution of tools on remote systems. The lateral movement techniques could allow an adversary to gather information from a system without needing additional tools, such as a remote access tool. An adversary can use lateral movement for many purposes, including remote Execution of tools, pivoting to additional systems, access to specific information or files, access to additional credentials, or to cause an effect.", + "value": "LateralMovement" + }, + { + "description": "The execution tactic represents techniques that result in execution of adversary-controlled code on a local or remote system. This tactic is often used in conjunction with lateral movement to expand access to remote systems on a network.", + "value": "Execution" + }, + { + "description": "Collection consists of techniques used to identify and gather information, such as sensitive files, from a target network prior to exfiltration. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", + "value": "Collection" + }, + { + "description": "Exfiltration refers to techniques and attributes that result or aid in the adversary removing files and information from a target network. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", + "value": "Exfiltration" + }, + { + "description": "The command and control tactic represents how adversaries communicate with systems under their control within a target network.", + "value": "CommandAndControl" + }, + { + "description": "The impact intent primary objective is to directly reduce the availability or integrity of a system, service, or network; including manipulation of data to impact a business or operational process. This would often refer to techniques such as ransom-ware, defacement, data manipulation and others.", + "value": "Impact" + } + ] + } + }, + "providerAlertId": { + "description": "The identifier of the alert inside the product which generated the alert.", + "readOnly": true, + "type": "string" + }, + "processingEndTime": { + "description": "The time the alert was made available for consumption.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "productComponentName": { + "description": "The name of a component inside the product which generated the alert.", + "readOnly": true, + "type": "string" + }, + "productName": { + "description": "The name of the product which published this alert.", + "readOnly": true, + "type": "string" + }, + "productVersion": { + "description": "The version of the product generating the alert.", + "readOnly": true, + "type": "string" + }, + "remediationSteps": { + "description": "Manual action items to take to remediate the alert.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "severity": { + "$ref": "AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity of the alert" + }, + "startTimeUtc": { + "description": "The impact start time of the alert (the time of the first event contributing to the alert).", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "The lifecycle status of the alert.", + "enum": [ + "Unknown", + "New", + "Resolved", + "Dismissed", + "InProgress" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertStatus", + "values": [ + { + "description": "Unknown value", + "value": "Unknown" + }, + { + "description": "New alert", + "value": "New" + }, + { + "description": "Alert closed after handling", + "value": "Resolved" + }, + { + "description": "Alert dismissed as false positive", + "value": "Dismissed" + }, + { + "description": "Alert is being handled", + "value": "InProgress" + } + ] + } + }, + "systemAlertId": { + "description": "Holds the product identifier of the alert for the product.", + "readOnly": true, + "type": "string" + }, + "tactics": { + "description": "The tactics of the alert", + "items": { + "$ref": "AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "timeGenerated": { + "description": "The time the alert was generated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "vendorName": { + "description": "The name of the vendor that raise the alert.", + "readOnly": true, + "type": "string" + }, + "alertLink": { + "description": "The uri link of the alert.", + "readOnly": true, + "type": "string" + }, + "resourceIdentifiers": { + "description": "The list of resource identifiers of the alert.", + "items": { + "type": "object" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "SecurityGroupEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a security group entity.", + "properties": { + "properties": { + "$ref": "#/definitions/SecurityGroupEntityProperties", + "description": "SecurityGroup entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SecurityGroup" + }, + "SecurityGroupEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "SecurityGroup entity property bag.", + "properties": { + "distinguishedName": { + "description": "The group distinguished name", + "readOnly": true, + "type": "string" + }, + "objectGuid": { + "description": "A single-value attribute that is the unique identifier for the object, assigned by active directory.", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "sid": { + "description": "The SID attribute is a single-value attribute that specifies the security identifier (SID) of the group", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SubmissionMailEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a submission mail entity.", + "properties": { + "properties": { + "$ref": "#/definitions/SubmissionMailEntityProperties", + "description": "Submission mail entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SubmissionMail" + }, + "SubmissionMailEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Submission mail entity property bag.", + "properties": { + "networkMessageId": { + "description": "The network message id of email to which submission belongs", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "submissionId": { + "description": "The submission id", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "submitter": { + "description": "The submitter", + "readOnly": true, + "type": "string" + }, + "submissionDate": { + "description": "The submission date", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "timestamp": { + "description": "The Time stamp when the message is received (Mail)", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "recipient": { + "description": "The recipient of the mail", + "readOnly": true, + "type": "string" + }, + "sender": { + "description": "The sender of the mail", + "readOnly": true, + "type": "string" + }, + "senderIp": { + "description": "The sender's IP", + "readOnly": true, + "type": "string" + }, + "subject": { + "description": "The subject of submission mail", + "readOnly": true, + "type": "string" + }, + "reportType": { + "description": "The submission type for the given instance. This maps to Junk, Phish, Malware or NotJunk.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligence": { + "description": "ThreatIntelligence property bag.", + "properties": { + "confidence": { + "description": "Confidence (must be between 0 and 1)", + "format": "double", + "readOnly": true, + "type": "number" + }, + "providerName": { + "description": "Name of the provider from whom this Threat Intelligence information was received", + "readOnly": true, + "type": "string" + }, + "reportLink": { + "description": "Report link", + "readOnly": true, + "type": "string" + }, + "threatDescription": { + "description": "Threat description (free text)", + "readOnly": true, + "type": "string" + }, + "threatName": { + "description": "Threat name (e.g. \"Jedobot malware\")", + "readOnly": true, + "type": "string" + }, + "threatType": { + "description": "Threat type (e.g. \"Botnet\")", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UrlEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a url entity.", + "properties": { + "properties": { + "$ref": "#/definitions/UrlEntityProperties", + "description": "Url entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Url" + }, + "UrlEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Url entity property bag.", + "properties": { + "url": { + "description": "A full URL the entity points to", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EntityCommonProperties": { + "description": "Entity common property bag.", + "properties": { + "additionalData": { + "additionalProperties": true, + "description": "A bag of custom fields that should be part of the entity and will be presented to the user.", + "readOnly": true, + "type": "object" + }, + "friendlyName": { + "description": "The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/common/IncidentTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/common/IncidentTypes.json new file mode 100644 index 000000000000..4e44a74eb4ab --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/common/IncidentTypes.json @@ -0,0 +1,246 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-11-01", + "title": "Common Incident types" + }, + "paths": {}, + "definitions": { + "IncidentClassificationEnum": { + "description": "The reason the incident was closed", + "enum": [ + "Undetermined", + "TruePositive", + "BenignPositive", + "FalsePositive" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassification", + "values": [ + { + "description": "Incident classification was undetermined", + "value": "Undetermined" + }, + { + "description": "Incident was true positive", + "value": "TruePositive" + }, + { + "description": "Incident was benign positive", + "value": "BenignPositive" + }, + { + "description": "Incident was false positive", + "value": "FalsePositive" + } + ] + } + }, + "IncidentClassificationReasonEnum": { + "description": "The classification reason the incident was closed with", + "enum": [ + "SuspiciousActivity", + "SuspiciousButExpected", + "IncorrectAlertLogic", + "InaccurateData" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassificationReason", + "values": [ + { + "description": "Classification reason was suspicious activity", + "value": "SuspiciousActivity" + }, + { + "description": "Classification reason was suspicious but expected", + "value": "SuspiciousButExpected" + }, + { + "description": "Classification reason was incorrect alert logic", + "value": "IncorrectAlertLogic" + }, + { + "description": "Classification reason was inaccurate data", + "value": "InaccurateData" + } + ] + } + }, + "IncidentLabel": { + "description": "Represents an incident label", + "properties": { + "labelName": { + "description": "The name of the label", + "type": "string" + }, + "labelType": { + "$ref": "#/definitions/IncidentLabelType" + } + }, + "required": [ + "labelName" + ], + "type": "object" + }, + "IncidentLabelType": { + "description": "The type of the label", + "enum": [ + "User", + "AutoAssigned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentLabelType", + "values": [ + { + "description": "Label manually created by a user", + "value": "User" + }, + { + "description": "Label automatically created by the system", + "value": "AutoAssigned" + } + ] + } + }, + "IncidentSeverityEnum": { + "description": "The severity of the incident", + "enum": [ + "High", + "Medium", + "Low", + "Informational" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentSeverity", + "values": [ + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "IncidentStatusEnum": { + "description": "The status of the incident", + "enum": [ + "New", + "Active", + "Closed" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentStatus", + "values": [ + { + "description": "An active incident which isn't being handled currently", + "value": "New" + }, + { + "description": "An active incident which is being handled", + "value": "Active" + }, + { + "description": "A non-active incident", + "value": "Closed" + } + ] + } + }, + "IncidentOwnerInfo": { + "description": "Information on the user an incident is assigned to", + "properties": { + "email": { + "description": "The email of the user the incident is assigned to.", + "type": "string" + }, + "assignedTo": { + "description": "The name of the user the incident is assigned to.", + "type": "string" + }, + "objectId": { + "description": "The object id of the user the incident is assigned to.", + "format": "uuid", + "type": "string" + }, + "userPrincipalName": { + "description": "The user principal name of the user the incident is assigned to.", + "type": "string" + }, + "ownerType": { + "description": "The type of the owner the incident is assigned to.", + "type": "string", + "enum": [ + "Unknown", + "User", + "Group" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "OwnerType", + "values": [ + { + "description": "The incident owner type is unknown", + "value": "Unknown" + }, + { + "description": "The incident owner type is an AAD user", + "value": "User" + }, + { + "description": "The incident owner type is an AAD group", + "value": "Group" + } + ] + } + } + }, + "type": "object" + }, + "IncidentInfo": { + "description": "Describes related incident information for the bookmark", + "properties": { + "incidentId": { + "description": "Incident Id", + "type": "string" + }, + "severity": { + "description": "The severity of the incident", + "type": "string", + "$ref": "#/definitions/IncidentSeverityEnum" + }, + "title": { + "description": "The title of the incident", + "type": "string" + }, + "relationName": { + "description": "Relation Name", + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/actions/CreateActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/actions/CreateActionOfAlertRule.json new file mode 100644 index 000000000000..f2f196f217a1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/actions/CreateActionOfAlertRule.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "action": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "triggerUri": "https://prod-31.northcentralus.logic.azure.com:443/workflows/cd3765391efd48549fd7681ded1d48d7/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=signature", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/actions/DeleteActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/actions/DeleteActionOfAlertRule.json new file mode 100644 index 000000000000..5ab4d646e732 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/actions/DeleteActionOfAlertRule.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/actions/GetActionOfAlertRuleById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/actions/GetActionOfAlertRuleById.json new file mode 100644 index 000000000000..560bf53340da --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/actions/GetActionOfAlertRuleById.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/actions/GetAllActionsByAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/actions/GetAllActionsByAlertRule.json new file mode 100644 index 000000000000..22d4ff876864 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/actions/GetAllActionsByAlertRule.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRuleTemplates/GetAlertRuleTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRuleTemplates/GetAlertRuleTemplateById.json new file mode 100644 index 000000000000..fba95461b43f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRuleTemplates/GetAlertRuleTemplateById.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "alertRuleTemplateId": "65360bb0-8986-4ade-a89d-af3cf44d28aa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRuleTemplates/65360bb0-8986-4ade-a89d-af3cf44d28aa", + "name": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Scheduled", + "properties": { + "severity": "Low", + "query": "let timeframe = 1d;\nAWSCloudTrail\n| where TimeGenerated >= ago(timeframe)\n| where EventName == \"CreateNetworkAclEntry\"\n or EventName == \"CreateRoute\"\n| project TimeGenerated, EventName, EventTypeName, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent, UserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion, EventSource, AdditionalEventData, ResponseElements\n| extend AccountCustomEntity = UserIdentityUserName, IPCustomEntity = SourceIpAddress", + "queryFrequency": "P1D", + "queryPeriod": "P1D", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "displayName": "Changes to Amazon VPC settings", + "description": "This alert monitors changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries and routes in route tables.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand https://aws.amazon.com/vpc/", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "tactics": [ + "PrivilegeEscalation", + "LateralMovement" + ], + "lastUpdatedDateUTC": "2021-02-27T10:00:00Z", + "createdDateUTC": "2019-02-27T00:00:00Z", + "status": "Available", + "version": "1.0.2", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "AccountCustomEntity" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "IPCustomEntity" + } + ] + } + ], + "customDetails": { + "EventNames": "EventName", + "EventTypes": "EventTypeName" + }, + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert on event {{EventName}}", + "alertDescriptionFormat": "Suspicious activity was made by {{AccountCustomEntity}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "alertRulesCreatedByTemplateCount": 0 + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRuleTemplates/GetAlertRuleTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRuleTemplates/GetAlertRuleTemplates.json new file mode 100644 index 000000000000..35edd3ce46fc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRuleTemplates/GetAlertRuleTemplates.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/65360bb0-8986-4ade-a89d-af3cf44d28aa", + "name": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Scheduled", + "properties": { + "severity": "Low", + "query": "let timeframe = 1d;\nAWSCloudTrail\n| where TimeGenerated >= ago(timeframe)\n| where EventName == \"CreateNetworkAclEntry\"\n or EventName == \"CreateRoute\"\n| project TimeGenerated, EventName, EventTypeName, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent, UserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion, EventSource, AdditionalEventData, ResponseElements\n| extend AccountCustomEntity = UserIdentityUserName, IPCustomEntity = SourceIpAddress", + "queryFrequency": "P1D", + "queryPeriod": "P1D", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "displayName": "Changes to Amazon VPC settings", + "description": "This alert monitors changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries and routes in route tables.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand https://aws.amazon.com/vpc/", + "tactics": [ + "PrivilegeEscalation", + "LateralMovement" + ], + "lastUpdatedDateUTC": "2021-02-27T10:00:00Z", + "createdDateUTC": "2019-02-27T00:00:00Z", + "status": "Available", + "version": "1.0.1", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "alertRulesCreatedByTemplateCount": 0 + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/f71aba3d-28fb-450b-b192-4e76a83015c8", + "name": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Place holder: Fusion uses graph powered machine learning algorithms to correlate between millions of lower fidelity anomalous activities from different products such as Azure AD Identity Protection, and Microsoft Cloud App Security, to combine them into a manageable number of interesting security cases.\n", + "tactics": [ + "Persistence", + "LateralMovement", + "Exfiltration", + "CommandAndControl" + ], + "lastUpdatedDateUTC": "2021-03-27T10:00:00Z", + "createdDateUTC": "2019-07-25T00:00:00Z", + "status": "Available", + "severity": "High", + "alertRulesCreatedByTemplateCount": 0 + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/b3cfc7c0-092c-481c-a55b-34a3979758cb", + "name": "b3cfc7c0-092c-481c-a55b-34a3979758cb", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "displayName": "Create incidents based on Microsoft Cloud App Security alerts", + "description": "Create incidents based on all alerts generated in Microsoft Cloud App Security", + "lastUpdatedDateUTC": "2021-05-27T10:00:00Z", + "createdDateUTC": "2019-07-16T00:00:00Z", + "status": "Available", + "alertRulesCreatedByTemplateCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/CreateFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/CreateFusionAlertRule.json new file mode 100644 index 000000000000..b302680ac368 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/CreateFusionAlertRule.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "myFirstFusionRule", + "alertRule": { + "kind": "Fusion", + "etag": "3d00c3ca-0000-0100-0000-5d42d5010000", + "properties": { + "enabled": true, + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "In this mode, Sentinel combines low fidelity alerts, which themselves may not be actionable, and events across multiple products, into high fidelity security interesting incidents. The system looks at multiple products to produce actionable incidents. Custom tailored to each tenant, Fusion not only reduces false positive rates but also can detect attacks with limited or missing information. \nIncidents generated by Fusion system will encase two or more alerts. By design, Fusion incidents are low volume, high fidelity and will be high severity, which is why Fusion is turned ON by default in Azure Sentinel.\n\nFor Fusion to work, please configure the following data sources in Data Connectors tab:\nRequired - Azure Active Directory Identity Protection\nRequired - Microsoft Cloud App Security\nIf Available - Palo Alto Network\n\nFor full list of scenarios covered by Fusion, and detail instructions on how to configure the required data sources, go to aka.ms/SentinelFusion", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Persistence", + "LateralMovement", + "Exfiltration", + "CommandAndControl" + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "In this mode, Sentinel combines low fidelity alerts, which themselves may not be actionable, and events across multiple products, into high fidelity security interesting incidents. The system looks at multiple products to produce actionable incidents. Custom tailored to each tenant, Fusion not only reduces false positive rates but also can detect attacks with limited or missing information. \nIncidents generated by Fusion system will encase two or more alerts. By design, Fusion incidents are low volume, high fidelity and will be high severity, which is why Fusion is turned ON by default in Azure Sentinel.\n\nFor Fusion to work, please configure the following data sources in Data Connectors tab:\nRequired - Azure Active Directory Identity Protection\nRequired - Microsoft Cloud App Security\nIf Available - Palo Alto Network\n\nFor full list of scenarios covered by Fusion, and detail instructions on how to configure the required data sources, go to aka.ms/SentinelFusion", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Persistence", + "LateralMovement", + "Exfiltration", + "CommandAndControl" + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json new file mode 100644 index 000000000000..82d591b7adba --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "microsoftSecurityIncidentCreationRuleExample", + "alertRule": { + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "displayName": "testing displayname", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/CreateScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/CreateScheduledAlertRule.json new file mode 100644 index 000000000000..c456a452359a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/CreateScheduledAlertRule.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "alertRule": { + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertDynamicProperties": [ + { + "alertProperty": "ProductComponentName", + "value": "ProductComponentNameCustomColumn" + }, + { + "alertProperty": "ProductName", + "value": "ProductNameCustomColumn" + }, + { + "alertProperty": "AlertLink", + "value": "Link" + } + ] + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:17:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertDynamicProperties": [ + { + "alertProperty": "ProductComponentName", + "value": "ProductComponentNameCustomColumn" + }, + { + "alertProperty": "ProductName", + "value": "ProductNameCustomColumn" + }, + { + "alertProperty": "AlertLink", + "value": "Link" + } + ] + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerThreshold": 0, + "triggerOperator": "GreaterThan", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:15:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertDynamicProperties": [ + { + "alertProperty": "ProductComponentName", + "value": "ProductComponentNameCustomColumn" + }, + { + "alertProperty": "ProductName", + "value": "ProductNameCustomColumn" + }, + { + "alertProperty": "AlertLink", + "value": "Link" + } + ] + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/DeleteAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/DeleteAlertRule.json new file mode 100644 index 000000000000..eddd6361c895 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/DeleteAlertRule.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/GetAllAlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/GetAllAlertRules.json new file mode 100644 index 000000000000..47f1c2b8e549 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/GetAllAlertRules.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:17:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"25005c11-0000-0d00-0000-5d6cc0e20000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "In this mode, Sentinel combines low fidelity alerts, which themselves may not be actionable, and events across multiple products, into high fidelity security interesting incidents. The system looks at multiple products to produce actionable incidents. Custom tailored to each tenant, Fusion not only reduces false positive rates but also can detect attacks with limited or missing information. \nIncidents generated by Fusion system will encase two or more alerts. By design, Fusion incidents are low volume, high fidelity and will be high severity, which is why Fusion is turned ON by default in Azure Sentinel.\n\nFor Fusion to work, please configure the following data sources in Data Connectors tab:\nRequired - Azure Active Directory Identity Protection\nRequired - Microsoft Cloud App Security\nIf Available - Palo Alto Network\n\nFor full list of scenarios covered by Fusion, and detail instructions on how to configure the required data sources, go to aka.ms/SentinelFusion", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Persistence", + "LateralMovement", + "Exfiltration", + "CommandAndControl" + ], + "severity": "High", + "enabled": false, + "lastModifiedUtc": "2019-09-02T07:12:34.9065092Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/GetFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/GetFusionAlertRule.json new file mode 100644 index 000000000000..4fb40c86eaeb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/GetFusionAlertRule.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "myFirstFusionRule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "In this mode, Sentinel combines low fidelity alerts, which themselves may not be actionable, and events across multiple products, into high fidelity security interesting incidents. The system looks at multiple products to produce actionable incidents. Custom tailored to each tenant, Fusion not only reduces false positive rates but also can detect attacks with limited or missing information. \nIncidents generated by Fusion system will encase two or more alerts. By design, Fusion incidents are low volume, high fidelity and will be high severity, which is why Fusion is turned ON by default in Azure Sentinel.\n\nFor Fusion to work, please configure the following data sources in Data Connectors tab:\nRequired - Azure Active Directory Identity Protection\nRequired - Microsoft Cloud App Security\nIf Available - Palo Alto Network\n\nFor full list of scenarios covered by Fusion, and detail instructions on how to configure the required data sources, go to aka.ms/SentinelFusion", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Persistence", + "LateralMovement", + "Exfiltration", + "CommandAndControl" + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json new file mode 100644 index 000000000000..6d77b49dde8a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "microsoftSecurityIncidentCreationRuleExample" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/GetScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/GetScheduledAlertRule.json new file mode 100644 index 000000000000..dbe48bef66e4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/alertRules/GetScheduledAlertRule.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2019-01-01T13:15:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/automationRules/AutomationRules_CreateOrUpdate.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/automationRules/AutomationRules_CreateOrUpdate.json new file mode 100644 index 000000000000..811e07c62155 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/automationRules/AutomationRules_CreateOrUpdate.json @@ -0,0 +1,171 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "automationRuleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "automationRule": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "Suspicious alerts in workspace", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Alerts", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "AlertAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "RunPlaybook", + "actionConfiguration": { + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourcegroups/myRg/providers/Microsoft.Logic/workflows/mail-notify-suspicious-alerts", + "tenantId": "d23e3eef-eed0-428f-a2d5-bc48c268e31d" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "Suspicious alerts in workspace", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Alerts", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "AlertAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "RunPlaybook", + "actionConfiguration": { + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourcegroups/myRg/providers/Microsoft.Logic/workflows/mail-notify-suspicious-alerts", + "tenantId": "d23e3eef-eed0-428f-a2d5-bc48c268e31d" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "Suspicious alerts in workspace", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Alerts", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "AlertAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "RunPlaybook", + "actionConfiguration": { + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourcegroups/myRg/providers/Microsoft.Logic/workflows/mail-notify-suspicious-alerts", + "tenantId": "d23e3eef-eed0-428f-a2d5-bc48c268e31d" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/automationRules/AutomationRules_Delete.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/automationRules/AutomationRules_Delete.json new file mode 100644 index 000000000000..0e5b3c80d20f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/automationRules/AutomationRules_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "automationRuleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": {} + }, + "204": { + "body": {} + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/automationRules/AutomationRules_Get.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/automationRules/AutomationRules_Get.json new file mode 100644 index 000000000000..e92b5753b84a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/automationRules/AutomationRules_Get.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "automationRuleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "Suspicious alerts in workspace", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Alerts", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "AlertAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "RunPlaybook", + "actionConfiguration": { + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourcegroups/myRg/providers/Microsoft.Logic/workflows/mail-notify-suspicious-alerts", + "tenantId": "d23e3eef-eed0-428f-a2d5-bc48c268e31d" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/automationRules/AutomationRules_List.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/automationRules/AutomationRules_List.json new file mode 100644 index 000000000000..6901d2168733 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/automationRules/AutomationRules_List.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "Suspicious alerts in workspace", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Alerts", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "AlertAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "RunPlaybook", + "actionConfiguration": { + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourcegroups/myRg/providers/Microsoft.Logic/workflows/mail-notify-suspicious-alerts", + "tenantId": "d23e3eef-eed0-428f-a2d5-bc48c268e31d" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/bookmarks/CreateBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/bookmarks/CreateBookmark.json new file mode 100644 index 000000000000..56f50da00b01 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/bookmarks/CreateBookmark.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "bookmark": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/bookmarks/DeleteBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/bookmarks/DeleteBookmark.json new file mode 100644 index 000000000000..88f086a327ca --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/bookmarks/DeleteBookmark.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/bookmarks/GetBookmarkById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/bookmarks/GetBookmarkById.json new file mode 100644 index 000000000000..c0346b264825 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/bookmarks/GetBookmarkById.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "incidentInfo": { + "incidentId": "DDA55F97-170B-40B9-B8ED-CBFD05481E7D", + "severity": "Low", + "title": "New case 1", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0018" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/bookmarks/GetBookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/bookmarks/GetBookmarks.json new file mode 100644 index 000000000000..30ffd0be88ed --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/bookmarks/GetBookmarks.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "incidentInfo": { + "incidentId": "DDA55F97-170B-40B9-B8ED-CBFD05481E7D", + "severity": "Low", + "title": "New case 1", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0018" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/GetPackageById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/GetPackageById.json new file mode 100644 index 000000000000..947851702dee --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/GetPackageById.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfeab2-9ae0-4464-9919-dccaee2e48f0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "packageId": "str.azure-sentinel-solution-str" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfeab2-9ae0-4464-9919-dccaee2e48f0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/contentPackages/str.azure-sentinel-solution-str", + "name": "str.azure-sentinel-solution-str", + "type": "Microsoft.SecurityInsights/contentpackages", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "contentId": "str.azure-sentinel-solution-str", + "contentProductId": "str.azure-sentinel-solution-str-sl-igl6jawr4gwmu", + "contentKind": "Solution", + "version": "2.0.0", + "displayName": "str" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/GetPackages.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/GetPackages.json new file mode 100644 index 000000000000..a4c636cf9512 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/GetPackages.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfeab2-9ae0-4464-9919-dccaee2e48f0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "packageId": "str.azure-sentinel-solution-str" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfeab2-9ae0-4464-9919-dccaee2e48f0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/contentPackages", + "name": "str.azure-sentinel-solution-str", + "type": "Microsoft.SecurityInsights/contentpackages", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "contentId": "str.azure-sentinel-solution-str", + "contentProductId": "str.azure-sentinel-solution-str-sl-igl6jawr4gwmu", + "contentKind": "Solution", + "contentSchemaVersion": "3.0.0", + "version": "2.0.0", + "displayName": "str" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/GetProductPackageById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/GetProductPackageById.json new file mode 100644 index 000000000000..fedd93d08498 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/GetProductPackageById.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfeab2-9ae0-4464-9919-dccaee2e48f0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "packageId": "str.azure-sentinel-solution-str" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfeab2-9ae0-4464-9919-dccaee2e48f0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/contentPackages/str.azure-sentinel-solution-str", + "name": "str.azure-sentinel-solution-str", + "type": "Microsoft.SecurityInsights/contentpackages", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "contentId": "str.azure-sentinel-solution-str", + "contentProductId": "str.azure-sentinel-solution-str-sl-igl6jawr4gwmu", + "contentKind": "Solution", + "installedVersion": "2.0.0", + "version": "2.0.0", + "displayName": "str", + "source": { + "kind": "Solution", + "name": "str", + "sourceId": "str.azure-sentinel-solution-str" + }, + "author": { + "name": "Microsoft", + "email": "support@microsoft.com" + }, + "support": { + "tier": "Microsoft", + "name": "Microsoft Corporation", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/" + }, + "dependencies": { + "criteria": [ + { + "contentId": "strDataConnector", + "kind": "DataConnector", + "version": "2.0.0" + }, + { + "contentId": "str-Parser", + "kind": "Parser", + "version": "2.0.0" + } + ], + "operator": "AND" + }, + "providers": [ + "Microsoft" + ], + "categories": { + "domains": [ + "Security - Cloud Security" + ], + "verticals": null + }, + "firstPublishDate": "2022-04-01", + "packageContent": "JSON string of the package" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/GetProductPackages.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/GetProductPackages.json new file mode 100644 index 000000000000..75e37d4e4ebd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/GetProductPackages.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfeab2-9ae0-4464-9919-dccaee2e48f0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfeab2-9ae0-4464-9919-dccaee2e48f0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/contentPackages", + "name": "str.azure-sentinel-solution-str", + "type": "Microsoft.SecurityInsights/contentpackages", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "contentId": "str.azure-sentinel-solution-str", + "contentProductId": "str.azure-sentinel-solution-str-sl-igl6jawr4gwmu", + "contentKind": "Solution", + "installedVersion": "2.0.0", + "version": "2.0.0", + "displayName": "str", + "source": { + "kind": "Solution", + "name": "str", + "sourceId": "str.azure-sentinel-solution-str" + }, + "author": { + "name": "Microsoft", + "email": "support@microsoft.com" + }, + "support": { + "tier": "Microsoft", + "name": "Microsoft Corporation", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/" + }, + "dependencies": { + "criteria": [ + { + "contentId": "strDataConnector", + "kind": "DataConnector", + "version": "2.0.0" + }, + { + "contentId": "str-Parser", + "kind": "Parser", + "version": "2.0.0" + } + ], + "operator": "AND" + }, + "providers": [ + "Microsoft" + ], + "categories": { + "domains": [ + "Security - Cloud Security" + ], + "verticals": null + }, + "firstPublishDate": "2022-04-01" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/InstallPackage.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/InstallPackage.json new file mode 100644 index 000000000000..12e2a17ef71a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/InstallPackage.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfeab2-9ae0-4464-9919-dccaee2e48f0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "packageId": "str.azure-sentinel-solution-str", + "packageInstallationProperties": { + "properties": { + "contentId": "str.azure-sentinel-solution-str", + "contentProductId": "str.azure-sentinel-solution-str-sl-igl6jawr4gwmu", + "contentKind": "Solution", + "version": "2.0.0", + "displayName": "str" + }, + "tags": { + "tag1": "str" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfeab2-9ae0-4464-9919-dccaee2e48f0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/contentPackages/str.azure-sentinel-solution-str", + "name": "str.azure-sentinel-solution-str", + "type": "Microsoft.SecurityInsights/contentpackages", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "contentId": "str.azure-sentinel-solution-str", + "contentKind": "Solution", + "contentProductId": "str.azure-sentinel-solution-str-sl-igl6jawr4gwmu", + "installedVersion": "2.0.0", + "version": "2.0.0", + "displayName": "str", + "source": { + "kind": "Solution", + "name": "str", + "sourceId": "str.azure-sentinel-solution-str" + }, + "author": { + "name": "Microsoft", + "email": "support@microsoft.com" + }, + "support": { + "tier": "Microsoft", + "name": "Microsoft Corporation", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/" + }, + "dependencies": { + "criteria": [ + { + "contentId": "strDataConnector", + "kind": "DataConnector", + "version": "2.0.0" + }, + { + "contentId": "str-Parser", + "kind": "Parser", + "version": "2.0.0" + } + ], + "operator": "AND" + }, + "providers": [ + "Microsoft" + ], + "categories": { + "domains": [ + "Security - Cloud Security" + ], + "verticals": null + }, + "firstPublishDate": "2022-04-01" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfeab2-9ae0-4464-9919-dccaee2e48f0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/contentPackages/str.azure-sentinel-solution-str", + "name": "str.azure-sentinel-solution-str", + "type": "Microsoft.SecurityInsights/contentpackages", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "contentId": "str.azure-sentinel-solution-str", + "contentProductId": "str.azure-sentinel-solution-str-sl-igl6jawr4gwmu", + "contentKind": "Solution", + "installedVersion": "2.0.0", + "version": "2.0.0", + "displayName": "str", + "source": { + "kind": "Solution", + "name": "str", + "sourceId": "str.azure-sentinel-solution-str" + }, + "author": { + "name": "Microsoft", + "email": "support@microsoft.com" + }, + "support": { + "tier": "Microsoft", + "name": "Microsoft Corporation", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/" + }, + "dependencies": { + "criteria": [ + { + "contentId": "strDataConnector", + "kind": "DataConnector", + "version": "2.0.0" + }, + { + "contentId": "str-Parser", + "kind": "Parser", + "version": "2.0.0" + } + ], + "operator": "AND" + }, + "providers": [ + "Microsoft" + ], + "categories": { + "domains": [ + "Security - Cloud Security" + ], + "verticals": null + }, + "firstPublishDate": "2022-04-01" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/UninstallPackage.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/UninstallPackage.json new file mode 100644 index 000000000000..1eb22e576f8e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentPackages/UninstallPackage.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfeab2-9ae0-4464-9919-dccaee2e48f0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "packageId": "str.azure-sentinel-solution-str" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/DeleteTemplate.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/DeleteTemplate.json new file mode 100644 index 000000000000..71e7cc8d4388 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/DeleteTemplate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfeab2-9ae0-4464-9919-dccaee2e48f0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "templateId": "8365ebfe-a381-45b7-ad08-7d818070e11f" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/GetProductTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/GetProductTemplateById.json new file mode 100644 index 000000000000..a3a439c6cf6f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/GetProductTemplateById.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfeab2-9ae0-4464-9919-dccaee2e48f0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "templateId": "8365ebfe-a381-45b7-ad08-7d818070e11f" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfeab2-9ae0-4464-9919-dccaee2e48f0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/contentTemplates/8365ebfe-a381-45b7-ad08-7d818070e11f", + "name": "8365ebfe-a381-45b7-ad08-7d818070e11f", + "type": "Microsoft.SecurityInsights/contenttemplates", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "contentId": "contentId", + "version": "1.0.0", + "packageVersion": "1.0.0", + "displayName": "My installed template", + "contentKind": "Workbooks", + "contentProductId": "packageId-wb-rimnsoeh4nt32", + "packageId": "packageId", + "packageKind": "Standalone", + "packageName": "package name", + "source": { + "kind": "Standalone", + "name": "Source name" + }, + "mainTemplate": {} + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/GetProductTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/GetProductTemplates.json new file mode 100644 index 000000000000..b7992edbfde3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/GetProductTemplates.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfeab2-9ae0-4464-9919-dccaee2e48f0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfeab2-9ae0-4464-9919-dccaee2e48f0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/contentTemplates", + "name": "8365ebfe-a381-45b7-ad08-7d818070e11f", + "type": "Microsoft.SecurityInsights/contenttemplates", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "contentId": "contentId", + "contentProductId": "packageId-wb-rimnsoeh4nt32", + "version": "1.0.0", + "packageVersion": "1.0.0", + "displayName": "My installed template", + "contentKind": "Workbooks", + "packageId": "packageId", + "packageKind": "Standalone", + "packageName": "package name", + "source": { + "kind": "Standalone", + "name": "Source name" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/GetTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/GetTemplateById.json new file mode 100644 index 000000000000..d0f99270a79f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/GetTemplateById.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfeab2-9ae0-4464-9919-dccaee2e48f0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "templateId": "8365ebfe-a381-45b7-ad08-7d818070e11f" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfeab2-9ae0-4464-9919-dccaee2e48f0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/contentTemplates/8365ebfe-a381-45b7-ad08-7d818070e11f", + "name": "8365ebfe-a381-45b7-ad08-7d818070e11f", + "type": "Microsoft.SecurityInsights/contenttemplates", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "contentId": "contentId", + "contentProductId": "packageId-wb-rimnsoeh4nt32", + "version": "1.0.0", + "packageVersion": "1.0.0", + "displayName": "My installed template", + "contentKind": "Workbooks", + "packageId": "packageId", + "source": { + "kind": "Standalone", + "name": "Source name" + }, + "mainTemplate": {} + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/GetTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/GetTemplates.json new file mode 100644 index 000000000000..c5871815ca2a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/GetTemplates.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfeab2-9ae0-4464-9919-dccaee2e48f0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfeab2-9ae0-4464-9919-dccaee2e48f0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/contentTemplates", + "name": "8365ebfe-a381-45b7-ad08-7d818070e11f", + "type": "Microsoft.SecurityInsights/contenttemplates", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "contentId": "contentId", + "contentProductId": "packageId-wb-rimnsoeh4nt32", + "packageVersion": "1.0.0", + "version": "1.0.0", + "displayName": "My installed template", + "contentKind": "Workbooks", + "packageId": "packageId", + "source": { + "kind": "Standalone", + "name": "Source name" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/InstallTemplate.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/InstallTemplate.json new file mode 100644 index 000000000000..d38c3319bc92 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/contentTemplates/InstallTemplate.json @@ -0,0 +1,228 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfeab2-9ae0-4464-9919-dccaee2e48f0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "templateId": "str.azure-sentinel-solution-str", + "templateInstallationProperties": { + "properties": { + "contentId": "8365ebfe-a381-45b7-ad08-7d818070e11f", + "contentProductId": "str.azure-sentinel-solution-str-ar-cbfe4fndz66bi", + "displayName": "API Protection workbook template", + "contentKind": "AnalyticsRule", + "version": "1.0.1", + "packageVersion": "1.0.0", + "packageId": "str.azure-sentinel-solution-str", + "packageName": "str", + "packageKind": "Solution", + "source": { + "kind": "Solution", + "name": "str", + "sourceId": "str.azure-sentinel-solution-str" + }, + "author": { + "name": "Microsoft", + "email": "support@microsoft.com" + }, + "support": { + "tier": "Microsoft", + "name": "Microsoft Corporation", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/" + }, + "mainTemplate": { + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.1", + "resources": [ + { + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "name": "8365ebfe-a381-45b7-ad08-7d818070e11f", + "apiVersion": "2022-04-01-preview", + "kind": "Scheduled", + "location": "[parameters('workspace-location')]", + "properties": { + "description": "Creates an incident when a large number of Critical/High severity CrowdStrike Falcon sensor detections is triggered by a single user", + "displayName": "Critical or High Severity Detections by User", + "enabled": false, + "query": "...", + "queryFrequency": "PT1H", + "queryPeriod": "PT1H", + "severity": "High", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "status": "Available" + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", + "apiVersion": "2022-01-01-preview", + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('AnalyticsRule-', last(split([resourceId('Microsoft.SecurityInsights/AlertRuleTemplates', 8365ebfe-a381-45b7-ad08-7d818070e11f)],'/'))))]", + "properties": { + "description": "CrowdStrike Falcon Endpoint Protection Analytics Rule 1", + "parentId": "[resourceId('Microsoft.SecurityInsights/AlertRuleTemplates', 8365ebfe-a381-45b7-ad08-7d818070e11f)]", + "contentId": "4465ebde-b381-45f7-ad08-7d818070a11c", + "kind": "AnalyticsRule", + "version": "1.0.0", + "source": { + "kind": "Solution", + "name": "str", + "sourceId": "str.azure-sentinel-solution-str" + }, + "author": { + "name": "Microsoft", + "email": "support@microsoft.com" + }, + "support": { + "tier": "Microsoft", + "name": "Microsoft Corporation", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/" + } + } + } + ] + } + }, + "tags": { + "tag1": "str" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfeab2-9ae0-4464-9919-dccaee2e48f0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/contentPackages/azuresentinel.azure-sentinel-solution-ciscoumbrella", + "name": "azuresentinel.azure-sentinel-solution-ciscoumbrella", + "type": "Microsoft.SecurityInsights/contenttemplates", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "contentId": "8365ebfe-a381-45b7-ad08-7d818070e11f", + "contentProductId": "str.azure-sentinel-solution-str-ar-cbfe4fndz66bi", + "packageKind": "Solution", + "packageId": "str.azure-sentinel-solution-str", + "packageVersion": "1.0.0", + "contentKind": "AnalyticsRule", + "version": "1.0.1", + "displayName": "API Protection workbook template", + "source": { + "kind": "Solution", + "name": "CiscoUmbrella", + "sourceId": "azuresentinel.azure-sentinel-solution-ciscoumbrella" + }, + "author": { + "name": "Microsoft", + "email": "support@microsoft.com" + }, + "support": { + "tier": "Microsoft", + "name": "Microsoft Corporation", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/" + }, + "dependencies": { + "criteria": [ + { + "contentId": "strDataConnector", + "kind": "DataConnector", + "version": "2.0.0" + }, + { + "contentId": "str-Parser", + "kind": "Parser", + "version": "2.0.0" + } + ], + "operator": "AND" + }, + "providers": [ + "Microsoft" + ], + "categories": { + "domains": [ + "Security - Cloud Security" + ], + "verticals": null + }, + "firstPublishDate": "2022-04-01" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfeab2-9ae0-4464-9919-dccaee2e48f0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/contentPackages/azuresentinel.azure-sentinel-solution-ciscoumbrella", + "name": "azuresentinel.azure-sentinel-solution-ciscoumbrella", + "type": "Microsoft.SecurityInsights/contenttemplates", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "contentId": "8365ebfe-a381-45b7-ad08-7d818070e11f", + "contentProductId": "str.azure-sentinel-solution-str-ar-cbfe4fndz66bi", + "packageKind": "Solution", + "packageId": "str.azure-sentinel-solution-str", + "packageVersion": "1.0.0", + "contentKind": "AnalyticsRule", + "version": "1.0.1", + "displayName": "API Protection workbook template", + "source": { + "kind": "Solution", + "name": "CiscoUmbrella", + "sourceId": "azuresentinel.azure-sentinel-solution-ciscoumbrella" + }, + "author": { + "name": "Microsoft", + "email": "support@microsoft.com" + }, + "support": { + "tier": "Microsoft", + "name": "Microsoft Corporation", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/" + }, + "dependencies": { + "criteria": [ + { + "contentId": "strDataConnector", + "kind": "DataConnector", + "version": "2.0.0" + }, + { + "contentId": "str-Parser", + "kind": "Parser", + "version": "2.0.0" + } + ], + "operator": "AND" + }, + "providers": [ + "Microsoft" + ], + "categories": { + "domains": [ + "Security - Cloud Security" + ], + "verticals": null + }, + "firstPublishDate": "2022-04-01" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-04-27T21:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-04-27T21:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/CreateOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/CreateOfficeDataConnetor.json new file mode 100644 index 000000000000..82a531373e88 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/CreateOfficeDataConnetor.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json new file mode 100644 index 000000000000..895fb6835173 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "ThreatIntelligence", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/DeleteOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/DeleteOfficeDataConnetor.json new file mode 100644 index 000000000000..4b8152e3b8b6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/DeleteOfficeDataConnetor.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json new file mode 100644 index 000000000000..a4951418da18 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesCloudTrail", + "properties": { + "awsRoleArn": "myAwsRoleArn", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetAzureActiveDirectoryById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetAzureActiveDirectoryById.json new file mode 100644 index 000000000000..33ebc29d7391 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetAzureActiveDirectoryById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "name": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureActiveDirectory", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json new file mode 100644 index 000000000000..99f45865ecb9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "07e42cb3-e658-4e90-801c-efa0f29d3d44" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/07e42cb3-e658-4e90-801c-efa0f29d3d44", + "name": "07e42cb3-e658-4e90-801c-efa0f29d3d44", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetAzureSecurityCenterById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetAzureSecurityCenterById.json new file mode 100644 index 000000000000..e226739ba1aa --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetAzureSecurityCenterById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "name": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureSecurityCenter", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "subscriptionId": "c0688291-89d7-4bed-87a2-a7b1bff43f4c", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetDataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetDataConnectors.json new file mode 100644 index 000000000000..8ac084338ef6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetDataConnectors.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "name": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureSecurityCenter", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "name": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureActiveDirectory", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/b96d014d-b5c2-4a01-9aba-a8058f629d42", + "name": "b96d014d-b5c2-4a01-9aba-a8058f629d42", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftCloudAppSecurity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + }, + "discoveryLogs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/07e42cb3-e658-4e90-801c-efa0f29d3d44", + "name": "07e42cb3-e658-4e90-801c-efa0f29d3d44", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesCloudTrail", + "properties": { + "awsRoleArn": "myAwsRoleArn", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "name": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftDefenderAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json new file mode 100644 index 000000000000..856eac3eb0ae --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "b96d014d-b5c2-4a01-9aba-a8058f629d42" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/b96d014d-b5c2-4a01-9aba-a8058f629d42", + "name": "b96d014d-b5c2-4a01-9aba-a8058f629d42", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftCloudAppSecurity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + }, + "discoveryLogs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json new file mode 100644 index 000000000000..7b9e608a7379 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "name": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftDefenderAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetOfficeDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetOfficeDataConnetorById.json new file mode 100644 index 000000000000..974be0def36d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetOfficeDataConnetorById.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetThreatIntelligenceById.json new file mode 100644 index 000000000000..a380d3bff74c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/dataConnectors/GetThreatIntelligenceById.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/CreateIncident.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/CreateIncident.json new file mode 100644 index 000000000000..c68731ba5391 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/CreateIncident.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incident": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "providerName": "Azure Sentinel", + "providerIncidentId": "3177", + "relatedAnalyticRuleIds": [], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "providerName": "Azure Sentinel", + "providerIncidentId": "3177", + "relatedAnalyticRuleIds": [], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/DeleteIncident.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/DeleteIncident.json new file mode 100644 index 000000000000..3dc7ca484373 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/DeleteIncident.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetAllIncidentAlerts.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetAllIncidentAlerts.json new file mode 100644 index 000000000000..1f42d33d1356 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetAllIncidentAlerts.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRG/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Entities/baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "name": "baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "SecurityAlert", + "properties": { + "systemAlertId": "baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "tactics": [], + "alertDisplayName": "myAlert", + "confidenceLevel": "Unknown", + "severity": "Low", + "vendorName": "Microsoft", + "productName": "Azure Security Center", + "alertType": "myAlert", + "processingEndTime": "2020-07-20T18:21:53.6158361Z", + "status": "New", + "endTimeUtc": "2020-07-20T18:21:53.6158361Z", + "startTimeUtc": "2020-07-20T18:21:53.6158361Z", + "timeGenerated": "2020-07-20T18:21:53.6158361Z", + "resourceIdentifiers": [ + { + "type": "LogAnalytics", + "workspaceId": "c8c99641-985d-4e4e-8e91-fb3466cd0e5b", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroup": "myRG" + } + ], + "additionalData": { + "AlertMessageEnqueueTime": "2020-07-20T18:21:57.304Z" + }, + "friendlyName": "myAlert" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetAllIncidentBookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetAllIncidentBookmarks.json new file mode 100644 index 000000000000..bb284b803073 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetAllIncidentBookmarks.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/afbd324f-6c48-459c-8710-8d1e1cd03812", + "name": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Bookmark", + "properties": { + "displayName": "SecurityEvent - 868f40f4698d", + "created": "2020-06-17T15:34:01.4265524+00:00", + "updated": "2020-06-17T15:34:01.4265524+00:00", + "createdBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "updatedBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "eventTime": "2020-06-17T15:34:01.4265524+00:00", + "labels": [], + "query": "SecurityEvent\r\n| take 1\n", + "queryResult": "{\"TimeGenerated\":\"2020-05-24T01:24:25.67Z\",\"Account\":\"\\\\ADMINISTRATOR\",\"AccountType\":\"User\",\"Computer\":\"SecurityEvents\",\"EventSourceName\":\"Microsoft-Windows-Security-Auditing\",\"Channel\":\"Security\",\"Task\":12544,\"Level\":\"16\",\"EventID\":4625,\"Activity\":\"4625 - An account failed to log on.\",\"AuthenticationPackageName\":\"NTLM\",\"FailureReason\":\"%%2313\",\"IpAddress\":\"176.113.115.73\",\"IpPort\":\"0\",\"LmPackageName\":\"-\",\"LogonProcessName\":\"NtLmSsp \",\"LogonType\":3,\"LogonTypeName\":\"3 - Network\",\"Process\":\"-\",\"ProcessId\":\"0x0\",\"__entityMapping\":{\"\\\\ADMINISTRATOR\":\"Account\",\"SecurityEvents\":\"Host\"}}", + "additionalData": { + "ETag": "\"3b00acab-0000-0d00-0000-5f15e4ed0000\"", + "EntityId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "friendlyName": "SecurityEvent - 868f40f4698d" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/bbbd324f-6c48-459c-8710-8d1e1cd03812", + "name": "bbbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Bookmark", + "properties": { + "displayName": "SecurityEvent - 868f40f4698d", + "created": "2020-06-17T15:34:01.4265524+00:00", + "updated": "2020-06-17T15:34:01.4265524+00:00", + "createdBy": { + "objectId": "303ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "updatedBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "eventTime": "2020-06-17T15:34:01.4265524+00:00", + "labels": [], + "query": "SecurityEvent\r\n| take 1\n", + "queryResult": "{\"TimeGenerated\":\"2020-05-24T01:24:25.67Z\",\"Account\":\"\\\\ADMINISTRATOR\",\"AccountType\":\"User\",\"Computer\":\"SecurityEvents\",\"EventSourceName\":\"Microsoft-Windows-Security-Auditing\",\"Channel\":\"Security\",\"Task\":12544,\"Level\":\"16\",\"EventID\":4625,\"Activity\":\"4625 - An account failed to log on.\",\"AuthenticationPackageName\":\"NTLM\",\"FailureReason\":\"%%2313\",\"IpAddress\":\"176.113.115.73\",\"IpPort\":\"0\",\"LmPackageName\":\"-\",\"LogonProcessName\":\"NtLmSsp \",\"LogonType\":3,\"LogonTypeName\":\"3 - Network\",\"Process\":\"-\",\"ProcessId\":\"0x0\",\"__entityMapping\":{\"\\\\ADMINISTRATOR\":\"Account\",\"SecurityEvents\":\"Host\"}}", + "additionalData": { + "ETag": "\"3b00acab-0000-0d00-0000-5f15e4ed0000\"", + "EntityId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "friendlyName": "SecurityEvent - 868f40f4698d" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetAllIncidentEntities.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetAllIncidentEntities.json new file mode 100644 index 000000000000..e7757b7a33bc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetAllIncidentEntities.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "entities": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Account", + "properties": { + "friendlyName": "administrator", + "accountName": "administrator", + "ntDomain": "domain" + } + } + ], + "metaData": [ + { + "entityKind": "Account", + "count": 1 + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetIncidentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetIncidentById.json new file mode 100644 index 000000000000..1dca17bae3ba --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetIncidentById.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "InaccurateData", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "providerName": "Azure Sentinel", + "providerIncidentId": "3177", + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7" + ], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "InitialAccess", + "Persistence" + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetIncidents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetIncidents.json new file mode 100644 index 000000000000..4d482ce97467 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/GetIncidents.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "$orderby": "properties/createdTimeUtc desc", + "$top": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "providerName": "Azure Sentinel", + "providerIncidentId": "3177", + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "Persistence" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/comments/CreateIncidentComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/comments/CreateIncidentComment.json new file mode 100644 index 000000000000..10b4c1290f94 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/comments/CreateIncidentComment.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "incidentComment": { + "properties": { + "message": "Some message" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-04T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/comments/DeleteIncidentComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/comments/DeleteIncidentComment.json new file mode 100644 index 000000000000..caab70c3f623 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/comments/DeleteIncidentComment.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/comments/GetAllIncidentComments.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/comments/GetAllIncidentComments.json new file mode 100644 index 000000000000..3d2024be13a0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/comments/GetAllIncidentComments.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/comments/GetIncidentCommentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/comments/GetIncidentCommentById.json new file mode 100644 index 000000000000..1426ef7a56dd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/comments/GetIncidentCommentById.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/relations/CreateIncidentRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/relations/CreateIncidentRelation.json new file mode 100644 index 000000000000..d3763702a51c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/relations/CreateIncidentRelation.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "relation": { + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/relations/DeleteIncidentRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/relations/DeleteIncidentRelation.json new file mode 100644 index 000000000000..f5d8a14ab99f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/relations/DeleteIncidentRelation.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/relations/GetAllIncidentRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/relations/GetAllIncidentRelations.json new file mode 100644 index 000000000000..7d2bc282dbfe --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/relations/GetAllIncidentRelations.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/9673a17d-8bc7-4ca6-88ee-38a4f3efc032", + "name": "9673a17d-8bc7-4ca6-88ee-38a4f3efc032", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "6f714025-dd7c-46aa-b5d0-b9857488d060", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/1dd267cd-8a1f-4f6f-b92c-da43ac8819af", + "relatedResourceName": "1dd267cd-8a1f-4f6f-b92c-da43ac8819af", + "relatedResourceType": "Microsoft.SecurityInsights/entities", + "relatedResourceKind": "SecurityAlert" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/relations/GetIncidentRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/relations/GetIncidentRelationByName.json new file mode 100644 index 000000000000..fd2a57a11d13 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/incidents/relations/GetIncidentRelationByName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/DeleteMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/DeleteMetadata.json new file mode 100644 index 000000000000..9a798c369e70 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/DeleteMetadata.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/GetAllMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/GetAllMetadata.json new file mode 100644 index 000000000000..6e3bfa614399 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/GetAllMetadata.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName1", + "name": "metadataName1", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + }, + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName2", + "name": "metadataName2", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "f5160682-0e10-4e23-8fcf-df3df49c5522", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName2", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + }, + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.Insights/workbooks/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName3", + "name": "metadataName3", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "f593501d-ec01-4057-8146-a1de35c461ef", + "version": "1.0.0.0", + "kind": "Workbook", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.Insights/workbooks/workbookName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/GetAllMetadataOData.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/GetAllMetadataOData.json new file mode 100644 index 000000000000..7073b1d6fe47 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/GetAllMetadataOData.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ODataFilter": "properties/kind eq 'AnalyticsRule'", + "ODataOrderBy": "properties/parentId desc", + "ODataSkip": "2", + "ODataTop": "2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName1", + "name": "metadataName1", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName1", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + }, + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName2", + "name": "metadataName2", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "f5160682-0e10-4e23-8fcf-df3df49c5522", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName2", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/GetMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/GetMetadata.json new file mode 100644 index 000000000000..73c1413558f6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/GetMetadata.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "2e1dc338-d04d-4443-b721-037eff4fdcac", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + }, + "author": { + "name": "User Name", + "email": "email@microsoft.com" + }, + "support": { + "name": "Microsoft", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/", + "tier": "Partner" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "operator": "OR", + "criteria": [ + { + "contentId": "045d06d0-ee72-4794-aba4-cf5646e4c756", + "kind": "DataConnector" + }, + { + "contentId": "dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d", + "kind": "DataConnector" + }, + { + "contentId": "de4dca9b-eb37-47d6-a56f-b8b06b261593", + "kind": "DataConnector", + "version": "2.0" + } + ] + }, + { + "kind": "Playbook", + "contentId": "31ee11cc-9989-4de8-b176-5e0ef5c4dbab", + "version": "1.0" + }, + { + "kind": "Parser", + "contentId": "21ba424a-9438-4444-953a-7059539a7a1b" + } + ] + }, + "categories": { + "domains": [ + "Application", + "Security – Insider Threat" + ], + "verticals": [ + "Healthcare" + ] + }, + "providers": [ + "Amazon", + "Microsoft" + ], + "firstPublishDate": "2021-05-18", + "lastPublishDate": "2021-05-18", + "previewImages": [ + "firstImage.png", + "secondImage.jpeg" + ], + "previewImagesDark": [ + "firstImageDark.png", + "secondImageDark.jpeg" + ], + "contentSchemaVersion": "2.0", + "customVersion": "1.0", + "threatAnalysisTactics": [ + "reconnaissance", + "commandandcontrol" + ], + "threatAnalysisTechniques": [ + "T1548", + "T1548.001" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/PatchMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/PatchMetadata.json new file mode 100644 index 000000000000..f7a4a1b0b8b4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/PatchMetadata.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName", + "metadataPatch": { + "properties": { + "author": { + "name": "User Name", + "email": "email@microsoft.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "author": { + "name": "User Name", + "email": "email@microsoft.com" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/PutMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/PutMetadata.json new file mode 100644 index 000000000000..1a63277b765f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/PutMetadata.json @@ -0,0 +1,286 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName", + "metadata": { + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + }, + "author": { + "name": "User Name", + "email": "email@microsoft.com" + }, + "support": { + "name": "Microsoft", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/", + "tier": "Partner" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "operator": "OR", + "criteria": [ + { + "contentId": "045d06d0-ee72-4794-aba4-cf5646e4c756", + "kind": "DataConnector", + "name": "Microsoft Defender for Endpoint" + }, + { + "contentId": "dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d", + "kind": "DataConnector" + }, + { + "contentId": "de4dca9b-eb37-47d6-a56f-b8b06b261593", + "kind": "DataConnector", + "version": "2.0" + } + ] + }, + { + "kind": "Playbook", + "contentId": "31ee11cc-9989-4de8-b176-5e0ef5c4dbab", + "version": "1.0" + }, + { + "kind": "Parser", + "contentId": "21ba424a-9438-4444-953a-7059539a7a1b" + } + ] + }, + "categories": { + "domains": [ + "Application", + "Security – Insider Threat" + ], + "verticals": [ + "Healthcare" + ] + }, + "providers": [ + "Amazon", + "Microsoft" + ], + "firstPublishDate": "2021-05-18", + "lastPublishDate": "2021-05-18", + "previewImages": [ + "firstImage.png", + "secondImage.jpeg" + ], + "previewImagesDark": [ + "firstImageDark.png", + "secondImageDark.jpeg" + ], + "contentSchemaVersion": "2.0", + "customVersion": "1.0", + "threatAnalysisTactics": [ + "reconnaissance", + "commandandcontrol" + ], + "threatAnalysisTechniques": [ + "T1548", + "T1548.001" + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + }, + "author": { + "name": "User Name", + "email": "email@microsoft.com" + }, + "support": { + "name": "Microsoft", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/", + "tier": "Partner" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "operator": "OR", + "criteria": [ + { + "contentId": "045d06d0-ee72-4794-aba4-cf5646e4c756", + "kind": "DataConnector" + }, + { + "contentId": "dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d", + "kind": "DataConnector" + }, + { + "contentId": "de4dca9b-eb37-47d6-a56f-b8b06b261593", + "kind": "DataConnector", + "version": "2.0" + } + ] + }, + { + "kind": "Playbook", + "contentId": "31ee11cc-9989-4de8-b176-5e0ef5c4dbab", + "version": "1.0" + }, + { + "kind": "Parser", + "contentId": "21ba424a-9438-4444-953a-7059539a7a1b" + } + ] + }, + "categories": { + "domains": [ + "Application", + "Security – Insider Threat" + ], + "verticals": [ + "Healthcare" + ] + }, + "providers": [ + "Amazon", + "Microsoft" + ], + "firstPublishDate": "2021-05-18", + "lastPublishDate": "2021-05-18", + "previewImages": [ + "firstImage.png", + "secondImage.jpeg" + ], + "previewImagesDark": [ + "firstImageDark.png", + "secondImageDark.jpeg" + ], + "contentSchemaVersion": "2.0", + "customVersion": "1.0", + "threatAnalysisTactics": [ + "reconnaissance", + "commandandcontrol" + ], + "threatAnalysisTechniques": [ + "T1548", + "T1548.001" + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + }, + "author": { + "name": "User Name", + "email": "email@microsoft.com" + }, + "support": { + "name": "Microsoft", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/", + "tier": "Partner" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "operator": "OR", + "criteria": [ + { + "contentId": "045d06d0-ee72-4794-aba4-cf5646e4c756", + "kind": "DataConnector" + }, + { + "contentId": "dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d", + "kind": "DataConnector" + }, + { + "contentId": "de4dca9b-eb37-47d6-a56f-b8b06b261593", + "kind": "DataConnector", + "version": "2.0" + } + ] + }, + { + "kind": "Playbook", + "contentId": "31ee11cc-9989-4de8-b176-5e0ef5c4dbab", + "version": "1.0" + }, + { + "kind": "Parser", + "contentId": "21ba424a-9438-4444-953a-7059539a7a1b" + } + ] + }, + "categories": { + "domains": [ + "Application", + "Security – Insider Threat" + ], + "verticals": [ + "Healthcare" + ] + }, + "providers": [ + "Amazon", + "Microsoft" + ], + "firstPublishDate": "2021-05-18", + "lastPublishDate": "2021-05-18", + "previewImages": [ + "firstImage.png", + "secondImage.jpeg" + ], + "previewImagesDark": [ + "firstImageDark.png", + "secondImageDark.jpeg" + ], + "contentSchemaVersion": "2.0", + "customVersion": "1.0", + "threatAnalysisTactics": [ + "reconnaissance", + "commandandcontrol" + ], + "threatAnalysisTechniques": [ + "T1548", + "T1548.001" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/PutMetadataMinimal.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/PutMetadataMinimal.json new file mode 100644 index 000000000000..5de6b9bd3f36 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/metadata/PutMetadataMinimal.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName", + "metadata": { + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/onboardingStates/CreateSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/onboardingStates/CreateSentinelOnboardingState.json new file mode 100644 index 000000000000..cf06d83ef604 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/onboardingStates/CreateSentinelOnboardingState.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "sentinelOnboardingStateName": "default", + "sentinelOnboardingStateParameter": { + "properties": { + "customerManagedKey": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/onboardingStates/DeleteSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/onboardingStates/DeleteSentinelOnboardingState.json new file mode 100644 index 000000000000..9e2a0b230c40 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/onboardingStates/DeleteSentinelOnboardingState.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "sentinelOnboardingStateName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/onboardingStates/GetAllSentinelOnboardingStates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/onboardingStates/GetAllSentinelOnboardingStates.json new file mode 100644 index 000000000000..0612b415f75b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/onboardingStates/GetAllSentinelOnboardingStates.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/onboardingStates/GetSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/onboardingStates/GetSentinelOnboardingState.json new file mode 100644 index 000000000000..861aafbb0d13 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/onboardingStates/GetSentinelOnboardingState.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "sentinelOnboardingStateName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/operations/ListOperations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/operations/ListOperations.json new file mode 100644 index 000000000000..c88d604b94c0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/operations/ListOperations.json @@ -0,0 +1,563 @@ +{ + "parameters": { + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.SecurityInsights/operations/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Operations", + "operation": "Get Operations", + "description": "Gets operations" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/automationRules/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "AutomationRules", + "operation": "Get Automation Rules", + "description": "Gets an automation rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/automationRules/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "AutomationRules", + "operation": "Update Automation Rules", + "description": "Updates an automation rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/automationRules/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "AutomationRules", + "operation": "Delete Automation Rules", + "description": "Deletes an automation rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Bookmarks/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmarks", + "operation": "Get Bookmarks", + "description": "Gets bookmarks" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Bookmarks/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmarks", + "operation": "Update Bookmarks", + "description": "Updates bookmarks" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Bookmarks/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmarks", + "operation": "Delete Bookmarks", + "description": "Deletes bookmarks" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Bookmarks/expand/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmarks", + "operation": "Expand on entity", + "description": "Gets related entities of an entity by a specific expansion" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/bookmarks/relations/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmark Relations", + "operation": "Get Bookmark Relations", + "description": "Gets a bookmark relation" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/bookmarks/relations/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmark Relations", + "operation": "Update Bookmark Relations", + "description": "Updates a bookmark relation" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/bookmarks/relations/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmark Relations", + "operation": "Delete Bookmark Relations", + "description": "Deletes a bookmark relation" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules", + "operation": "Get Alert Rules", + "description": "Gets the alert rules" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules", + "operation": "Update Alert Rules", + "description": "Updates alert rules" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules", + "operation": "Delete Alert Rules", + "description": "Deletes alert rules" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/actions/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules Actions", + "operation": "Get Alert Rule Response Actions", + "description": "Gets the response actions of an alert rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/actions/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules Actions", + "operation": "Update Alert Rule Response Actions", + "description": "Updates the response actions of an alert rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/actions/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules Actions", + "operation": "Delete Alert Rule Response Actions", + "description": "Deletes the response actions of an alert rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/dataConnectors/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "DataConnectors", + "operation": "Get Data Connectors", + "description": "Gets the data connectors" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/dataConnectors/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "DataConnectors", + "operation": "Update Data Connectors", + "description": "Updates a data connector" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/dataConnectors/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "DataConnectors", + "operation": "Delete a Data Connector", + "description": "Deletes a data connector" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/dataConnectorsCheckRequirements/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "DataConnectorsCheckRequirements", + "operation": "Check user authorization and license", + "description": "Check user authorization and license" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incidents", + "operation": "Get Incidents", + "description": "Gets an incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incidents", + "operation": "Update Incidents", + "description": "Updates an incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incidents", + "operation": "Delete Incidents", + "description": "Deletes an incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/comments/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Comments", + "operation": "Get Incident Comments", + "description": "Gets the incident comments" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/comments/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Comments", + "operation": "Create Incident Comments", + "description": "Creates a comment on the incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/comments/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Comments", + "operation": "Delete Incident Comment", + "description": "Deletes a comment on the incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/relations/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Relations", + "operation": "Get Incident Relations", + "description": "Gets a relation between the incident and related resources" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/relations/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Relations", + "operation": "Update Incident Relations", + "description": "Updates a relation between the incident and related resources" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/relations/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Relations", + "operation": "Delete Incident Relations", + "description": "Deletes a relation between the incident and related resources" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Get Threat Intelligence", + "description": "Gets Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Update Threat Intelligence", + "description": "Updates Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Delete Threat Intelligence", + "description": "Deletes Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/query/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Query Threat Intelligence", + "description": "Query Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/metrics/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Collect Threat Intelligence Metrics", + "description": "Collect Threat Intelligence Metrics" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/bulkDelete/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Bulk Delete Threat Intelligence", + "description": "Bulk Delete Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/bulkTag/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Bulk Tags Threat Intelligence", + "description": "Bulk Tags Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Update Threat Intelligence Indicators", + "description": "Updates Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Delete Threat Intelligence Indicators", + "description": "Deletes Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/query/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Query Threat Intelligence Indicators", + "description": "Query Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/metrics/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Get Threat Intelligence Indicator Metrics", + "description": "Get Threat Intelligence Indicator Metrics" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/bulkDelete/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Bulk Delete Threat Intelligence Indicators", + "description": "Bulk Delete Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/bulkTag/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Bulk Tags Threat Intelligence Indicators", + "description": "Bulk Tags Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Get Threat Intelligence Indicators", + "description": "Gets Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/metrics/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Collect Threat Intelligence Metrics", + "description": "Collect Threat Intelligence Metrics" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/createIndicator/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Create Threat Intelligence Indicator", + "description": "Create Threat Intelligence Indicator" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/appendTags/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Append tags to Threat Intelligence Indicator", + "description": "Append tags to Threat Intelligence Indicator" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/replaceTags/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Replace Tags of Threat Intelligence Indicator", + "description": "Replace Tags of Threat Intelligence Indicator" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/queryIndicators/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Query Threat Intelligence Indicators", + "description": "Query Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Watchlists/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Watchlists", + "operation": "Get Watchlists", + "description": "Gets Watchlists" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Watchlists/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Watchlists", + "operation": "Create Watchlists", + "description": "Create Watchlists" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Watchlists/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Watchlists", + "operation": "Delete Watchlists", + "description": "Deletes Watchlists" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/onboardingStates/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Onboarding States", + "operation": "Get Onboarding States", + "description": "Gets an onboarding state" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/onboardingStates/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Onboarding States", + "operation": "Update Onboarding States", + "description": "Updates an onboarding state" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/onboardingStates/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Onboarding States", + "operation": "Delete Onboarding States", + "description": "Deletes an onboarding state" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/repositories/GetRepositories.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/repositories/GetRepositories.json new file mode 100644 index 000000000000..76ef5c7b3965 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/repositories/GetRepositories.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "repoType": "Github", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "repositoryAccess": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "repositoryAccess": { + "kind": "OAuth", + "code": "939fd7c6caf754f4f41f", + "state": "state", + "clientId": "54b3c2c0-1f48-4a1c-af9f-6399c3240b73" + } + } + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "url": "https://api.github.com/repos/user/reponame", + "fullName": "reponame", + "installationId": 42424242, + "branches": [ + "master", + "develop" + ] + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/securityMLAnalyticsSettings/CreateAnomalySecurityMLAnalyticsSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/securityMLAnalyticsSettings/CreateAnomalySecurityMLAnalyticsSetting.json new file mode 100644 index 000000000000..53e5db8eee6c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/securityMLAnalyticsSettings/CreateAnomalySecurityMLAnalyticsSetting.json @@ -0,0 +1,245 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "settingsResourceName": "f209187f-1d17-4431-94af-c141bf5f23db", + "securityMLAnalyticsSetting": { + "kind": "Anomaly", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "properties": { + "displayName": "Login from unusual region", + "description": "When account logs from a source region that has rarely been logged in from during the last 14 days, an anomaly is triggered.", + "enabled": true, + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "tactics": [ + "Exfiltration", + "CommandAndControl" + ], + "techniques": [ + "T1037", + "T1021" + ], + "anomalyVersion": "1.0.5", + "customizableObservations": { + "multiSelectObservations": null, + "singleSelectObservations": [ + { + "supportedValues": [ + "Palo Alto Networks", + "Fortinet", + "Check Point" + ], + "value": [ + "Palo Alto Networks" + ], + "supportedValuesKql": null, + "valuesKql": null, + "name": "Device vendor", + "description": "Select device vendor of network connection logs from CommonSecurityLog", + "sequenceNumber": 1, + "rerun": "RerunAlways" + } + ], + "prioritizeExcludeObservations": null, + "thresholdObservations": [ + { + "minimum": "1", + "maximum": "100", + "value": "25", + "name": "Daily data transfer threshold in MB", + "description": "Suppress anomalies when daily data transfered (in MB) per hour is less than the chosen value", + "sequenceNumber": 1, + "rerun": "RerunAlways" + }, + { + "minimum": "2", + "maximum": "10", + "value": "3", + "name": "Number of standard deviations", + "description": "Triggers anomalies when number of standard deviations is greater than the chosen value", + "sequenceNumber": 2, + "rerun": "RerunAlways" + } + ], + "singleValueObservations": null + }, + "frequency": "PT1H", + "settingsStatus": "Production", + "isDefaultSettings": true, + "anomalySettingsVersion": 0, + "settingsDefinitionId": "f209187f-1d17-4431-94af-c141bf5f23db" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/f209187f-1d17-4431-94af-c141bf5f23db", + "name": "f209187f-1d17-4431-94af-c141bf5f23db", + "etag": "\"01005144-0000-0d00-0000-6058632c0000\"", + "kind": "Anomaly", + "type": "Microsoft.SecurityInsights/securityMLAnalyticsSettings", + "properties": { + "displayName": "Login from unusual region", + "description": "When account logs from a source region that has rarely been logged in from during the last 14 days, an anomaly is triggered.", + "enabled": true, + "lastModifiedUtc": "2021-10-20T13:17:11.5340061Z", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "tactics": [ + "Exfiltration", + "CommandAndControl" + ], + "techniques": [ + "T1037", + "T1021" + ], + "anomalyVersion": "1.0.5", + "customizableObservations": { + "multiSelectObservations": null, + "singleSelectObservations": [ + { + "supportedValues": [ + "Palo Alto Networks", + "Fortinet", + "Check Point" + ], + "value": [ + "Palo Alto Networks" + ], + "supportedValuesKql": null, + "valuesKql": null, + "name": "Device vendor", + "description": "Select device vendor of network connection logs from CommonSecurityLog", + "sequenceNumber": 1, + "rerun": "RerunAlways" + } + ], + "prioritizeExcludeObservations": null, + "thresholdObservations": [ + { + "minimum": "1", + "maximum": "100", + "value": "25", + "name": "Daily data transfer threshold in MB", + "description": "Suppress anomalies when daily data transfered (in MB) per hour is less than the chosen value", + "sequenceNumber": 1, + "rerun": "RerunAlways" + }, + { + "minimum": "2", + "maximum": "10", + "value": "3", + "name": "Number of standard deviations", + "description": "Triggers anomalies when number of standard deviations is greater than the chosen value", + "sequenceNumber": 2, + "rerun": "RerunAlways" + } + ], + "singleValueObservations": null + }, + "frequency": "PT1H", + "settingsStatus": "Production", + "isDefaultSettings": true, + "anomalySettingsVersion": 0, + "settingsDefinitionId": "f209187f-1d17-4431-94af-c141bf5f23db" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/f209187f-1d17-4431-94af-c141bf5f23db", + "name": "f209187f-1d17-4431-94af-c141bf5f23db", + "etag": "\"01007444-0000-0d00-0000-605863a70000\"", + "kind": "Anomaly", + "type": "Microsoft.SecurityInsights/securityMLAnalyticsSettings", + "properties": { + "displayName": "Login from unusual region", + "description": "When account logs from a source region that has rarely been logged in from during the last 14 days, an anomaly is triggered.", + "enabled": true, + "lastModifiedUtc": "2021-10-20T13:17:11.5340061Z", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "tactics": [ + "Exfiltration", + "CommandAndControl" + ], + "techniques": [ + "T1037", + "T1021" + ], + "anomalyVersion": "1.0.5", + "customizableObservations": { + "multiSelectObservations": null, + "singleSelectObservations": [ + { + "supportedValues": [ + "Palo Alto Networks", + "Fortinet", + "Check Point" + ], + "value": [ + "Palo Alto Networks" + ], + "supportedValuesKql": null, + "valuesKql": null, + "name": "Device vendor", + "description": "Select device vendor of network connection logs from CommonSecurityLog", + "sequenceNumber": 1, + "rerun": "RerunAlways" + } + ], + "prioritizeExcludeObservations": null, + "thresholdObservations": [ + { + "minimum": "1", + "maximum": "100", + "value": "25", + "name": "Daily data transfer threshold in MB", + "description": "Suppress anomalies when daily data transfered (in MB) per hour is less than the chosen value", + "sequenceNumber": 1, + "rerun": "RerunAlways" + }, + { + "minimum": "2", + "maximum": "10", + "value": "3", + "name": "Number of standard deviations", + "description": "Triggers anomalies when number of standard deviations is greater than the chosen value", + "sequenceNumber": 2, + "rerun": "RerunAlways" + } + ], + "singleValueObservations": null + }, + "frequency": "PT1H", + "settingsStatus": "Production", + "isDefaultSettings": true, + "anomalySettingsVersion": 0, + "settingsDefinitionId": "f209187f-1d17-4431-94af-c141bf5f23db" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/securityMLAnalyticsSettings/DeleteSecurityMLAnalyticsSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/securityMLAnalyticsSettings/DeleteSecurityMLAnalyticsSetting.json new file mode 100644 index 000000000000..9b798c4f423a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/securityMLAnalyticsSettings/DeleteSecurityMLAnalyticsSetting.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "settingsResourceName": "f209187f-1d17-4431-94af-c141bf5f23db" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/securityMLAnalyticsSettings/GetAllSecurityMLAnalyticsSettings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/securityMLAnalyticsSettings/GetAllSecurityMLAnalyticsSettings.json new file mode 100644 index 000000000000..8c6eb83397cd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/securityMLAnalyticsSettings/GetAllSecurityMLAnalyticsSettings.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/f209187f-1d17-4431-94af-c141bf5f23db", + "name": "f209187f-1d17-4431-94af-c141bf5f23db", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/securityMLAnalyticsSettings", + "kind": "Anomaly", + "properties": { + "displayName": "Login from unusual region", + "description": "When account logs from a source region that has rarely been logged in from during the last 14 days, an anomaly is triggered.", + "enabled": true, + "lastModifiedUtc": "2021-10-20T13:13:11.5340061Z", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "tactics": [ + "Exfiltration", + "CommandAndControl" + ], + "techniques": [ + "T1037", + "T1021" + ], + "anomalyVersion": "1.0.5", + "customizableObservations": { + "multiSelectObservations": null, + "singleSelectObservations": [ + { + "supportedValues": [ + "Palo Alto Networks", + "Fortinet", + "Check Point" + ], + "value": [ + "Palo Alto Networks" + ], + "supportedValuesKql": null, + "valuesKql": null, + "name": "Device vendor", + "description": "Select device vendor of network connection logs from CommonSecurityLog", + "sequenceNumber": 1, + "rerun": "RerunAlways" + } + ], + "prioritizeExcludeObservations": null, + "thresholdObservations": [ + { + "minimum": "1", + "maximum": "100", + "value": "25", + "name": "Daily data transfer threshold in MB", + "description": "Suppress anomalies when daily data transfered (in MB) per hour is less than the chosen value", + "sequenceNumber": 1, + "rerun": "RerunAlways" + }, + { + "minimum": "2", + "maximum": "10", + "value": "3", + "name": "Number of standard deviations", + "description": "Triggers anomalies when number of standard deviations is greater than the chosen value", + "sequenceNumber": 2, + "rerun": "RerunAlways" + } + ], + "singleValueObservations": null + }, + "frequency": "PT1H", + "settingsStatus": "Production", + "isDefaultSettings": true, + "anomalySettingsVersion": 0, + "settingsDefinitionId": "f209187f-1d17-4431-94af-c141bf5f23db" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/securityMLAnalyticsSettings/GetAnomalySecurityMLAnalyticsSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/securityMLAnalyticsSettings/GetAnomalySecurityMLAnalyticsSetting.json new file mode 100644 index 000000000000..7e329fd6fa99 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/securityMLAnalyticsSettings/GetAnomalySecurityMLAnalyticsSetting.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "settingsResourceName": "myFirstAnomalySettings" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/f209187f-1d17-4431-94af-c141bf5f23db", + "name": "f209187f-1d17-4431-94af-c141bf5f23db", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/securityMLAnalyticsSettings", + "kind": "Anomaly", + "properties": { + "displayName": "Login from unusual region", + "description": "When account logs from a source region that has rarely been logged in from during the last 14 days, an anomaly is triggered.", + "enabled": true, + "lastModifiedUtc": "2021-10-20T13:13:11.5340061Z", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "tactics": [ + "Exfiltration", + "CommandAndControl" + ], + "techniques": [ + "T1037", + "T1021" + ], + "anomalyVersion": "1.0.5", + "customizableObservations": { + "multiSelectObservations": null, + "singleSelectObservations": [ + { + "supportedValues": [ + "Palo Alto Networks", + "Fortinet", + "Check Point" + ], + "value": [ + "Palo Alto Networks" + ], + "supportedValuesKql": null, + "valuesKql": null, + "name": "Device vendor", + "description": "Select device vendor of network connection logs from CommonSecurityLog", + "sequenceNumber": 1, + "rerun": "RerunAlways" + } + ], + "prioritizeExcludeObservations": null, + "thresholdObservations": [ + { + "minimum": "1", + "maximum": "100", + "value": "25", + "name": "Daily data transfer threshold in MB", + "description": "Suppress anomalies when daily data transfered (in MB) per hour is less than the chosen value", + "sequenceNumber": 1, + "rerun": "RerunAlways" + }, + { + "minimum": "2", + "maximum": "10", + "value": "3", + "name": "Number of standard deviations", + "description": "Triggers anomalies when number of standard deviations is greater than the chosen value", + "sequenceNumber": 2, + "rerun": "RerunAlways" + } + ], + "singleValueObservations": null + }, + "frequency": "PT1H", + "settingsStatus": "Production", + "isDefaultSettings": true, + "anomalySettingsVersion": 0, + "settingsDefinitionId": "f209187f-1d17-4431-94af-c141bf5f23db" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/sourcecontrols/CreateSourceControl.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/sourcecontrols/CreateSourceControl.json new file mode 100644 index 000000000000..02efcf76c79c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/sourcecontrols/CreateSourceControl.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "sourceControl": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My Source Control", + "description": "This is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo" + }, + "repositoryAccess": { + "kind": "OAuth", + "code": "939fd7c6caf754f4f41f", + "state": "state", + "clientId": "54b3c2c0-1f48-4a1c-af9f-6399c3240b73" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "version": "V2", + "name": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "type": "Microsoft.SecurityInsights/SourceControls", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "displayName": "My Source Control", + "description": "this is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions" + }, + "servicePrincipal": { + "id": "2d297bee-cb45-444a-a9ce-904484f0bcd6", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "appId": "42a43de2-b712-4408-9680-2514fed984e6" + }, + "repositoryResourceInfo": { + "webhook": { + "webhookId": "342768323", + "webhookUrl": "https://cac.sentinel.azure.com/workspaces/b7c525e9-1bfa-4435-88c0-817e13abb088/webhooks/ado/sourceControl/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "webhookSecretUpdateTime": "2021-01-01T17:18:19.1234567Z" + }, + "gitHubResourceInfo": { + "appInstallationId": "123" + }, + "azureDevOpsResourceInfo": null + }, + "lastDeploymentInfo": { + "deploymentFetchStatus": "Success", + "deployment": { + "deploymentId": "4985046420", + "deploymentState": "Completed", + "deploymentResult": "Success", + "deploymentTime": "2021-01-01T17:18:19.1234567Z", + "deploymentLogsUrl": "https://github.com/user/repo/actions" + }, + "message": "Successful deployment" + }, + "pullRequest": { + "url": "https://github.com/user/repo/pull/123", + "state": "Open" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "version": "V2", + "name": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "type": "Microsoft.SecurityInsights/SourceControls", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "displayName": "My Source Control", + "description": "this is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions" + }, + "servicePrincipal": { + "id": "2d297bee-cb45-444a-a9ce-904484f0bcd6", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "appId": "42a43de2-b712-4408-9680-2514fed984e6" + }, + "repositoryResourceInfo": { + "webhook": { + "webhookId": "342768323", + "webhookUrl": "https://cac.sentinel.azure.com/workspaces/b7c525e9-1bfa-4435-88c0-817e13abb088/webhooks/ado/sourceControl/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "webhookSecretUpdateTime": "2021-01-01T17:18:19.1234567Z" + }, + "gitHubResourceInfo": { + "appInstallationId": "123" + }, + "azureDevOpsResourceInfo": null + }, + "lastDeploymentInfo": { + "deploymentFetchStatus": "Success", + "deployment": { + "deploymentId": "4985046420", + "deploymentState": "Completed", + "deploymentResult": "Success", + "deploymentTime": "2021-01-01T17:18:19.1234567Z", + "deploymentLogsUrl": "https://github.com/user/repo/actions" + }, + "message": "Successful deployment" + }, + "pullRequest": { + "url": "https://github.com/user/repo/pull/123", + "state": "Open" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/sourcecontrols/DeleteSourceControl.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/sourcecontrols/DeleteSourceControl.json new file mode 100644 index 000000000000..1933505756d3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/sourcecontrols/DeleteSourceControl.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "repositoryAccess": { + "properties": { + "repositoryAccess": { + "kind": "OAuth", + "code": "939fd7c6caf754f4f41f", + "state": "state", + "clientId": "54b3c2c0-1f48-4a1c-af9f-6399c3240b73" + } + } + } + }, + "responses": { + "200": { + "body": { + "warning": { + "code": "SourceControlWarning_DeleteServicePrincipal", + "message": "ServicePrincipal has not been removed due to insufficient permissions." + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/sourcecontrols/GetSourceControlById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/sourcecontrols/GetSourceControlById.json new file mode 100644 index 000000000000..6f716f662de0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/sourcecontrols/GetSourceControlById.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "version": "V2", + "name": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "type": "Microsoft.SecurityInsights/SourceControls", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "displayName": "My Source Control", + "description": "this is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions" + }, + "servicePrincipal": { + "id": "2d297bee-cb45-444a-a9ce-904484f0bcd6", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "appId": "42a43de2-b712-4408-9680-2514fed984e6" + }, + "repositoryResourceInfo": { + "webhook": { + "webhookId": "342768323", + "webhookUrl": "https://cac.sentinel.azure.com/workspaces/b7c525e9-1bfa-4435-88c0-817e13abb088/webhooks/ado/sourceControl/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "webhookSecretUpdateTime": "2021-01-01T17:18:19.1234567Z" + }, + "gitHubResourceInfo": { + "appInstallationId": "123" + }, + "azureDevOpsResourceInfo": null + }, + "lastDeploymentInfo": { + "deploymentFetchStatus": "Success", + "deployment": { + "deploymentId": "4985046420", + "deploymentState": "Completed", + "deploymentResult": "Success", + "deploymentTime": "2021-01-01T17:18:19.1234567Z", + "deploymentLogsUrl": "https://github.com/user/repo/actions" + }, + "message": "Successful deployment" + }, + "pullRequest": { + "url": "https://github.com/user/repo/pull/123", + "state": "Open" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/sourcecontrols/GetSourceControls.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/sourcecontrols/GetSourceControls.json new file mode 100644 index 000000000000..cfcb3a1326df --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/sourcecontrols/GetSourceControls.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "version": "V2", + "name": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "type": "Microsoft.SecurityInsights/SourceControls", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "displayName": "My Source Control", + "description": "this is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions" + }, + "servicePrincipal": { + "id": "2d297bee-cb45-444a-a9ce-904484f0bcd6", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "appId": "42a43de2-b712-4408-9680-2514fed984e6" + }, + "repositoryResourceInfo": { + "webhook": { + "webhookId": "342768323", + "webhookUrl": "https://cac.sentinel.azure.com/workspaces/b7c525e9-1bfa-4435-88c0-817e13abb088/webhooks/ado/sourceControl/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "webhookSecretUpdateTime": "2021-01-01T17:18:19.1234567Z" + }, + "gitHubResourceInfo": { + "appInstallationId": "123" + }, + "azureDevOpsResourceInfo": null + }, + "lastDeploymentInfo": { + "deploymentFetchStatus": "Success", + "deployment": { + "deploymentId": "4985046420", + "deploymentState": "Completed", + "deploymentResult": "Success", + "deploymentTime": "2021-01-01T17:18:19.1234567Z", + "deploymentLogsUrl": "https://github.com/user/repo/actions" + }, + "message": "Successful deployment" + }, + "pullRequest": { + "url": "https://github.com/user/repo/pull/123", + "state": "Open" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/AppendTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/AppendTagsThreatIntelligence.json new file mode 100644 index 000000000000..c089c76f1805 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/AppendTagsThreatIntelligence.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceAppendTags": { + "threatIntelligenceTags": [ + "tag1", + "tag2" + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/CollectThreatIntelligenceMetrics.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/CollectThreatIntelligenceMetrics.json new file mode 100644 index 000000000000..a7964fe0b718 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/CollectThreatIntelligenceMetrics.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "lastUpdatedTimeUtc": "2020-09-01T19:44:44.117403Z", + "threatTypeMetrics": [ + { + "metricName": "compromised", + "metricValue": 20 + } + ], + "patternTypeMetrics": [ + { + "metricName": "url", + "metricValue": 20 + } + ], + "sourceMetrics": [ + { + "metricName": "Azure Sentinel", + "metricValue": 10315 + }, + { + "metricName": "zinga", + "metricValue": 2 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/CreateThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/CreateThreatIntelligence.json new file mode 100644 index 000000000000..2e2d60ddcce0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/CreateThreatIntelligence.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ThreatIntelligenceProperties": { + "kind": "indicator", + "properties": { + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "confidence": 78, + "createdByRef": "contoso@contoso.com", + "description": "debugging indicators", + "externalReferences": [], + "granularMarkings": [], + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "labels": [], + "modified": "", + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "revoked": false, + "validFrom": "2020-04-15T17:44:00.114052Z", + "validUntil": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/DeleteThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/DeleteThreatIntelligence.json new file mode 100644 index 000000000000..c4f963dee0fb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/DeleteThreatIntelligence.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/GetThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/GetThreatIntelligence.json new file mode 100644 index 000000000000..6252640e941c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/GetThreatIntelligence.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "name": "27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "etag": "\"00002f2c-0000-0800-0000-5e976a8e0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 90, + "created": "2020-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.0746926Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema 2", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + }, + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.074903Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/GetThreatIntelligenceById.json new file mode 100644 index 000000000000..021820c53c0f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/GetThreatIntelligenceById.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:18:49.2259902Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://abc.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/QueryThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/QueryThreatIntelligence.json new file mode 100644 index 000000000000..3c3c0ab9fa21 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/QueryThreatIntelligence.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ThreatIntelligenceFilteringCriteria": { + "pageSize": 100, + "minConfidence": 25, + "maxConfidence": 80, + "minValidUntil": "2020-04-05T17:44:00.114052Z", + "maxValidUntil": "2020-04-25T17:44:00.114052Z", + "sources": [ + "Azure Sentinel" + ], + "sortBy": [ + { + "itemKey": "lastUpdatedTimeUtc", + "sortOrder": "descending" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "name": "27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "etag": "\"00002f2c-0000-0800-0000-5e976a8e0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 90, + "created": "2020-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.0746926Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema 2", + "description": "debugging indicators 2", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z", + "parsedPattern": [ + { + "patternTypeKey": "network-traffic", + "patternTypeValues": [ + { + "valueType": "0", + "value": "SSH-2.0-PuTTY_Release_0.64" + }, + { + "valueType": "1", + "value": "194.88.106.146" + } + ] + } + ] + } + }, + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.074903Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/ReplaceTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/ReplaceTagsThreatIntelligence.json new file mode 100644 index 000000000000..88c5d7282d7f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/ReplaceTagsThreatIntelligence.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceReplaceTags": { + "etag": "\"0000262c-0000-0800-0000-5e9767060000\"", + "kind": "indicator", + "properties": { + "threatIntelligenceTags": [ + "patching tags" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T19:56:08.828946Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://abc.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/UpdateThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/UpdateThreatIntelligence.json new file mode 100644 index 000000000000..b65bed78863c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/threatintelligence/UpdateThreatIntelligence.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceProperties": { + "kind": "indicator", + "properties": { + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "confidence": 78, + "createdByRef": "contoso@contoso.com", + "description": "debugging indicators", + "externalReferences": [], + "granularMarkings": [], + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "labels": [], + "modified": "", + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "revoked": false, + "validFrom": "2020-04-15T17:44:00.114052Z", + "validUntil": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/CreateWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/CreateWatchlist.json new file mode 100644 index 000000000000..42e748bb01a5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/CreateWatchlist.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlist": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "High Value Assets Watchlist", + "source": "Local file", + "provider": "Microsoft", + "description": "Watchlist from CSV content", + "itemsSearchKey": "header1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/CreateWatchlistAndWatchlistItems.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/CreateWatchlistAndWatchlistItems.json new file mode 100644 index 000000000000..fa5196cf70af --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/CreateWatchlistAndWatchlistItems.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlist": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "High Value Assets Watchlist", + "source": "Local file", + "provider": "Microsoft", + "description": "Watchlist from CSV content", + "numberOfLinesToSkip": 1, + "rawContent": "This line will be skipped\nheader1,header2\nvalue1,value2", + "itemsSearchKey": "header1", + "contentType": "text/csv" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/CreateWatchlistItem.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/CreateWatchlistItem.json new file mode 100644 index 000000000000..a956162a85d5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/CreateWatchlistItem.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlistItemId": "82ba292c-dc97-4dfc-969d-d4dd9e666842", + "watchlistItem": { + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "properties": { + "itemsKeyValue": { + "Gateway subnet": "10.0.255.224/27", + "Web Tier": "10.0.1.0/24", + "Business tier": "10.0.2.0/24", + "Data tier": "10.0.2.0/24", + "Private DMZ in": "10.0.0.0/27", + "Public DMZ out": "10.0.0.96/27" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/82ba292c-dc97-4dfc-969d-d4dd9e666842", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "82ba292c-dc97-4dfc-969d-d4dd9e666842", + "tenantId": "4008512e-1d30-48b2-9ee2-d3612ed9d3ea", + "isDeleted": false, + "created": "2020-11-15T04:58:56.0748363+00:00", + "updated": "2020-11-16T16:05:20+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Gateway subnet": "10.0.255.224/27", + "Web Tier": "10.0.1.0/24", + "Business tier": "10.0.2.0/24", + "Data tier": "10.0.2.0/24", + "Private DMZ in": "10.0.0.0/27", + "Public DMZ out": "10.0.0.96/27" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/82ba292c-dc97-4dfc-969d-d4dd9e666842", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "82ba292c-dc97-4dfc-969d-d4dd9e666842", + "tenantId": "4008512e-1d30-48b2-9ee2-d3612ed9d3ea", + "isDeleted": false, + "created": "2020-11-15T04:58:56.0748363+00:00", + "updated": "2020-11-16T16:05:20+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Gateway subnet": "10.0.255.224/27", + "Web Tier": "10.0.1.0/24", + "Business tier": "10.0.2.0/24", + "Data tier": "10.0.2.0/24", + "Private DMZ in": "10.0.0.0/27", + "Public DMZ out": "10.0.0.96/27" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/DeleteWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/DeleteWatchlist.json new file mode 100644 index 000000000000..83b7cda121b9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/DeleteWatchlist.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/DeleteWatchlistItem.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/DeleteWatchlistItem.json new file mode 100644 index 000000000000..b10af3f7eb05 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/DeleteWatchlistItem.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlistItemId": "4008512e-1d30-48b2-9ee2-d3612ed9d3ea" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/GetWatchlistByAlias.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/GetWatchlistByAlias.json new file mode 100644 index 000000000000..6a9a7a0968ae --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/GetWatchlistByAlias.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "type": "Microsoft.SecurityInsights/Watchlists", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "labels": [ + "Tag1", + "Tag2" + ], + "defaultDuration": "P1279DT12H30M5S", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/GetWatchlistItemById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/GetWatchlistItemById.json new file mode 100644 index 000000000000..5464062b864a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/GetWatchlistItemById.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "watchlistAlias": "highValueAsset", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistItemId": "3f8901fe-63d9-4875-9ad5-9fb3b8105797" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/fd37d325-7090-47fe-851a-5b5a00c3f576", + "name": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "etag": "\"f2089bfa-0000-0d00-0000-601c58b42021\"", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "tenantId": "3f8901fe-63d9-4875-9ad5-9fb3b8105797", + "isDeleted": false, + "created": "2021-02-04T12:27:32.3783333-08:00", + "updated": "2021-02-04T12:27:32.3783333-08:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Header-1": "v1_1", + "Header-2": "v1_2", + "Header-3": "v1_3", + "Header-4": "v1_4", + "Header-5": "v1_5" + }, + "entityMapping": {} + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/GetWatchlistItems.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/GetWatchlistItems.json new file mode 100644 index 000000000000..2071d1318d38 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/GetWatchlistItems.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/fd37d325-7090-47fe-851a-5b5a00c3f576", + "name": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "etag": "\"f2089bfa-0000-0d00-0000-601c58b42021\"", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "tenantId": "3f8901fe-63d9-4875-9ad5-9fb3b8105797", + "isDeleted": false, + "created": "2021-02-04T12:27:32.3783333-08:00", + "updated": "2021-02-04T12:27:32.3783333-08:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Header-1": "v1_1", + "Header-2": "v1_2", + "Header-3": "v1_3", + "Header-4": "v1_4", + "Header-5": "v1_5" + }, + "entityMapping": {} + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/GetWatchlists.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/GetWatchlists.json new file mode 100644 index 000000000000..49902ae29087 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/examples/watchlists/GetWatchlists.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "type": "Microsoft.SecurityInsights/Watchlists", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "labels": [ + "Tag1", + "Tag2" + ], + "defaultDuration": "P1279DT12H30M5S", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/operations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/operations.json new file mode 100644 index 000000000000..23f44da2803a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2023-11-01/operations.json @@ -0,0 +1,139 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-11-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.SecurityInsights/operations": { + "get": { + "x-ms-examples": { + "Get all operations.": { + "$ref": "./examples/operations/ListOperations.json" + } + }, + "operationId": "Operations_List", + "description": "Lists all operations available Azure Security Insights Resource Provider.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Successfully retrieved operations list.", + "schema": { + "$ref": "#/definitions/OperationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationsList": { + "description": "Lists the operations available in the SecurityInsights RP.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of operations.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Array of operations", + "items": { + "$ref": "#/definitions/Operation" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "Operation": { + "description": "Operation provided by provider", + "properties": { + "display": { + "description": "Properties of the operation", + "properties": { + "description": { + "description": "Description of the operation", + "type": "string" + }, + "operation": { + "description": "Operation name", + "type": "string" + }, + "provider": { + "description": "Provider name", + "type": "string" + }, + "resource": { + "description": "Resource name", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Name of the operation", + "type": "string" + }, + "origin": { + "description": "The origin of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/readme.md b/specification/securityinsights/resource-manager/readme.md index cd4c760ef2af..b56908ea7602 100644 --- a/specification/securityinsights/resource-manager/readme.md +++ b/specification/securityinsights/resource-manager/readme.md @@ -26,17 +26,40 @@ These are the global settings for the SecurityInsights API. ``` yaml openapi-type: arm -tag: package-preview-2023-10 +tag: package-2023-11 ``` --- +### Tag: package-2023-11 + +These settings apply only when `--tag=package-2023-11` is specified on the command line. + +```yaml $(tag) == 'package-2023-11' +input-file: + - Microsoft.SecurityInsights/stable/2023-11-01/AlertRules.json + - Microsoft.SecurityInsights/stable/2023-11-01/AutomationRules.json + - Microsoft.SecurityInsights/stable/2023-11-01/Bookmarks.json + - Microsoft.SecurityInsights/stable/2023-11-01/ContentPackages.json + - Microsoft.SecurityInsights/stable/2023-11-01/ContentProductPackages.json + - Microsoft.SecurityInsights/stable/2023-11-01/ContentProductTemplates.json + - Microsoft.SecurityInsights/stable/2023-11-01/ContentTemplates.json + - Microsoft.SecurityInsights/stable/2023-11-01/DataConnectors.json + - Microsoft.SecurityInsights/stable/2023-11-01/Incidents.json + - Microsoft.SecurityInsights/stable/2023-11-01/Metadata.json + - Microsoft.SecurityInsights/stable/2023-11-01/OnboardingStates.json + - Microsoft.SecurityInsights/stable/2023-11-01/SecurityMLAnalyticsSettings.json + - Microsoft.SecurityInsights/stable/2023-11-01/SourceControls.json + - Microsoft.SecurityInsights/stable/2023-11-01/ThreatIntelligence.json + - Microsoft.SecurityInsights/stable/2023-11-01/Watchlists.json + - Microsoft.SecurityInsights/stable/2023-11-01/operations.json +``` ### Tag: package-preview-2023-10 These settings apply only when `--tag=package-preview-2023-10` is specified on the command line. -```yaml $(tag) == 'package-preview-2023-10' +``` yaml $(tag) == 'package-preview-2023-10' input-file: - Microsoft.SecurityInsights/preview/2023-10-01-preview/AlertRules.json - Microsoft.SecurityInsights/preview/2023-10-01-preview/AutomationRules.json @@ -71,6 +94,7 @@ input-file: - Microsoft.SecurityInsights/preview/2023-10-01-preview/dataConnectors.json - Microsoft.SecurityInsights/preview/2023-10-01-preview/operations.json ``` + ### Tag: package-preview-2023-09 These settings apply only when `--tag=package-preview-2023-09` is specified on the command line. diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2018-05-01/examples/DisableConsoleExamples.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2018-05-01/examples/DisableConsoleExamples.json index 75a445557ddf..aa1005516444 100644 --- a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2018-05-01/examples/DisableConsoleExamples.json +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2018-05-01/examples/DisableConsoleExamples.json @@ -7,7 +7,9 @@ "responses": { "200": { "body": { - "disabled": true + "properties": { + "disabled": true + } } }, "404": { diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2018-05-01/examples/EnableConsoleExamples.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2018-05-01/examples/EnableConsoleExamples.json index 12f664122832..cdbe0ced8d9c 100644 --- a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2018-05-01/examples/EnableConsoleExamples.json +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2018-05-01/examples/EnableConsoleExamples.json @@ -7,7 +7,9 @@ "responses": { "200": { "body": { - "disabled": false + "properties": { + "disabled": false + } } }, "404": { diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2018-05-01/examples/SerialConsoleStatus.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2018-05-01/examples/SerialConsoleStatus.json index 75a445557ddf..cdbe0ced8d9c 100644 --- a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2018-05-01/examples/SerialConsoleStatus.json +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2018-05-01/examples/SerialConsoleStatus.json @@ -7,7 +7,9 @@ "responses": { "200": { "body": { - "disabled": true + "properties": { + "disabled": false + } } }, "404": { diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/CreateSerialPort.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/CreateSerialPort.json new file mode 100644 index 000000000000..f4d48fab3d56 --- /dev/null +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/CreateSerialPort.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-01-01", + "subscriptionId": "00000000-00000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResource": "myVM", + "serialPort": "0", + "parameters": { + "properties": { + "state": "enabled" + } + } + }, + "responses": { + "201": { + "body": { + "name": "0", + "id": "/subscriptions/00000000-00000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.SerialConsole/serialPorts/0", + "type": "Microsoft.SerialConsole/serialPorts", + "properties": { + "state": "enabled", + "connectionState": "inactive" + } + } + } + } +} diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/DisableConsoleExamples.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/DisableConsoleExamples.json new file mode 100644 index 000000000000..103d38f99806 --- /dev/null +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/DisableConsoleExamples.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-01-01", + "subscriptionId": "00000000-00000-0000-0000-000000000000", + "default": "default" + }, + "responses": { + "200": { + "body": { + "disabled": true + } + }, + "404": { + "body": { + "code": "SubscriptionNotFound", + "message": "The subscription '00000000-00000-0000-0000-000000000000' could not be found." + } + } + } +} diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/EnableConsoleExamples.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/EnableConsoleExamples.json new file mode 100644 index 000000000000..b1a8b572538a --- /dev/null +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/EnableConsoleExamples.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-01-01", + "subscriptionId": "00000000-00000-0000-0000-000000000000", + "default": "default" + }, + "responses": { + "200": { + "body": { + "disabled": false + } + }, + "404": { + "body": { + "code": "SubscriptionNotFound", + "message": "The subscription '00000000-00000-0000-0000-000000000000' could not be found." + } + } + } +} diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/GetOperationsExample.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/GetOperationsExample.json new file mode 100644 index 000000000000..46d547d3376b --- /dev/null +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/GetOperationsExample.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.SerialConsole/consoleServices/read", + "isDataAction": "false", + "display": { + "provider": "Microsoft.SerialConsole", + "resource": "Serial Console instance", + "operation": "Default", + "description": "Retrieves the current subscription state" + } + }, + { + "name": "Microsoft.SerialConsole/consoleServices/disableConsole/action", + "isDataAction": "false", + "display": { + "provider": "Microsoft.SerialConsole", + "resource": "Serial Console instance", + "operation": "Disable Console", + "description": "Disable Serial Console for a subscription" + } + }, + { + "name": "Microsoft.SerialConsole/consoleServices/enableConsole/action", + "isDataAction": "false", + "display": { + "provider": "Microsoft.SerialConsole", + "resource": "Serial Console instance", + "operation": "Enable Console", + "description": "Enable Serial Console for a subscription" + } + } + ] + } + } + } +} diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/GetSerialPort.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/GetSerialPort.json new file mode 100644 index 000000000000..d2e34adb5c6d --- /dev/null +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/GetSerialPort.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-01-01", + "subscriptionId": "00000000-00000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResource": "myVM", + "serialPort": "0" + }, + "responses": { + "200": { + "body": { + "name": "0", + "id": "/subscriptions/00000000-00000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.SerialConsole/serialPorts/0", + "type": "Microsoft.SerialConsole/serialPorts", + "properties": { + "state": "enabled", + "connectionState": "inactive" + } + } + } + } +} diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/ListSerialPort.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/ListSerialPort.json new file mode 100644 index 000000000000..f89a5f9e7414 --- /dev/null +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/ListSerialPort.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-01-01", + "subscriptionId": "00000000-00000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResource": "myVM" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "0", + "id": "/subscriptions/00000000-00000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.SerialConsole/serialPorts/0", + "type": "Microsoft.SerialConsole/serialPorts", + "properties": { + "state": "enabled", + "connectionState": "inactive" + } + } + ] + } + } + } +} diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/ListSerialPortSubscription.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/ListSerialPortSubscription.json new file mode 100644 index 000000000000..fcd196f59993 --- /dev/null +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/ListSerialPortSubscription.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-01-01", + "subscriptionId": "00000000-00000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "0", + "id": "/subscriptions/00000000-00000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.SerialConsole/serialPorts/0", + "type": "Microsoft.SerialConsole/serialPorts", + "properties": { + "state": "enabled" + } + } + ] + } + } + } +} diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/SerialConsoleStatus.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/SerialConsoleStatus.json new file mode 100644 index 000000000000..103d38f99806 --- /dev/null +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/SerialConsoleStatus.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-01-01", + "subscriptionId": "00000000-00000-0000-0000-000000000000", + "default": "default" + }, + "responses": { + "200": { + "body": { + "disabled": true + } + }, + "404": { + "body": { + "code": "SubscriptionNotFound", + "message": "The subscription '00000000-00000-0000-0000-000000000000' could not be found." + } + } + } +} diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/SerialPortConnectVM.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/SerialPortConnectVM.json new file mode 100644 index 000000000000..31d34e7db1c4 --- /dev/null +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/SerialPortConnectVM.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-01-01", + "subscriptionId": "00000000-00000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachines", + "parentResource": "myVM", + "serialPort": "0" + }, + "responses": { + "200": { + "body": { + "connectionString": "wss://eastus.gateway.serialconsole.azure.com/n/connector/{containerid}/sessions/{sessionId}/client" + } + } + } +} diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/SerialPortConnectVMSS.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/SerialPortConnectVMSS.json new file mode 100644 index 000000000000..28f2ae20771c --- /dev/null +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/examples/SerialPortConnectVMSS.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-01-01", + "subscriptionId": "00000000-00000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceProviderNamespace": "Microsoft.Compute", + "parentResourceType": "virtualMachineScaleSets", + "parentResource": "myscaleset/virtualMachines/2", + "serialPort": "0" + }, + "responses": { + "200": { + "body": { + "connectionString": "wss://eastus.gateway.serialconsole.azure.com/n/connector/{containerid}/sessions/{sessionId}/client" + } + } + } +} diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/serialconsole.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/serialconsole.json new file mode 100644 index 000000000000..b44ff922ebf5 --- /dev/null +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/serialconsole.json @@ -0,0 +1,334 @@ +{ + "swagger": "2.0", + "info": { + "title": "MicrosoftSerialConsoleClient", + "version": "2023-01-01", + "description": "The Azure Serial Console allows you to access the serial console of a Virtual Machine or VM scale set instance" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.SerialConsole/operations": { + "get": { + "tags": [ + "SerialConsole" + ], + "operationId": "ListOperations", + "description": "Gets a list of Serial Console API operations.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Default response", + "schema": { + "$ref": "./serialport.json#/definitions/CloudError" + } + }, + "200": { + "description": "OK - returns a JSON object", + "schema": { + "$ref": "#/definitions/SerialConsoleOperations" + } + } + }, + "x-ms-examples": { + "List all Serial Console management operations supported by Serial Console RP": { + "$ref": "./examples/GetOperationsExample.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SerialConsole/consoleServices/{default}": { + "get": { + "tags": [ + "SerialConsole" + ], + "operationId": "GetConsoleStatus", + "summary": "Get the disabled status for a subscription", + "description": "Gets whether or not Serial Console is disabled for a given subscription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/defaultParameter" + } + ], + "responses": { + "default": { + "description": "Default response", + "schema": { + "$ref": "./serialport.json#/definitions/CloudError" + } + }, + "200": { + "description": "OK - Returns a JSON object", + "schema": { + "$ref": "#/definitions/SerialConsoleStatus" + } + }, + "404": { + "description": "Subscription not found - returns a JSON object with error details", + "schema": { + "$ref": "#/definitions/GetSerialConsoleSubscriptionNotFound" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get the Serial Console disabled status for a subscription": { + "$ref": "./examples/SerialConsoleStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SerialConsole/consoleServices/{default}/disableConsole": { + "post": { + "tags": [ + "SerialConsole" + ], + "operationId": "DisableConsole", + "summary": "Disable Serial Console for a subscription", + "description": "Disables the Serial Console service for all VMs and VM scale sets in the provided subscription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/defaultParameter" + } + ], + "responses": { + "default": { + "description": "Default response", + "schema": { + "$ref": "./serialport.json#/definitions/CloudError" + } + }, + "200": { + "description": "OK - Returns a JSON object", + "schema": { + "$ref": "#/definitions/DisableSerialConsoleResult" + } + }, + "404": { + "description": "Subscription not found - returns a JSON object with error details", + "schema": { + "$ref": "#/definitions/GetSerialConsoleSubscriptionNotFound" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Disable Serial Console for a subscription": { + "$ref": "./examples/DisableConsoleExamples.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SerialConsole/consoleServices/{default}/enableConsole": { + "post": { + "tags": [ + "SerialConsole" + ], + "operationId": "EnableConsole", + "summary": "Enable Serial Console for a subscription", + "description": "Enables the Serial Console service for all VMs and VM scale sets in the provided subscription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/defaultParameter" + } + ], + "responses": { + "default": { + "description": "Default response", + "schema": { + "$ref": "./serialport.json#/definitions/CloudError" + } + }, + "200": { + "description": "OK - Serial Console disabled", + "schema": { + "$ref": "#/definitions/EnableSerialConsoleResult" + } + }, + "404": { + "description": "Subscription not found - returns a JSON object with error details", + "schema": { + "$ref": "#/definitions/GetSerialConsoleSubscriptionNotFound" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Enable Serial Console for a subscription": { + "$ref": "./examples/EnableConsoleExamples.json" + } + } + } + } + }, + "definitions": { + "SerialConsoleStatus": { + "title": "Serial Console GET Result", + "description": "Returns whether or not Serial Console is disabled.", + "type": "object", + "properties": { + "disabled": { + "description": "Whether or not Serial Console is disabled.", + "type": "boolean" + } + } + }, + "DisableSerialConsoleResult": { + "title": "Serial Console Disable Result", + "description": "Returns whether or not Serial Console is disabled.", + "type": "object", + "properties": { + "disabled": { + "description": "Whether or not Serial Console is disabled.", + "type": "boolean" + } + } + }, + "EnableSerialConsoleResult": { + "title": "Serial Console Enable Result", + "description": "Returns whether or not Serial Console is disabled (enabled).", + "type": "object", + "properties": { + "disabled": { + "description": "Whether or not Serial Console is disabled.", + "type": "boolean" + } + } + }, + "SerialConsoleOperations": { + "title": "Serial Console operations", + "description": "Serial Console operations", + "type": "object", + "properties": { + "value": { + "description": "A list of Serial Console operations", + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "isDataAction": { + "type": "string" + }, + "display": { + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "description": { + "type": "string" + } + } + } + } + } + } + }, + "x-ms-identifiers": [ + "name" + ] + }, + "GetSerialConsoleSubscriptionNotFound": { + "title": "Serial Console subscription not found", + "description": "Error saying that the provided subscription could not be found", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Subscription not found message", + "type": "string" + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation." + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription ID which uniquely identifies the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call requiring it." + }, + "defaultParameter": { + "name": "default", + "in": "path", + "required": true, + "type": "string", + "description": "Default parameter. Leave the value as \"default\".", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/serialport.json b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/serialport.json new file mode 100644 index 000000000000..304a0d659f12 --- /dev/null +++ b/specification/serialconsole/resource-manager/Microsoft.SerialConsole/stable/2023-01-01/serialport.json @@ -0,0 +1,465 @@ +{ + "swagger": "2.0", + "info": { + "title": "MicrosoftSerialConsoleClient", + "version": "2023-01-01", + "description": "The Azure Serial Console allows you to access the serial console of a Virtual Machine or VM scale set instance" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourceType}/{parentResource}/providers/Microsoft.SerialConsole/serialPorts": { + "get": { + "tags": [ + "SerialPorts" + ], + "operationId": "SerialPorts_List", + "description": "Lists all of the configured serial ports for a parent resource ", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/ParentResourceTypeParameter" + }, + { + "$ref": "#/parameters/ParentResourceParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SerialPortListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Serial Ports for parent resources": { + "$ref": "./examples/ListSerialPort.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourceType}/{parentResource}/providers/Microsoft.SerialConsole/serialPorts/{serialPort}": { + "get": { + "tags": [ + "SerialPorts" + ], + "operationId": "SerialPorts_Get", + "description": "Gets the configured settings for a serial port", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/ParentResourceTypeParameter" + }, + { + "$ref": "#/parameters/ParentResourceParameter" + }, + { + "name": "serialPort", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the serial port to connect to." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SerialPort" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get the serial port for a parent resource": { + "$ref": "./examples/GetSerialPort.json" + } + } + }, + "put": { + "tags": [ + "SerialPorts" + ], + "operationId": "SerialPorts_Create", + "description": "Creates or updates a serial port", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/ParentResourceTypeParameter" + }, + { + "$ref": "#/parameters/ParentResourceParameter" + }, + { + "name": "serialPort", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the serial port to create." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SerialPort" + }, + "description": "Parameters supplied to create the serial port." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SerialPort" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a new serial port resource.": { + "$ref": "./examples/CreateSerialPort.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SerialConsole/serialPorts": { + "get": { + "tags": [ + "SerialPorts" + ], + "description": "Handles requests to list all SerialPort resources in a subscription.", + "operationId": "SerialPorts_ListBySubscriptions", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Return a list of SerialPort resources", + "schema": { + "$ref": "#/definitions/SerialPortListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Serial Ports for subscription": { + "$ref": "./examples/ListSerialPortSubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourceType}/{parentResource}/providers/Microsoft.SerialConsole/serialPorts/{serialPort}/connect": { + "post": { + "tags": [ + "SerialPorts" + ], + "operationId": "SerialPorts_Connect", + "description": "Connect to serial port of the target resource", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/ParentResourceTypeParameter" + }, + { + "$ref": "#/parameters/ParentResourceParameter" + }, + { + "name": "serialPort", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the serial port to connect to." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Return a connection string", + "schema": { + "$ref": "#/definitions/SerialPortConnectResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Connect to a virtual machine serial port": { + "$ref": "./examples/SerialPortConnectVM.json" + }, + "Connect to a scale set instance serial port": { + "$ref": "./examples/SerialPortConnectVMSS.json" + } + } + } + } + }, + "definitions": { + "SerialPortProperties": { + "description": "The properties of the serial port.", + "type": "object", + "properties": { + "state": { + "description": "Specifies whether the port is enabled for a serial console connection.", + "type": "string", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "SerialPortState", + "modelAsString": false + } + }, + "connectionState": { + "description": "Specifies whether the port is currently active.", + "type": "string", + "enum": [ + "active", + "inactive" + ], + "x-ms-enum": { + "name": "SerialPortConnectionState", + "modelAsString": false + } + } + } + }, + "SerialPort": { + "title": "Serial port", + "description": "Represents the serial port of the parent resource.", + "type": "object", + "properties": { + "properties": { + "description": "The properties of the serial port.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SerialPortProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "SerialPortListResult": { + "title": "Serial port list result", + "description": "The list serial ports operation response.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SerialPort" + }, + "description": "The list of serial ports." + } + } + }, + "SerialPortConnectResult": { + "title": "Serial port connect result", + "description": "Returns a connection string to the serial port of the resource.", + "type": "object", + "properties": { + "connectionString": { + "description": "Connection string to the serial port of the resource.", + "type": "string" + } + } + }, + "CloudError": { + "description": "An error response from the service.", + "x-ms-external": true, + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Cloud error body." + } + } + }, + "CloudErrorBody": { + "description": "An error response from the Batch service.", + "x-ms-external": true, + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "x-ms-identifiers": [ + "code" + ], + "description": "A list of additional details about the error." + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation." + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription ID which uniquely identifies the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call requiring it." + }, + "defaultParameter": { + "name": "default", + "in": "path", + "required": true, + "type": "string", + "description": "Default parameter. Leave the value as \"default\".", + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ResourceProviderNamespaceParameter": { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider.", + "x-ms-parameter-location": "method" + }, + "ParentResourceTypeParameter": { + "name": "parentResourceType", + "in": "path", + "required": true, + "type": "string", + "description": "The resource type of the parent resource. For example: 'virtualMachines' or 'virtualMachineScaleSets'", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "ParentResourceParameter": { + "name": "parentResource", + "in": "path", + "required": true, + "type": "string", + "description": "The resource name, or subordinate path, for the parent of the serial port. For example: the name of the virtual machine.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/serialconsole/resource-manager/readme.md b/specification/serialconsole/resource-manager/readme.md index c333f716629a..279f1c6d7324 100644 --- a/specification/serialconsole/resource-manager/readme.md +++ b/specification/serialconsole/resource-manager/readme.md @@ -22,7 +22,17 @@ These are the global settings for the Serial Console API. ``` yaml openapi-type: arm azure-arm: true -tag: package-2018-05 +tag: package-2023-01 +``` + +### Tag: package-2023-01 + +These settings apply only when `--tag=package-2023-01` is specified on the command line. + +``` yaml $(tag) == 'package-2023-01' +input-file: +- Microsoft.SerialConsole/stable/2023-01-01/serialconsole.json +- Microsoft.SerialConsole/stable/2023-01-01/serialport.json ``` ### Tag: package-2018-05 diff --git a/specification/sphere/Sphere.Management/catalog.tsp b/specification/sphere/Sphere.Management/catalog.tsp index 4c3c92621d38..bec5ec57fba8 100644 --- a/specification/sphere/Sphere.Management/catalog.tsp +++ b/specification/sphere/Sphere.Management/catalog.tsp @@ -1,9 +1,11 @@ import "@typespec/rest"; +import "@typespec/openapi"; import "@typespec/versioning"; import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; using TypeSpec.Http; +using TypeSpec.OpenAPI; using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.ResourceManager.Foundations; @@ -25,6 +27,11 @@ model Catalog is TrackedResource { @doc("Catalog properties") model CatalogProperties { + @visibility("read") + @doc("The Azure Sphere tenant ID associated with the catalog.") + @added(Microsoft.AzureSphere.Versions.v2024_04_01) + tenantId?: string; + @visibility("read") @doc("The status of the last operation.") provisioningState?: ProvisioningState; @@ -68,14 +75,28 @@ interface Catalogs Catalog, CatalogProperties > { + @removed(Versions.v2024_04_01) @autoRoute @doc("Counts devices in catalog.") @armResourceAction(Catalog) + @action("countDevices") + @renamedFrom(Versions.v2024_04_01, "countDevices") @post - countDevices( + deprecated( ...ResourceInstanceParameters, ): ArmResponse | ErrorResponse; + #suppress "@azure-tools/typespec-providerhub/non-breaking-versioning" "preview api" + @added(Versions.v2024_04_01) + @sharedRoute + @autoRoute + @doc("Counts devices in catalog.") + @armResourceAction(Catalog) + @post + countDevices( + ...ResourceInstanceParameters, + ): ArmResponse | ErrorResponse; + @autoRoute @doc("Lists device insights for catalog.") @armResourceAction(Catalog) @@ -115,4 +136,23 @@ interface Catalogs @body listDeviceGroupsRequest: ListDeviceGroupsRequest, ): ArmResponse> | ErrorResponse; + + @autoRoute + @armResourceAction(Catalog) + @added(Versions.v2024_04_01) + @doc("Creates an image. Use this action when the image ID is unknown.") + @extension("x-ms-long-running-operation", true) + @extension( + "x-ms-long-running-operation-options", + { + `final-state-via`: "location", + } + ) + uploadImage( + ...ResourceInstanceParameters, + + @doc("Image upload request body.") + @body + uploadImageRequest: Image, + ): ArmAcceptedLroResponse | ErrorResponse; } diff --git a/specification/sphere/Sphere.Management/common.tsp b/specification/sphere/Sphere.Management/common.tsp index df93ccecdb16..7077008ea5bd 100644 --- a/specification/sphere/Sphere.Management/common.tsp +++ b/specification/sphere/Sphere.Management/common.tsp @@ -18,6 +18,7 @@ interface Operations extends Azure.ResourceManager.Operations {} // Common models /** Provisioning state of the resource. */ +@doc("Provisioning state of resource.") @lroStatus enum ProvisioningState { ...ResourceProvisioningState, @@ -103,9 +104,12 @@ alias StandardListQueryParametersWithCorrectNames = { ...CustomMaxPageSizeQueryParameter; }; -@doc("Response to the action call for count devices in a catalog.") +@doc("Response to the action call for count devices in a catalog (preview API).") model CountDeviceResponse extends CountElementsResponse {} +@doc("Response to the action call for count devices in a catalog.") +model CountDevicesResponse extends CountElementsResponse {} + @doc("Response of the count for elements.") model CountElementsResponse { @doc("Number of children resources in parent resource.") diff --git a/specification/sphere/Sphere.Management/device.tsp b/specification/sphere/Sphere.Management/device.tsp index 721646dde28e..9019f449e917 100644 --- a/specification/sphere/Sphere.Management/device.tsp +++ b/specification/sphere/Sphere.Management/device.tsp @@ -47,7 +47,10 @@ interface ProxyResourceOperationsDevice< @armResourceOperations interface Devices extends ProxyResourceOperationsDevice { @autoRoute + @removed(Versions.v2024_04_01) + @renamedFrom(Versions.v2024_04_01, "generateCapabilityImage") @armResourceAction(Device) + @action("generateCapabilityImage") @post @doc("Generates the capability image for the device. Use '.unassigned' or '.default' for the device group and product names to generate the image for a device that does not belong to a specific device group and product.") @extension("x-ms-long-running-operation", true) @@ -57,13 +60,35 @@ interface Devices extends ProxyResourceOperationsDevice { `final-state-via`: "location", } ) - generateCapabilityImage( + deprecatedGenerateCapabilityImage( ...ResourceInstanceParameters, @doc("Generate capability image request body.") @body generateDeviceCapabilityRequest: GenerateCapabilityImageRequest, ): ArmResponse | ArmAcceptedResponse | ErrorResponse; + + #suppress "@azure-tools/typespec-providerhub/non-breaking-versioning" "preview api" + @autoRoute + @sharedRoute + @added(Versions.v2024_04_01) + @armResourceAction(Device) + @post + @doc("Generates the capability image for the device. Use '.unassigned' or '.default' for the device group and product names to generate the image for a device that does not belong to a specific device group and product.") + @extension("x-ms-long-running-operation", true) + @extension( + "x-ms-long-running-operation-options", + { + `final-state-via`: "location", + } + ) + generateCapabilityImage( + ...ResourceInstanceParameters, + + @doc("Generate capability image request body.") + @body + generateDeviceCapabilityRequest: GenerateCapabilityImageRequest, + ): ArmResponse | ArmAcceptedLroResponse | ErrorResponse; } @doc("The properties of device") diff --git a/specification/sphere/Sphere.Management/deviceGroup.tsp b/specification/sphere/Sphere.Management/deviceGroup.tsp index 9baf49745b17..8226c0013d66 100644 --- a/specification/sphere/Sphere.Management/deviceGroup.tsp +++ b/specification/sphere/Sphere.Management/deviceGroup.tsp @@ -50,16 +50,33 @@ interface DeviceGroups DeviceGroup, ListQueryParameters > { + @doc("Counts devices in device group. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.") + @removed(Versions.v2024_04_01) @autoRoute + @renamedFrom(Versions.v2024_04_01, "countDevices") + @armResourceAction(DeviceGroup) + @action("countDevices") + @post + deprecatedCountDevices( + ...ResourceInstanceParameters, + ): ArmResponse | ErrorResponse; + + #suppress "@azure-tools/typespec-providerhub/non-breaking-versioning" "preview api" @doc("Counts devices in device group. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.") + @added(Versions.v2024_04_01) + @autoRoute + @sharedRoute @armResourceAction(DeviceGroup) @post countDevices( ...ResourceInstanceParameters, - ): ArmResponse | ErrorResponse; + ): ArmResponse | ErrorResponse; @autoRoute @armResourceAction(DeviceGroup) + @action("claimDevices") + @removed(Versions.v2024_04_01) + @renamedFrom(Versions.v2024_04_01, "claimDevices") @doc("Bulk claims the devices. Use '.unassigned' or '.default' for the device group and product names when bulk claiming devices to a catalog only.") @extension("x-ms-long-running-operation", true) @extension( @@ -69,13 +86,35 @@ interface DeviceGroups } ) @post - claimDevices( + deprecatedClaimDevices( ...ResourceInstanceParameters, @doc("Bulk claim devices request body.") @body claimDevicesRequest: ClaimDevicesRequest, ): ArmAcceptedResponse | ErrorResponse; + + #suppress "@azure-tools/typespec-providerhub/non-breaking-versioning" "preview api" + @autoRoute + @sharedRoute + @added(Versions.v2024_04_01) + @armResourceAction(DeviceGroup) + @doc("Bulk claims the devices. Use '.unassigned' or '.default' for the device group and product names when bulk claiming devices to a catalog only.") + @extension("x-ms-long-running-operation", true) + @extension( + "x-ms-long-running-operation-options", + { + `final-state-via`: "location", + } + ) + @post + claimDevices( + ...ResourceInstanceParameters, + + @doc("Bulk claim devices request body.") + @body + claimDevicesRequest: ClaimDevicesRequest, + ): ArmAcceptedLroResponse | ErrorResponse; } @doc("The properties of deviceGroup") diff --git a/specification/sphere/Sphere.Management/examples/DeleteCatalog.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteCatalog.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/DeleteCatalog.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteCatalog.json diff --git a/specification/sphere/Sphere.Management/examples/DeleteDeployment.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteDeployment.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/DeleteDeployment.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteDeployment.json diff --git a/specification/sphere/Sphere.Management/examples/DeleteDevice.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteDevice.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/DeleteDevice.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteDevice.json diff --git a/specification/sphere/Sphere.Management/examples/DeleteDeviceGroup.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteDeviceGroup.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/DeleteDeviceGroup.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteDeviceGroup.json diff --git a/specification/sphere/Sphere.Management/examples/DeleteImage.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteImage.json similarity index 91% rename from specification/sphere/Sphere.Management/examples/DeleteImage.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteImage.json index c87670823a95..3f46df5bf8c8 100644 --- a/specification/sphere/Sphere.Management/examples/DeleteImage.json +++ b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteImage.json @@ -5,7 +5,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "MyResourceGroup1", "catalogName": "MyCatalog1", - "imageName": "imageID", + "imageName": "00000000-0000-0000-0000-000000000000", "api-version": "2022-09-01-preview" }, "responses": { diff --git a/specification/sphere/Sphere.Management/examples/DeleteProduct.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteProduct.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/DeleteProduct.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/DeleteProduct.json diff --git a/specification/sphere/Sphere.Management/examples/GetCatalog.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetCatalog.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetCatalog.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetCatalog.json diff --git a/specification/sphere/Sphere.Management/examples/GetCatalogsRG.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetCatalogsRG.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetCatalogsRG.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetCatalogsRG.json diff --git a/specification/sphere/Sphere.Management/examples/GetCatalogsSub.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetCatalogsSub.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetCatalogsSub.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetCatalogsSub.json diff --git a/specification/sphere/Sphere.Management/examples/GetCertificate.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetCertificate.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetCertificate.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetCertificate.json diff --git a/specification/sphere/Sphere.Management/examples/GetCertificates.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetCertificates.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetCertificates.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetCertificates.json diff --git a/specification/sphere/Sphere.Management/examples/GetDeployment.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetDeployment.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetDeployment.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetDeployment.json diff --git a/specification/sphere/Sphere.Management/examples/GetDeployments.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetDeployments.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetDeployments.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetDeployments.json diff --git a/specification/sphere/Sphere.Management/examples/GetDevice.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetDevice.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetDevice.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetDevice.json diff --git a/specification/sphere/Sphere.Management/examples/GetDeviceGroup.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetDeviceGroup.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetDeviceGroup.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetDeviceGroup.json diff --git a/specification/sphere/Sphere.Management/examples/GetDeviceGroups.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetDeviceGroups.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetDeviceGroups.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetDeviceGroups.json diff --git a/specification/sphere/Sphere.Management/examples/GetDevices.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetDevices.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetDevices.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetDevices.json diff --git a/specification/sphere/Sphere.Management/examples/GetImage.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetImage.json similarity index 87% rename from specification/sphere/Sphere.Management/examples/GetImage.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetImage.json index 3023a79d50c5..ca620f29bb05 100644 --- a/specification/sphere/Sphere.Management/examples/GetImage.json +++ b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetImage.json @@ -5,7 +5,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "MyResourceGroup1", "catalogName": "MyCatalog1", - "imageName": "myImageId", + "imageName": "00000000-0000-0000-0000-000000000000", "api-version": "2022-09-01-preview" }, "responses": { diff --git a/specification/sphere/Sphere.Management/examples/GetImages.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetImages.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetImages.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetImages.json diff --git a/specification/sphere/Sphere.Management/examples/GetOperations.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetOperations.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetOperations.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetOperations.json diff --git a/specification/sphere/Sphere.Management/examples/GetProduct.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetProduct.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetProduct.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetProduct.json diff --git a/specification/sphere/Sphere.Management/examples/GetProducts.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetProducts.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/GetProducts.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/GetProducts.json diff --git a/specification/sphere/Sphere.Management/examples/PatchCatalog.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PatchCatalog.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PatchCatalog.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PatchCatalog.json diff --git a/specification/sphere/Sphere.Management/examples/PatchDevice.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PatchDevice.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PatchDevice.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PatchDevice.json diff --git a/specification/sphere/Sphere.Management/examples/PatchDeviceGroup.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PatchDeviceGroup.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PatchDeviceGroup.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PatchDeviceGroup.json diff --git a/specification/sphere/Sphere.Management/examples/PatchProduct.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PatchProduct.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PatchProduct.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PatchProduct.json diff --git a/specification/sphere/Sphere.Management/examples/PostClaimDevices.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostClaimDevices.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PostClaimDevices.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostClaimDevices.json diff --git a/specification/sphere/Sphere.Management/examples/PostCountDevicesCatalog.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostCountDevicesCatalog.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PostCountDevicesCatalog.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostCountDevicesCatalog.json diff --git a/specification/sphere/Sphere.Management/examples/PostCountDevicesDeviceGroup.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostCountDevicesDeviceGroup.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PostCountDevicesDeviceGroup.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostCountDevicesDeviceGroup.json diff --git a/specification/sphere/Sphere.Management/examples/PostCountDevicesProduct.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostCountDevicesProduct.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PostCountDevicesProduct.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostCountDevicesProduct.json diff --git a/specification/sphere/Sphere.Management/examples/PostGenerateDefaultDeviceGroups.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostGenerateDefaultDeviceGroups.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PostGenerateDefaultDeviceGroups.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostGenerateDefaultDeviceGroups.json diff --git a/specification/sphere/Sphere.Management/examples/PostGenerateDeviceCapabilityImage.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostGenerateDeviceCapabilityImage.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PostGenerateDeviceCapabilityImage.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostGenerateDeviceCapabilityImage.json diff --git a/specification/sphere/Sphere.Management/examples/PostListDeploymentsByCatalog.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostListDeploymentsByCatalog.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PostListDeploymentsByCatalog.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostListDeploymentsByCatalog.json diff --git a/specification/sphere/Sphere.Management/examples/PostListDeviceGroupsCatalog.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostListDeviceGroupsCatalog.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PostListDeviceGroupsCatalog.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostListDeviceGroupsCatalog.json diff --git a/specification/sphere/Sphere.Management/examples/PostListDeviceInsightsCatalog.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostListDeviceInsightsCatalog.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PostListDeviceInsightsCatalog.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostListDeviceInsightsCatalog.json diff --git a/specification/sphere/Sphere.Management/examples/PostListDevicesByCatalog.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostListDevicesByCatalog.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PostListDevicesByCatalog.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostListDevicesByCatalog.json diff --git a/specification/sphere/Sphere.Management/examples/PostRetrieveCatalogCertChain.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostRetrieveCatalogCertChain.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PostRetrieveCatalogCertChain.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostRetrieveCatalogCertChain.json diff --git a/specification/sphere/Sphere.Management/examples/PostRetrieveProofOfPossessionNonce.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostRetrieveProofOfPossessionNonce.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PostRetrieveProofOfPossessionNonce.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PostRetrieveProofOfPossessionNonce.json diff --git a/specification/sphere/Sphere.Management/examples/PutCatalog.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutCatalog.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PutCatalog.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutCatalog.json diff --git a/specification/sphere/Sphere.Management/examples/PutDeployment.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutDeployment.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PutDeployment.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutDeployment.json diff --git a/specification/sphere/Sphere.Management/examples/PutDevice.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutDevice.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PutDevice.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutDevice.json diff --git a/specification/sphere/Sphere.Management/examples/PutDeviceGroup.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutDeviceGroup.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PutDeviceGroup.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutDeviceGroup.json diff --git a/specification/sphere/Sphere.Management/examples/PutImage.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutImage.json similarity index 97% rename from specification/sphere/Sphere.Management/examples/PutImage.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutImage.json index c28ad12e90d3..7034054644d6 100644 --- a/specification/sphere/Sphere.Management/examples/PutImage.json +++ b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutImage.json @@ -5,7 +5,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "MyResourceGroup1", "catalogName": "MyCatalog1", - "imageName": "default", + "imageName": ".default", "resource": { "properties": { "image": "bXliYXNlNjRzdHJpbmc=" diff --git a/specification/sphere/Sphere.Management/examples/PutProduct.json b/specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutProduct.json similarity index 100% rename from specification/sphere/Sphere.Management/examples/PutProduct.json rename to specification/sphere/Sphere.Management/examples/2022-09-01-preview/PutProduct.json diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteCatalog.json b/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteCatalog.json new file mode 100644 index 000000000000..658bc7b9990c --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteCatalog.json @@ -0,0 +1,24 @@ +{ + "operationId": "Catalogs_Delete", + "title": "Catalogs_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteDeployment.json b/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteDeployment.json new file mode 100644 index 000000000000..6a3411f17082 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteDeployment.json @@ -0,0 +1,27 @@ +{ + "operationId": "Deployments_Delete", + "title": "Deployments_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProductName1", + "deviceGroupName": "DeviceGroupName1", + "deploymentName": "MyDeploymentName1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteDevice.json b/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteDevice.json new file mode 100644 index 000000000000..057b4d7b71c7 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteDevice.json @@ -0,0 +1,27 @@ +{ + "operationId": "Devices_Delete", + "title": "Devices_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProductName1", + "deviceGroupName": "DeviceGroupName1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteDeviceGroup.json b/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteDeviceGroup.json new file mode 100644 index 000000000000..41eab5c0492c --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteDeviceGroup.json @@ -0,0 +1,26 @@ +{ + "operationId": "DeviceGroups_Delete", + "title": "DeviceGroups_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteImage.json b/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteImage.json new file mode 100644 index 000000000000..45b70048d57b --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteImage.json @@ -0,0 +1,25 @@ +{ + "operationId": "Images_Delete", + "title": "Images_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "imageName": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteProduct.json b/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteProduct.json new file mode 100644 index 000000000000..0f5433be7216 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/DeleteProduct.json @@ -0,0 +1,25 @@ +{ + "operationId": "Products_Delete", + "title": "Products_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProductName1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetCatalog.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetCatalog.json new file mode 100644 index 000000000000..87771799dffc --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetCatalog.json @@ -0,0 +1,21 @@ +{ + "operationId": "Catalogs_Get", + "title": "Catalogs_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetCatalogsRG.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetCatalogsRG.json new file mode 100644 index 000000000000..488c94bc3c23 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetCatalogsRG.json @@ -0,0 +1,30 @@ +{ + "operationId": "Catalogs_ListByResourceGroup", + "title": "Catalogs_ListByResourceGroup", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog2", + "name": "MyCatalog2", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetCatalogsSub.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetCatalogsSub.json new file mode 100644 index 000000000000..d715ad91a2ef --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetCatalogsSub.json @@ -0,0 +1,29 @@ +{ + "operationId": "Catalogs_ListBySubscription", + "title": "Catalogs_ListBySubscription", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup2/providers/Microsoft.AzureSphere/catalogs/MyCatalog2", + "name": "MyCatalog2", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetCertificate.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetCertificate.json new file mode 100644 index 000000000000..a8c64f3db445 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetCertificate.json @@ -0,0 +1,17 @@ +{ + "operationId": "Certificates_Get", + "title": "Certificates_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "serialNumber": "default", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": {} + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetCertificates.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetCertificates.json new file mode 100644 index 000000000000..9c3fd6281498 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetCertificates.json @@ -0,0 +1,18 @@ +{ + "operationId": "Certificates_ListByCatalog", + "title": "Certificates_ListByCatalog", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetDeployment.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetDeployment.json new file mode 100644 index 000000000000..fc9af844c81f --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetDeployment.json @@ -0,0 +1,38 @@ +{ + "operationId": "Deployments_Get", + "title": "Deployments_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deploymentName": "MyDeployment1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/deviceGroups/MyDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "properties": { + "deployedImages": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/MyImage1", + "properties": { + "image": "dGVzdGltYWdl", + "regionalDataBoundary": "None", + "uri": "imageUri", + "description": "description", + "componentId": "componentId", + "imageType": "ImageType", + "provisioningState": "Succeeded" + } + } + ] + } + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetDeployments.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetDeployments.json new file mode 100644 index 000000000000..eef2ff5d1ac8 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetDeployments.json @@ -0,0 +1,42 @@ +{ + "operationId": "Deployments_ListByDeviceGroup", + "title": "Deployments_ListByDeviceGroup", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/deviceGroups/MyDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "properties": { + "deployedImages": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/MyImage1", + "properties": { + "image": "dGVzdGltYWdl", + "regionalDataBoundary": "None", + "uri": "imageUri", + "description": "description", + "componentId": "componentId", + "imageType": "ImageType", + "provisioningState": "Succeeded" + } + } + ], + "deploymentDateUtc": "2022-09-30T21:51:39.2698729Z" + } + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetDevice.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetDevice.json new file mode 100644 index 000000000000..858ee313939f --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetDevice.json @@ -0,0 +1,29 @@ +{ + "operationId": "Devices_Get", + "title": "Devices_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": { + "chipSku": "MyChipSku1", + "lastAvailableOsVersion": "AvailableOsVersion1", + "lastInstalledOsVersion": "InstalledOsVersion1", + "lastOsUpdateUtc": "2022-09-30T23:54:21.96Z", + "lastUpdateRequestUtc": "2022-10-01T23:54:21.96Z" + } + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetDeviceGroup.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetDeviceGroup.json new file mode 100644 index 000000000000..1e8379ab7772 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetDeviceGroup.json @@ -0,0 +1,26 @@ +{ + "operationId": "DeviceGroups_Get", + "title": "DeviceGroups_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups", + "properties": { + "description": "The description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetDeviceGroups.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetDeviceGroups.json new file mode 100644 index 000000000000..46123e6f6d98 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetDeviceGroups.json @@ -0,0 +1,30 @@ +{ + "operationId": "DeviceGroups_ListByProduct", + "title": "DeviceGroups_ListByProduct", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "name": "MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/Products/MyProduct2/devicegroups/MyDeviceGroup2", + "name": "MyDeviceGroup2", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetDevices.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetDevices.json new file mode 100644 index 000000000000..c011cde1148a --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetDevices.json @@ -0,0 +1,29 @@ +{ + "operationId": "Devices_ListByDeviceGroup", + "title": "Devices_ListByDeviceGroup", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000-0000-0000-0000-000000000001", + "properties": {} + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000-0000-0000-0000-000000000002", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetImage.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetImage.json new file mode 100644 index 000000000000..8943a1fcf403 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetImage.json @@ -0,0 +1,17 @@ +{ + "operationId": "Images_Get", + "title": "Images_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "imageName": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": {} + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetImages.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetImages.json new file mode 100644 index 000000000000..7701f85222a1 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetImages.json @@ -0,0 +1,27 @@ +{ + "operationId": "Images_ListByCatalog", + "title": "Images_ListByCatalog", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "00000000-0000-0000-0000-000000000001", + "name": "MyImage1" + }, + { + "id": "00000000-0000-0000-0000-000000000002", + "name": "MyImage2" + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetOperations.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetOperations.json new file mode 100644 index 000000000000..5a4b09163c2d --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetOperations.json @@ -0,0 +1,35 @@ +{ + "operationId": "Operations_List", + "title": "Operations_List", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "Microsoft.AzureSphere/catalogs/Read", + "display": { + "provider": "Microsoft.AzureSphere", + "resource": "catalog", + "operation": "Gets/List catalog", + "description": "Read Azure Sphere catalogs" + } + }, + { + "name": "Microsoft.AzureSphere/catalogs/Write", + "display": { + "provider": "Microsoft.AzureSphere", + "resource": "catalog", + "operation": "Create/Update catalog", + "description": "Writes Azure Sphere catalogs" + } + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetProduct.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetProduct.json new file mode 100644 index 000000000000..570db8296b81 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetProduct.json @@ -0,0 +1,23 @@ +{ + "operationId": "Products_Get", + "title": "Products_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "type": "microsoft.azureSphere/catalogs/products", + "properties": { + "description": "product description." + } + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/GetProducts.json b/specification/sphere/Sphere.Management/examples/2024-04-01/GetProducts.json new file mode 100644 index 000000000000..915cd38158a3 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/GetProducts.json @@ -0,0 +1,29 @@ +{ + "operationId": "Products_ListByCatalog", + "title": "Products_ListByCatalog", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/products" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct2", + "name": "MyProduct2", + "type": "Microsoft.AzureSphere/catalogs/products" + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PatchCatalog.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PatchCatalog.json new file mode 100644 index 000000000000..bec2ebeca152 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PatchCatalog.json @@ -0,0 +1,25 @@ +{ + "operationId": "Catalogs_Update", + "title": "Catalogs_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01", + "properties": {}, + "resource": { + "location": "global" + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PatchDevice.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PatchDevice.json new file mode 100644 index 000000000000..6dd5ed784af2 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PatchDevice.json @@ -0,0 +1,36 @@ +{ + "operationId": "Devices_Update", + "title": "Devices_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": {}, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1/device/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "Microsoft.AzureSphere/catalogs/products/devicegroups", + "properties": { + "chipSku": "MyChipSku1", + "lastAvailableOsVersion": "AvailableOsVersion1", + "lastInstalledOsVersion": "InstalledOsVersion1", + "lastOsUpdateUtc": "2022-10-30T23:54:21.96Z", + "lastUpdateRequestUtc": "2022-10-01T23:54:21.96Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "description": "The device update started successfully." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PatchDeviceGroup.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PatchDeviceGroup.json new file mode 100644 index 000000000000..84cd946a5ca9 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PatchDeviceGroup.json @@ -0,0 +1,33 @@ +{ + "operationId": "DeviceGroups_Update", + "title": "DeviceGroups_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "properties": {}, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups", + "properties": { + "description": "The description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "description": "Resource update request accepted." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PatchProduct.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PatchProduct.json new file mode 100644 index 000000000000..e2da1aafeb7e --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PatchProduct.json @@ -0,0 +1,30 @@ +{ + "operationId": "Products_Update", + "title": "Products_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "properties": {}, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "type": "microsoft.azureSphere/catalogs/products", + "properties": { + "description": "Product description." + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "description": "Resource update request accepted." + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostClaimDevices.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostClaimDevices.json new file mode 100644 index 000000000000..193ef5d3e2a6 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostClaimDevices.json @@ -0,0 +1,25 @@ +{ + "operationId": "DeviceGroups_ClaimDevices", + "title": "DeviceGroups_ClaimDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "claimDevicesRequest": { + "deviceIdentifiers": [ + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + ] + }, + "api-version": "2024-04-01" + }, + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostCountDevicesCatalog.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostCountDevicesCatalog.json new file mode 100644 index 000000000000..979f312d235a --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostCountDevicesCatalog.json @@ -0,0 +1,18 @@ +{ + "operationId": "Catalogs_CountDevices", + "title": "Catalogs_CountDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": 3 + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostCountDevicesDeviceGroup.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostCountDevicesDeviceGroup.json new file mode 100644 index 000000000000..45e5e0b05ad3 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostCountDevicesDeviceGroup.json @@ -0,0 +1,20 @@ +{ + "operationId": "DeviceGroups_CountDevices", + "title": "DeviceGroups_CountDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": 3 + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostCountDevicesProduct.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostCountDevicesProduct.json new file mode 100644 index 000000000000..4ca2bcd28a2c --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostCountDevicesProduct.json @@ -0,0 +1,21 @@ +{ + "operationId": "Products_CountDevices", + "title": "Products_CountDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "productGroupName": "MyProduct1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": 3 + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostGenerateDefaultDeviceGroups.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostGenerateDefaultDeviceGroups.json new file mode 100644 index 000000000000..b86ea57c2833 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostGenerateDefaultDeviceGroups.json @@ -0,0 +1,40 @@ +{ + "operationId": "Products_GenerateDefaultDeviceGroups", + "title": "Products_GenerateDefaultDeviceGroups", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "name": "MyDeviceGroup1", + "properties": { + "description": "Device group description 1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll", + "allowCrashDumpsCollection": "Enabled" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup2", + "name": "MyDeviceGroup2", + "properties": { + "description": "Device group description 2", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll", + "allowCrashDumpsCollection": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostGenerateDeviceCapabilityImage.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostGenerateDeviceCapabilityImage.json new file mode 100644 index 000000000000..3f10e240a86c --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostGenerateDeviceCapabilityImage.json @@ -0,0 +1,32 @@ +{ + "operationId": "Devices_GenerateCapabilityImage", + "title": "Devices_GenerateCapabilityImage", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "generateDeviceCapabilityRequest": { + "capabilities": [ + "ApplicationDevelopment" + ] + }, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "image": "TheDeviceCapabilityImage" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostListDeploymentsByCatalog.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostListDeploymentsByCatalog.json new file mode 100644 index 000000000000..9e1bafb39819 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostListDeploymentsByCatalog.json @@ -0,0 +1,27 @@ +{ + "operationId": "Catalogs_ListDeployments", + "title": "Catalogs_ListDeployments", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "DeploymentName1111", + "properties": {} + }, + { + "name": "DeploymentName1121", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostListDeviceGroupsCatalog.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostListDeviceGroupsCatalog.json new file mode 100644 index 000000000000..59a575a79ed0 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostListDeviceGroupsCatalog.json @@ -0,0 +1,32 @@ +{ + "operationId": "Catalogs_ListDeviceGroups", + "title": "Catalogs_ListDeviceGroups", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01", + "listDeviceGroupsRequest": { + "deviceGroupName": "MyDeviceGroup1" + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "name": "MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct2/devicegroups/MyDeviceGroup2", + "name": "MyDeviceGroup2", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostListDeviceInsightsCatalog.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostListDeviceInsightsCatalog.json new file mode 100644 index 000000000000..836f912dca25 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostListDeviceInsightsCatalog.json @@ -0,0 +1,40 @@ +{ + "operationId": "Catalogs_ListDeviceInsights", + "title": "Catalogs_ListDeviceInsights", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "$top": 10, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "description": "eventDescription1", + "deviceId": "eventIdentifier1", + "startTimestampUtc": "2021-09-30T21:51:39.26Z", + "endTimestampUtc": "2021-09-30T23:54:21.96Z", + "eventCategory": "eventCategory1", + "eventClass": "eventClass1", + "eventType": "eventType1", + "eventCount": 1 + }, + { + "description": "eventDescription2", + "deviceId": "eventIdentifier2", + "startTimestampUtc": "2022-12-06T12:41:39.26Z", + "endTimestampUtc": "2022-12-07T17:34:12.50Z", + "eventCategory": "eventCategory2", + "eventClass": "eventClass2", + "eventType": "eventType2", + "eventCount": 1 + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostListDevicesByCatalog.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostListDevicesByCatalog.json new file mode 100644 index 000000000000..adfc7215cb82 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostListDevicesByCatalog.json @@ -0,0 +1,27 @@ +{ + "operationId": "Catalogs_ListDevices", + "title": "Catalogs_ListDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": {} + }, + { + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostRetrieveCatalogCertChain.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostRetrieveCatalogCertChain.json new file mode 100644 index 000000000000..d899e89ea6d6 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostRetrieveCatalogCertChain.json @@ -0,0 +1,19 @@ +{ + "operationId": "Certificates_RetrieveCertChain", + "title": "Certificates_RetrieveCertChain", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "serialNumber": "active", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "certificateChain": "ABynaryRepresentationOfTheRequestedCatalogCertificateChain" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostRetrieveProofOfPossessionNonce.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostRetrieveProofOfPossessionNonce.json new file mode 100644 index 000000000000..400c9af86b8a --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostRetrieveProofOfPossessionNonce.json @@ -0,0 +1,22 @@ +{ + "operationId": "Certificates_RetrieveProofOfPossessionNonce", + "title": "Certificates_RetrieveProofOfPossessionNonce", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "serialNumber": "active", + "proofOfPossessionNonceRequest": { + "proofOfPossessionNonce": "proofOfPossessionNonce" + }, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "certificate": "bXliYXNlNjRzdHJpbmc=" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PostUploadImageCatalog.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PostUploadImageCatalog.json new file mode 100644 index 000000000000..022a60a12a4f --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PostUploadImageCatalog.json @@ -0,0 +1,23 @@ +{ + "operationId": "Catalogs_UploadImage", + "title": "Catalogs_UploadImage", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01", + "uploadImageRequest": { + "properties": { + "image": "bXliYXNlNjRzdHJpbmc=" + } + } + }, + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PutCatalog.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PutCatalog.json new file mode 100644 index 000000000000..6fedad40487c --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PutCatalog.json @@ -0,0 +1,34 @@ +{ + "operationId": "Catalogs_CreateOrUpdate", + "title": "Catalogs_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01", + "location": "global", + "resource": { + "location": "global" + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PutDeployment.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PutDeployment.json new file mode 100644 index 000000000000..ce2abff598ca --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PutDeployment.json @@ -0,0 +1,47 @@ +{ + "operationId": "Deployments_CreateOrUpdate", + "title": "Deployments_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deploymentName": "MyDeployment1", + "api-version": "2024-04-01", + "resource": {} + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/deviceGroups/MyDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "properties": { + "deployedImages": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/MyImage1", + "properties": { + "image": "MyImage", + "imageId": "00000000-0000-0000-0000-000000000000", + "uri": "imageUri", + "regionalDataBoundary": "None", + "imageType": "InvalidImageType", + "provisioningState": "Succeeded" + } + } + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "type": "Microsoft.AzureSphere/catalogs/products/deviceGroups/deployments" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PutDevice.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PutDevice.json new file mode 100644 index 000000000000..7e69ec373bf2 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PutDevice.json @@ -0,0 +1,34 @@ +{ + "operationId": "Devices_CreateOrUpdate", + "title": "Devices_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "api-version": "2024-04-01", + "resource": {} + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": { + "chipSku": "MyChipSku1" + } + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "Microsoft.AzureSphere/catalogs/products/deviceGroups/devices" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PutDeviceGroup.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PutDeviceGroup.json new file mode 100644 index 000000000000..eaf9e7a53c95 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PutDeviceGroup.json @@ -0,0 +1,46 @@ +{ + "operationId": "DeviceGroups_CreateOrUpdate", + "title": "DeviceGroups_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2024-04-01", + "resource": { + "properties": { + "description": "Description for MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "type": "microsoft.AzureSphere/catalogs/products/devicegroups", + "properties": { + "description": "Description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1", + "name": "MyDeviceId1", + "type": "Microsoft.AzureSphere/catalogs/products/deviceGroups", + "properties": { + "description": "Description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PutImage.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PutImage.json new file mode 100644 index 000000000000..6d26ad07a8ae --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PutImage.json @@ -0,0 +1,34 @@ +{ + "operationId": "Images_CreateOrUpdate", + "title": "Image_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "imageName": "00000000-0000-0000-0000-000000000000", + "resource": { + "properties": { + "image": "bXliYXNlNjRzdHJpbmc=" + } + }, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/default", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/images" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/default", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/images" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/examples/2024-04-01/PutProduct.json b/specification/sphere/Sphere.Management/examples/2024-04-01/PutProduct.json new file mode 100644 index 000000000000..75a53ec45323 --- /dev/null +++ b/specification/sphere/Sphere.Management/examples/2024-04-01/PutProduct.json @@ -0,0 +1,30 @@ +{ + "operationId": "Products_CreateOrUpdate", + "title": "Products_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2024-04-01", + "resource": {} + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/products" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs" + } + } + } +} diff --git a/specification/sphere/Sphere.Management/image.tsp b/specification/sphere/Sphere.Management/image.tsp index 5bb6bec02d80..2f82e03f9ac6 100644 --- a/specification/sphere/Sphere.Management/image.tsp +++ b/specification/sphere/Sphere.Management/image.tsp @@ -1,9 +1,11 @@ import "@typespec/rest"; +import "@typespec/openapi"; import "@typespec/versioning"; import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; using TypeSpec.Http; +using TypeSpec.OpenAPI; using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.ResourceManager.Foundations; @@ -16,7 +18,7 @@ namespace Microsoft.AzureSphere; @doc("An image resource belonging to a catalog resource.") @parentResource(Catalog) model Image is ProxyResource { - @doc("Image name. Use .default for image creation.") + @doc("Image name. Use an image GUID for GA versions of the API.") @key("imageName") @path @segment("images") @@ -69,12 +71,6 @@ model ImageProperties { provisioningState?: ProvisioningState; } -@doc("Image upload request body.") -model ImageUploadRequestBody { - @doc(".") - images: string; -} - @doc("Image type values.") enum ImageType { /** Invalid image. */ diff --git a/specification/sphere/Sphere.Management/main.tsp b/specification/sphere/Sphere.Management/main.tsp index 7bd635ad2bb0..b3a4b71fa8b9 100644 --- a/specification/sphere/Sphere.Management/main.tsp +++ b/specification/sphere/Sphere.Management/main.tsp @@ -22,9 +22,20 @@ using Azure.ResourceManager; @armProviderNamespace @service({ title: "AzureSphereProviderClient", - version: "2022-09-01-preview", }) @doc("Azure Sphere resource management API.") -@useDependency(Azure.Core.Versions.v1_0_Preview_1) -@useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) +@versioned(Microsoft.AzureSphere.Versions) namespace Microsoft.AzureSphere; + +@doc("Azure Sphere API versions.") +enum Versions { + @useDependency(Azure.Core.Versions.v1_0_Preview_1) + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @doc("Public preview API version.") + v2022_09_01: "2022-09-01-preview", + + @useDependency(Azure.Core.Versions.v1_0_Preview_1) + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @doc("Initial GA API version.") + v2024_04_01: "2024-04-01", +} diff --git a/specification/sphere/Sphere.Management/product.tsp b/specification/sphere/Sphere.Management/product.tsp index 09d6c83c9dad..abde83c8564e 100644 --- a/specification/sphere/Sphere.Management/product.tsp +++ b/specification/sphere/Sphere.Management/product.tsp @@ -52,13 +52,27 @@ interface Products extends ProxyResourceOperationsProducts { ...ResourceInstanceParameters, ): ArmResponse> | ErrorResponse; + @doc("Counts devices in product. '.default' and '.unassigned' are system defined values and cannot be used for product name.") + @removed(Versions.v2024_04_01) @autoRoute + @renamedFrom(Versions.v2024_04_01, "countDevices") + @armResourceAction(Product) + @action("countDevices") + @post + deprecated( + ...ResourceInstanceParameters, + ): ArmResponse | ErrorResponse; + + #suppress "@azure-tools/typespec-providerhub/non-breaking-versioning" "preview api" @doc("Counts devices in product. '.default' and '.unassigned' are system defined values and cannot be used for product name.") + @added(Versions.v2024_04_01) + @autoRoute + @sharedRoute @armResourceAction(Product) @post countDevices( ...ResourceInstanceParameters, - ): ArmResponse | ErrorResponse; + ): ArmResponse | ErrorResponse; } @doc("The properties of product") diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/azuresphere.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/azuresphere.json index 077b2b100494..4ff7b1b65b24 100644 --- a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/azuresphere.json +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/azuresphere.json @@ -787,7 +787,7 @@ { "name": "imageName", "in": "path", - "description": "Image name. Use .default for image creation.", + "description": "Image name. Use an image GUID for GA versions of the API.", "required": true, "type": "string" } @@ -839,7 +839,7 @@ { "name": "imageName", "in": "path", - "description": "Image name. Use .default for image creation.", + "description": "Image name. Use an image GUID for GA versions of the API.", "required": true, "type": "string" }, @@ -917,7 +917,7 @@ { "name": "imageName", "in": "path", - "description": "Image name. Use .default for image creation.", + "description": "Image name. Use an image GUID for GA versions of the API.", "required": true, "type": "string" } @@ -3292,6 +3292,15 @@ ] }, "CountDeviceResponse": { + "type": "object", + "description": "Response to the action call for count devices in a catalog (preview API).", + "allOf": [ + { + "$ref": "#/definitions/CountElementsResponse" + } + ] + }, + "CountDevicesResponse": { "type": "object", "description": "Response to the action call for count devices in a catalog.", "allOf": [ @@ -3948,19 +3957,6 @@ ] } }, - "ImageUploadRequestBody": { - "type": "object", - "description": "Image upload request body.", - "properties": { - "images": { - "type": "string", - "description": "." - } - }, - "required": [ - "images" - ] - }, "ListDeviceGroupsRequest": { "type": "object", "description": "Request of the action to list device groups for a catalog.", @@ -4120,7 +4116,7 @@ }, "ProvisioningState": { "type": "string", - "description": "Provisioning state of the resource.", + "description": "Provisioning state of resource.", "enum": [ "Succeeded", "Failed", @@ -4230,6 +4226,30 @@ } ] } + }, + "Versions": { + "type": "string", + "description": "Azure Sphere API versions.", + "enum": [ + "2022-09-01-preview", + "2024-04-01" + ], + "x-ms-enum": { + "name": "Versions", + "modelAsString": true, + "values": [ + { + "name": "v2022_09_01", + "value": "2022-09-01-preview", + "description": "Public preview API version." + }, + { + "name": "v2024_04_01", + "value": "2024-04-01", + "description": "Initial GA API version." + } + ] + } } }, "parameters": { diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteImage.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteImage.json index c87670823a95..3f46df5bf8c8 100644 --- a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteImage.json +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/DeleteImage.json @@ -5,7 +5,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "MyResourceGroup1", "catalogName": "MyCatalog1", - "imageName": "imageID", + "imageName": "00000000-0000-0000-0000-000000000000", "api-version": "2022-09-01-preview" }, "responses": { diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetImage.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetImage.json index 3023a79d50c5..ca620f29bb05 100644 --- a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetImage.json +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/GetImage.json @@ -5,7 +5,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "MyResourceGroup1", "catalogName": "MyCatalog1", - "imageName": "myImageId", + "imageName": "00000000-0000-0000-0000-000000000000", "api-version": "2022-09-01-preview" }, "responses": { diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutImage.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutImage.json index c28ad12e90d3..7034054644d6 100644 --- a/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutImage.json +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/preview/2022-09-01-preview/examples/PutImage.json @@ -5,7 +5,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "MyResourceGroup1", "catalogName": "MyCatalog1", - "imageName": "default", + "imageName": ".default", "resource": { "properties": { "image": "bXliYXNlNjRzdHJpbmc=" diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/azuresphere.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/azuresphere.json new file mode 100644 index 000000000000..6f5960517ab1 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/azuresphere.json @@ -0,0 +1,4377 @@ +{ + "swagger": "2.0", + "info": { + "title": "AzureSphereProviderClient", + "version": "2024-04-01", + "description": "Azure Sphere resource management API.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "Catalogs" + }, + { + "name": "Images" + }, + { + "name": "DeviceGroups" + }, + { + "name": "Certificates" + }, + { + "name": "Deployments" + }, + { + "name": "Devices" + }, + { + "name": "Products" + } + ], + "paths": { + "/providers/Microsoft.AzureSphere/operations": { + "get": { + "operationId": "Operations_List", + "tags": [ + "Operations" + ], + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/GetOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureSphere/catalogs": { + "get": { + "operationId": "Catalogs_ListBySubscription", + "tags": [ + "Catalogs" + ], + "description": "List Catalog resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CatalogListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_ListBySubscription": { + "$ref": "./examples/GetCatalogsSub.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs": { + "get": { + "operationId": "Catalogs_ListByResourceGroup", + "tags": [ + "Catalogs" + ], + "description": "List Catalog resources by resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CatalogListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_ListByResourceGroup": { + "$ref": "./examples/GetCatalogsRG.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}": { + "get": { + "operationId": "Catalogs_Get", + "tags": [ + "Catalogs" + ], + "description": "Get a Catalog", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_Get": { + "$ref": "./examples/GetCatalog.json" + } + } + }, + "put": { + "operationId": "Catalogs_CreateOrUpdate", + "tags": [ + "Catalogs" + ], + "description": "Create a Catalog", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/Catalog" + } + } + ], + "responses": { + "200": { + "description": "Resource 'Catalog' update operation succeeded", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "201": { + "description": "Resource 'Catalog' create operation succeeded", + "schema": { + "$ref": "#/definitions/Catalog" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_CreateOrUpdate": { + "$ref": "./examples/PutCatalog.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "Catalogs_Update", + "tags": [ + "Catalogs" + ], + "description": "Update a Catalog", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/CatalogUpdate" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_Update": { + "$ref": "./examples/PatchCatalog.json" + } + } + }, + "delete": { + "operationId": "Catalogs_Delete", + "tags": [ + "Catalogs" + ], + "description": "Delete a Catalog", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_Delete": { + "$ref": "./examples/DeleteCatalog.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/certificates": { + "get": { + "operationId": "Certificates_ListByCatalog", + "tags": [ + "Certificates" + ], + "description": "List Certificate resources by Catalog", + "parameters": [ + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CertificateListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Certificates_ListByCatalog": { + "$ref": "./examples/GetCertificates.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/certificates/{serialNumber}": { + "get": { + "operationId": "Certificates_Get", + "tags": [ + "Certificates" + ], + "description": "Get a Certificate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "serialNumber", + "in": "path", + "description": "Serial number of the certificate. Use '.default' to get current active certificate.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Certificates_Get": { + "$ref": "./examples/GetCertificate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/certificates/{serialNumber}/retrieveCertChain": { + "post": { + "operationId": "Certificates_RetrieveCertChain", + "tags": [ + "Certificates" + ], + "description": "Retrieves cert chain.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "serialNumber", + "in": "path", + "description": "Serial number of the certificate. Use '.default' to get current active certificate.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CertificateChainResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Certificates_RetrieveCertChain": { + "$ref": "./examples/PostRetrieveCatalogCertChain.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/certificates/{serialNumber}/retrieveProofOfPossessionNonce": { + "post": { + "operationId": "Certificates_RetrieveProofOfPossessionNonce", + "tags": [ + "Certificates" + ], + "description": "Gets the proof of possession nonce.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "serialNumber", + "in": "path", + "description": "Serial number of the certificate. Use '.default' to get current active certificate.", + "required": true, + "type": "string" + }, + { + "name": "proofOfPossessionNonceRequest", + "in": "body", + "description": "Proof of possession nonce request body ", + "required": true, + "schema": { + "$ref": "#/definitions/ProofOfPossessionNonceRequest" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/ProofOfPossessionNonceResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Certificates_RetrieveProofOfPossessionNonce": { + "$ref": "./examples/PostRetrieveProofOfPossessionNonce.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/countDevices": { + "post": { + "operationId": "Catalogs_CountDevices", + "tags": [ + "Catalogs" + ], + "description": "Counts devices in catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CountDevicesResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_CountDevices": { + "$ref": "./examples/PostCountDevicesCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/images": { + "get": { + "operationId": "Images_ListByCatalog", + "tags": [ + "Images" + ], + "description": "List Image resources by Catalog", + "parameters": [ + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImageListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_ListByCatalog": { + "$ref": "./examples/GetImages.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/images/{imageName}": { + "get": { + "operationId": "Images_Get", + "tags": [ + "Images" + ], + "description": "Get a Image", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "imageName", + "in": "path", + "description": "Image name. Use an image GUID for GA versions of the API.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_Get": { + "$ref": "./examples/GetImage.json" + } + } + }, + "put": { + "operationId": "Images_CreateOrUpdate", + "tags": [ + "Images" + ], + "description": "Create a Image", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "imageName", + "in": "path", + "description": "Image name. Use an image GUID for GA versions of the API.", + "required": true, + "type": "string" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/Image" + } + } + ], + "responses": { + "200": { + "description": "Resource 'Image' update operation succeeded", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "201": { + "description": "Resource 'Image' create operation succeeded", + "schema": { + "$ref": "#/definitions/Image" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Image_CreateOrUpdate": { + "$ref": "./examples/PutImage.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "Images_Delete", + "tags": [ + "Images" + ], + "description": "Delete a Image", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "imageName", + "in": "path", + "description": "Image name. Use an image GUID for GA versions of the API.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_Delete": { + "$ref": "./examples/DeleteImage.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/listDeployments": { + "post": { + "operationId": "Catalogs_ListDeployments", + "tags": [ + "Catalogs" + ], + "description": "Lists deployments for catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_ListDeployments": { + "$ref": "./examples/PostListDeploymentsByCatalog.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/listDeviceGroups": { + "post": { + "operationId": "Catalogs_ListDeviceGroups", + "tags": [ + "Catalogs" + ], + "description": "List the device groups for the catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + }, + { + "name": "listDeviceGroupsRequest", + "in": "body", + "description": "List device groups for catalog.", + "required": true, + "schema": { + "$ref": "#/definitions/ListDeviceGroupsRequest" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroupListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_ListDeviceGroups": { + "$ref": "./examples/PostListDeviceGroupsCatalog.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/listDeviceInsights": { + "post": { + "operationId": "Catalogs_ListDeviceInsights", + "tags": [ + "Catalogs" + ], + "description": "Lists device insights for catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/PagedDeviceInsight" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_ListDeviceInsights": { + "$ref": "./examples/PostListDeviceInsightsCatalog.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/listDevices": { + "post": { + "operationId": "Catalogs_ListDevices", + "tags": [ + "Catalogs" + ], + "description": "Lists devices for catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_ListDevices": { + "$ref": "./examples/PostListDevicesByCatalog.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products": { + "get": { + "operationId": "Products_ListByCatalog", + "tags": [ + "Products" + ], + "description": "List Product resources by Catalog", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/ProductListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Products_ListByCatalog": { + "$ref": "./examples/GetProducts.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}": { + "get": { + "operationId": "Products_Get", + "tags": [ + "Products" + ], + "description": "Get a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Products_Get": { + "$ref": "./examples/GetProduct.json" + } + } + }, + "put": { + "operationId": "Products_CreateOrUpdate", + "tags": [ + "Products" + ], + "description": "Create a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/Product" + } + } + ], + "responses": { + "200": { + "description": "Resource 'Product' update operation succeeded", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "201": { + "description": "Resource 'Product' create operation succeeded", + "schema": { + "$ref": "#/definitions/Product" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Products_CreateOrUpdate": { + "$ref": "./examples/PutProduct.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "Products_Update", + "tags": [ + "Products" + ], + "description": "Update a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/ProductUpdate" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Products_Update": { + "$ref": "./examples/PatchProduct.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "Products_Delete", + "tags": [ + "Products" + ], + "description": "Delete a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name'", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Products_Delete": { + "$ref": "./examples/DeleteProduct.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/countDevices": { + "post": { + "operationId": "Products_CountDevices", + "tags": [ + "Products" + ], + "description": "Counts devices in product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CountDevicesResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Products_CountDevices": { + "$ref": "./examples/PostCountDevicesProduct.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups": { + "get": { + "operationId": "DeviceGroups_ListByProduct", + "tags": [ + "DeviceGroups" + ], + "description": "List DeviceGroup resources by Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "parameters": [ + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroupListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_ListByProduct": { + "$ref": "./examples/GetDeviceGroups.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}": { + "get": { + "operationId": "DeviceGroups_Get", + "tags": [ + "DeviceGroups" + ], + "description": "Get a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroup" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_Get": { + "$ref": "./examples/GetDeviceGroup.json" + } + } + }, + "put": { + "operationId": "DeviceGroups_CreateOrUpdate", + "tags": [ + "DeviceGroups" + ], + "description": "Create a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/DeviceGroup" + } + } + ], + "responses": { + "200": { + "description": "Resource 'DeviceGroup' update operation succeeded", + "schema": { + "$ref": "#/definitions/DeviceGroup" + } + }, + "201": { + "description": "Resource 'DeviceGroup' create operation succeeded", + "schema": { + "$ref": "#/definitions/DeviceGroup" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_CreateOrUpdate": { + "$ref": "./examples/PutDeviceGroup.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "DeviceGroups_Update", + "tags": [ + "DeviceGroups" + ], + "description": "Update a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/DeviceGroupUpdate" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroup" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_Update": { + "$ref": "./examples/PatchDeviceGroup.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "DeviceGroups_Delete", + "tags": [ + "DeviceGroups" + ], + "description": "Delete a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_Delete": { + "$ref": "./examples/DeleteDeviceGroup.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/claimDevices": { + "post": { + "operationId": "DeviceGroups_ClaimDevices", + "tags": [ + "DeviceGroups" + ], + "description": "Bulk claims the devices. Use '.unassigned' or '.default' for the device group and product names when bulk claiming devices to a catalog only.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "claimDevicesRequest", + "in": "body", + "description": "Bulk claim devices request body.", + "required": true, + "schema": { + "$ref": "#/definitions/ClaimDevicesRequest" + } + } + ], + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_ClaimDevices": { + "$ref": "./examples/PostClaimDevices.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/countDevices": { + "post": { + "operationId": "DeviceGroups_CountDevices", + "tags": [ + "DeviceGroups" + ], + "description": "Counts devices in device group. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/CountDevicesResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeviceGroups_CountDevices": { + "$ref": "./examples/PostCountDevicesDeviceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/deployments": { + "get": { + "operationId": "Deployments_ListByDeviceGroup", + "tags": [ + "Deployments" + ], + "description": "List Deployment resources by DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "#/parameters/CustomFilterQueryParameter" + }, + { + "$ref": "#/parameters/CustomTopQueryParameter" + }, + { + "$ref": "#/parameters/CustomSkipQueryParameter" + }, + { + "$ref": "#/parameters/CustomMaxPageSizeQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deployments_ListByDeviceGroup": { + "$ref": "./examples/GetDeployments.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/deployments/{deploymentName}": { + "get": { + "operationId": "Deployments_Get", + "tags": [ + "Deployments" + ], + "description": "Get a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deploymentName", + "in": "path", + "description": "Deployment name. Use .default for deployment creation and to get the current deployment for the associated device group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deployments_Get": { + "$ref": "./examples/GetDeployment.json" + } + } + }, + "put": { + "operationId": "Deployments_CreateOrUpdate", + "tags": [ + "Deployments" + ], + "description": "Create a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deploymentName", + "in": "path", + "description": "Deployment name. Use .default for deployment creation and to get the current deployment for the associated device group.", + "required": true, + "type": "string" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + } + } + ], + "responses": { + "200": { + "description": "Resource 'Deployment' update operation succeeded", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "201": { + "description": "Resource 'Deployment' create operation succeeded", + "schema": { + "$ref": "#/definitions/Deployment" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deployments_CreateOrUpdate": { + "$ref": "./examples/PutDeployment.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "Deployments_Delete", + "tags": [ + "Deployments" + ], + "description": "Delete a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deploymentName", + "in": "path", + "description": "Deployment name. Use .default for deployment creation and to get the current deployment for the associated device group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deployments_Delete": { + "$ref": "./examples/DeleteDeployment.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/devices": { + "get": { + "operationId": "Devices_ListByDeviceGroup", + "tags": [ + "Devices" + ], + "description": "List Device resources by DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Devices_ListByDeviceGroup": { + "$ref": "./examples/GetDevices.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/devices/{deviceName}": { + "get": { + "operationId": "Devices_Get", + "tags": [ + "Devices" + ], + "description": "Get a Device. Use '.unassigned' or '.default' for the device group and product names when a device does not belong to a device group and product.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceName", + "in": "path", + "description": "Device name", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{128}$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Devices_Get": { + "$ref": "./examples/GetDevice.json" + } + } + }, + "put": { + "operationId": "Devices_CreateOrUpdate", + "tags": [ + "Devices" + ], + "description": "Create a Device. Use '.unassigned' or '.default' for the device group and product names to claim a device to the catalog only.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceName", + "in": "path", + "description": "Device name", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{128}$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/Device" + } + } + ], + "responses": { + "200": { + "description": "Resource 'Device' update operation succeeded", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "201": { + "description": "Resource 'Device' create operation succeeded", + "schema": { + "$ref": "#/definitions/Device" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Devices_CreateOrUpdate": { + "$ref": "./examples/PutDevice.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "Devices_Update", + "tags": [ + "Devices" + ], + "description": "Update a Device. Use '.unassigned' or '.default' for the device group and product names to move a device to the catalog level.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceName", + "in": "path", + "description": "Device name", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{128}$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/DeviceUpdate" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Devices_Update": { + "$ref": "./examples/PatchDevice.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "Devices_Delete", + "tags": [ + "Devices" + ], + "description": "Delete a Device", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceName", + "in": "path", + "description": "Device name", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{128}$" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Devices_Delete": { + "$ref": "./examples/DeleteDevice.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/devices/{deviceName}/generateCapabilityImage": { + "post": { + "operationId": "Devices_GenerateCapabilityImage", + "tags": [ + "Devices" + ], + "description": "Generates the capability image for the device. Use '.unassigned' or '.default' for the device group and product names to generate the image for a device that does not belong to a specific device group and product.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceGroupName", + "in": "path", + "description": "Name of device group.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,2}$|^[A-Za-z0-9][A-Za-z0-9\\s]{1,48}[A-Za-z0-9]$|^\\.default$|^\\.unassigned$" + }, + { + "name": "deviceName", + "in": "path", + "description": "Device name", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{128}$" + }, + { + "name": "generateDeviceCapabilityRequest", + "in": "body", + "description": "Generate capability image request body.", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateCapabilityImageRequest" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/SignedCapabilityImageResponse" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Devices_GenerateCapabilityImage": { + "$ref": "./examples/PostGenerateDeviceCapabilityImage.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/generateDefaultDeviceGroups": { + "post": { + "operationId": "Products_GenerateDefaultDeviceGroups", + "tags": [ + "Products" + ], + "description": "Generates default device groups for the product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "productName", + "in": "path", + "description": "Name of product.", + "required": true, + "type": "string", + "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroupListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Products_GenerateDefaultDeviceGroups": { + "$ref": "./examples/PostGenerateDefaultDeviceGroups.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/uploadImage": { + "post": { + "operationId": "Catalogs_UploadImage", + "tags": [ + "Catalogs" + ], + "description": "Creates an image. Use this action when the image ID is unknown.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "catalogName", + "in": "path", + "description": "Name of catalog", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9_-]{1,50}$" + }, + { + "name": "uploadImageRequest", + "in": "body", + "description": "Image upload request body.", + "required": true, + "schema": { + "$ref": "#/definitions/Image" + } + } + ], + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_UploadImage": { + "$ref": "./examples/PostUploadImageCatalog.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "AllowCrashDumpCollection": { + "type": "string", + "description": "Allow crash dumps values.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "AllowCrashDumpCollection", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Crash dump collection enabled" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Crash dump collection disabled" + } + ] + } + }, + "CapabilityType": { + "type": "string", + "description": "Capability image type", + "enum": [ + "ApplicationDevelopment", + "FieldServicing" + ], + "x-ms-enum": { + "name": "CapabilityType", + "modelAsString": true, + "values": [ + { + "name": "ApplicationDevelopment", + "value": "ApplicationDevelopment", + "description": "Application development capability" + }, + { + "name": "FieldServicing", + "value": "FieldServicing", + "description": "Field servicing capability" + } + ] + } + }, + "Catalog": { + "type": "object", + "description": "An Azure Sphere catalog", + "properties": { + "properties": { + "$ref": "#/definitions/CatalogProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "CatalogListResult": { + "type": "object", + "description": "The response of a Catalog list operation.", + "properties": { + "value": { + "type": "array", + "description": "The Catalog items on this page", + "items": { + "$ref": "#/definitions/Catalog" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "CatalogProperties": { + "type": "object", + "description": "Catalog properties", + "properties": { + "tenantId": { + "type": "string", + "description": "The Azure Sphere tenant ID associated with the catalog.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + } + }, + "CatalogUpdate": { + "type": "object", + "description": "The type used for update operations of the Catalog.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Certificate": { + "type": "object", + "description": "An certificate resource belonging to a catalog resource.", + "properties": { + "properties": { + "$ref": "#/definitions/CertificateProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "CertificateChainResponse": { + "type": "object", + "description": "The certificate chain response.", + "properties": { + "certificateChain": { + "type": "string", + "description": "The certificate chain.", + "readOnly": true + } + } + }, + "CertificateListResult": { + "type": "object", + "description": "The response of a Certificate list operation.", + "properties": { + "value": { + "type": "array", + "description": "The Certificate items on this page", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "CertificateProperties": { + "type": "object", + "description": "The properties of certificate", + "properties": { + "certificate": { + "type": "string", + "description": "The certificate as a UTF-8 encoded base 64 string.", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/CertificateStatus", + "description": "The certificate status.", + "readOnly": true + }, + "subject": { + "type": "string", + "description": "The certificate subject.", + "readOnly": true + }, + "thumbprint": { + "type": "string", + "description": "The certificate thumbprint.", + "readOnly": true + }, + "expiryUtc": { + "type": "string", + "format": "date-time", + "description": "The certificate expiry date.", + "readOnly": true + }, + "notBeforeUtc": { + "type": "string", + "format": "date-time", + "description": "The certificate not before date.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + } + }, + "CertificateStatus": { + "type": "string", + "description": "Certificate status values.", + "enum": [ + "Active", + "Inactive", + "Expired", + "Revoked" + ], + "x-ms-enum": { + "name": "CertificateStatus", + "modelAsString": true, + "values": [ + { + "name": "Active", + "value": "Active", + "description": "Certificate is active" + }, + { + "name": "Inactive", + "value": "Inactive", + "description": "Certificate is inactive" + }, + { + "name": "Expired", + "value": "Expired", + "description": "Certificate has expired" + }, + { + "name": "Revoked", + "value": "Revoked", + "description": "Certificate has been revoked" + } + ] + } + }, + "ClaimDevicesRequest": { + "type": "object", + "description": "Request to the action call to bulk claim devices.", + "properties": { + "deviceIdentifiers": { + "type": "array", + "description": "Device identifiers of the devices to be claimed.", + "items": { + "type": "string" + } + } + }, + "required": [ + "deviceIdentifiers" + ] + }, + "CountDeviceResponse": { + "type": "object", + "description": "Response to the action call for count devices in a catalog (preview API).", + "allOf": [ + { + "$ref": "#/definitions/CountElementsResponse" + } + ] + }, + "CountDevicesResponse": { + "type": "object", + "description": "Response to the action call for count devices in a catalog.", + "allOf": [ + { + "$ref": "#/definitions/CountElementsResponse" + } + ] + }, + "CountElementsResponse": { + "type": "object", + "description": "Response of the count for elements.", + "properties": { + "value": { + "type": "integer", + "format": "int32", + "description": "Number of children resources in parent resource." + } + }, + "required": [ + "value" + ] + }, + "Deployment": { + "type": "object", + "description": "An deployment resource belonging to a device group resource.", + "properties": { + "properties": { + "$ref": "#/definitions/DeploymentProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "DeploymentListResult": { + "type": "object", + "description": "The response of a Deployment list operation.", + "properties": { + "value": { + "type": "array", + "description": "The Deployment items on this page", + "items": { + "$ref": "#/definitions/Deployment" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DeploymentProperties": { + "type": "object", + "description": "The properties of deployment", + "properties": { + "deploymentId": { + "type": "string", + "description": "Deployment ID", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "deployedImages": { + "type": "array", + "description": "Images deployed", + "items": { + "$ref": "#/definitions/Image" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "deploymentDateUtc": { + "type": "string", + "format": "date-time", + "description": "Deployment date UTC", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + } + }, + "Device": { + "type": "object", + "description": "An device resource belonging to a device group resource.", + "properties": { + "properties": { + "$ref": "#/definitions/DeviceProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "DeviceGroup": { + "type": "object", + "description": "An device group resource belonging to a product resource.", + "properties": { + "properties": { + "$ref": "#/definitions/DeviceGroupProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "DeviceGroupListResult": { + "type": "object", + "description": "The response of a DeviceGroup list operation.", + "properties": { + "value": { + "type": "array", + "description": "The DeviceGroup items on this page", + "items": { + "$ref": "#/definitions/DeviceGroup" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DeviceGroupProperties": { + "type": "object", + "description": "The properties of deviceGroup", + "properties": { + "description": { + "type": "string", + "description": "Description of the device group." + }, + "osFeedType": { + "$ref": "#/definitions/OSFeedType", + "description": "Operating system feed type of the device group." + }, + "updatePolicy": { + "$ref": "#/definitions/UpdatePolicy", + "description": "Update policy of the device group." + }, + "allowCrashDumpsCollection": { + "$ref": "#/definitions/AllowCrashDumpCollection", + "description": "Flag to define if the user allows for crash dump collection." + }, + "regionalDataBoundary": { + "$ref": "#/definitions/RegionalDataBoundary", + "description": "Regional data boundary for the device group." + }, + "hasDeployment": { + "type": "boolean", + "description": "Deployment status for the device group.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + } + }, + "DeviceGroupUpdate": { + "type": "object", + "description": "The type used for update operations of the DeviceGroup.", + "properties": { + "properties": { + "$ref": "#/definitions/DeviceGroupUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "DeviceGroupUpdateProperties": { + "type": "object", + "description": "The updatable properties of the DeviceGroup.", + "properties": { + "description": { + "type": "string", + "description": "Description of the device group." + }, + "osFeedType": { + "$ref": "#/definitions/OSFeedType", + "description": "Operating system feed type of the device group." + }, + "updatePolicy": { + "$ref": "#/definitions/UpdatePolicy", + "description": "Update policy of the device group." + }, + "allowCrashDumpsCollection": { + "$ref": "#/definitions/AllowCrashDumpCollection", + "description": "Flag to define if the user allows for crash dump collection." + }, + "regionalDataBoundary": { + "$ref": "#/definitions/RegionalDataBoundary", + "description": "Regional data boundary for the device group." + } + } + }, + "DeviceInsight": { + "type": "object", + "description": "Device insight report.", + "properties": { + "deviceId": { + "type": "string", + "description": "Device ID" + }, + "description": { + "type": "string", + "description": "Event description" + }, + "startTimestampUtc": { + "type": "string", + "format": "date-time", + "description": "Event start timestamp" + }, + "endTimestampUtc": { + "type": "string", + "format": "date-time", + "description": "Event end timestamp" + }, + "eventCategory": { + "type": "string", + "description": "Event category" + }, + "eventClass": { + "type": "string", + "description": "Event class" + }, + "eventType": { + "type": "string", + "description": "Event type" + }, + "eventCount": { + "type": "integer", + "format": "int32", + "description": "Event count" + } + }, + "required": [ + "deviceId", + "description", + "startTimestampUtc", + "endTimestampUtc", + "eventCategory", + "eventClass", + "eventType", + "eventCount" + ] + }, + "DeviceListResult": { + "type": "object", + "description": "The response of a Device list operation.", + "properties": { + "value": { + "type": "array", + "description": "The Device items on this page", + "items": { + "$ref": "#/definitions/Device" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DevicePatchProperties": { + "type": "object", + "description": "The properties of device patch", + "properties": { + "deviceGroupId": { + "type": "string", + "description": "Device group id" + } + }, + "required": [ + "deviceGroupId" + ] + }, + "DeviceProperties": { + "type": "object", + "description": "The properties of device", + "properties": { + "deviceId": { + "type": "string", + "description": "Device ID", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "chipSku": { + "type": "string", + "description": "SKU of the chip", + "readOnly": true + }, + "lastAvailableOsVersion": { + "type": "string", + "description": "OS version available for installation when update requested", + "readOnly": true + }, + "lastInstalledOsVersion": { + "type": "string", + "description": "OS version running on device when update requested", + "readOnly": true + }, + "lastOsUpdateUtc": { + "type": "string", + "format": "date-time", + "description": "Time when update requested and new OS version available", + "readOnly": true + }, + "lastUpdateRequestUtc": { + "type": "string", + "format": "date-time", + "description": "Time when update was last requested", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + } + }, + "DeviceUpdate": { + "type": "object", + "description": "The type used for update operations of the Device.", + "properties": { + "properties": { + "$ref": "#/definitions/DeviceUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "DeviceUpdateProperties": { + "type": "object", + "description": "The updatable properties of the Device.", + "properties": { + "deviceGroupId": { + "type": "string", + "description": "Device group id" + } + } + }, + "GenerateCapabilityImageRequest": { + "type": "object", + "description": "Request of the action to create a signed device capability image", + "properties": { + "capabilities": { + "type": "array", + "description": "List of capabilities to create", + "items": { + "$ref": "#/definitions/CapabilityType" + } + } + }, + "required": [ + "capabilities" + ] + }, + "Image": { + "type": "object", + "description": "An image resource belonging to a catalog resource.", + "properties": { + "properties": { + "$ref": "#/definitions/ImageProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "ImageListResult": { + "type": "object", + "description": "The response of a Image list operation.", + "properties": { + "value": { + "type": "array", + "description": "The Image items on this page", + "items": { + "$ref": "#/definitions/Image" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "ImageProperties": { + "type": "object", + "description": "The properties of image", + "properties": { + "image": { + "type": "string", + "description": "Image as a UTF-8 encoded base 64 string on image create. This field contains the image URI on image reads.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "imageId": { + "type": "string", + "description": "Image ID", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "imageName": { + "type": "string", + "description": "Image name", + "readOnly": true + }, + "regionalDataBoundary": { + "$ref": "#/definitions/RegionalDataBoundary", + "description": "Regional data boundary for an image", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "uri": { + "type": "string", + "description": "Location the image", + "readOnly": true + }, + "description": { + "type": "string", + "description": "The image description.", + "readOnly": true + }, + "componentId": { + "type": "string", + "description": "The image component id.", + "readOnly": true + }, + "imageType": { + "$ref": "#/definitions/ImageType", + "description": "The image type.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + } + }, + "ImageType": { + "type": "string", + "description": "Image type values.", + "enum": [ + "InvalidImageType", + "OneBl", + "PlutonRuntime", + "WifiFirmware", + "SecurityMonitor", + "NormalWorldLoader", + "NormalWorldDtb", + "NormalWorldKernel", + "RootFs", + "Services", + "Applications", + "FwConfig", + "BootManifest", + "Nwfs", + "TrustedKeystore", + "Policy", + "CustomerBoardConfig", + "UpdateCertStore", + "BaseSystemUpdateManifest", + "FirmwareUpdateManifest", + "CustomerUpdateManifest", + "RecoveryManifest", + "ManifestSet", + "Other" + ], + "x-ms-enum": { + "name": "ImageType", + "modelAsString": true, + "values": [ + { + "name": "InvalidImageType", + "value": "InvalidImageType", + "description": "Invalid image." + }, + { + "name": "OneBl", + "value": "OneBl", + "description": "One Bl image type" + }, + { + "name": "PlutonRuntime", + "value": "PlutonRuntime", + "description": "Pluton image type" + }, + { + "name": "WifiFirmware", + "value": "WifiFirmware", + "description": "Wifi firmware image type" + }, + { + "name": "SecurityMonitor", + "value": "SecurityMonitor", + "description": "Security monitor image type" + }, + { + "name": "NormalWorldLoader", + "value": "NormalWorldLoader", + "description": "Normal world loader image type" + }, + { + "name": "NormalWorldDtb", + "value": "NormalWorldDtb", + "description": "Normal world dtb image type" + }, + { + "name": "NormalWorldKernel", + "value": "NormalWorldKernel", + "description": "Normal world kernel image type" + }, + { + "name": "RootFs", + "value": "RootFs", + "description": "Root FS image type" + }, + { + "name": "Services", + "value": "Services", + "description": "Services image type" + }, + { + "name": "Applications", + "value": "Applications", + "description": "Applications image type" + }, + { + "name": "FwConfig", + "value": "FwConfig", + "description": "FW config image type" + }, + { + "name": "BootManifest", + "value": "BootManifest", + "description": "Boot manifest image type" + }, + { + "name": "Nwfs", + "value": "Nwfs", + "description": "Nwfs image type" + }, + { + "name": "TrustedKeystore", + "value": "TrustedKeystore", + "description": "Trusted key store image type" + }, + { + "name": "Policy", + "value": "Policy", + "description": "Policy image type" + }, + { + "name": "CustomerBoardConfig", + "value": "CustomerBoardConfig", + "description": "Customer board config image type" + }, + { + "name": "UpdateCertStore", + "value": "UpdateCertStore", + "description": "Update certificate store image type" + }, + { + "name": "BaseSystemUpdateManifest", + "value": "BaseSystemUpdateManifest", + "description": "Base system update manifest image type" + }, + { + "name": "FirmwareUpdateManifest", + "value": "FirmwareUpdateManifest", + "description": "Firmware update manifest image type" + }, + { + "name": "CustomerUpdateManifest", + "value": "CustomerUpdateManifest", + "description": "Customer update manifest image type" + }, + { + "name": "RecoveryManifest", + "value": "RecoveryManifest", + "description": "Recovery manifest image type" + }, + { + "name": "ManifestSet", + "value": "ManifestSet", + "description": "manifest set image type" + }, + { + "name": "Other", + "value": "Other", + "description": "Other image type" + } + ] + } + }, + "ListDeviceGroupsRequest": { + "type": "object", + "description": "Request of the action to list device groups for a catalog.", + "properties": { + "deviceGroupName": { + "type": "string", + "description": "Device Group name." + } + } + }, + "OSFeedType": { + "type": "string", + "description": "OS feed type values.", + "enum": [ + "Retail", + "RetailEval" + ], + "x-ms-enum": { + "name": "OSFeedType", + "modelAsString": true, + "values": [ + { + "name": "Retail", + "value": "Retail", + "description": "Retail OS feed type." + }, + { + "name": "RetailEval", + "value": "RetailEval", + "description": "Retail evaluation OS feed type." + } + ] + } + }, + "PagedDeviceInsight": { + "type": "object", + "description": "Paged collection of DeviceInsight items", + "properties": { + "value": { + "type": "array", + "description": "The DeviceInsight items on this page", + "items": { + "$ref": "#/definitions/DeviceInsight" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "Product": { + "type": "object", + "description": "An product resource belonging to a catalog resource.", + "properties": { + "properties": { + "$ref": "#/definitions/ProductProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "ProductListResult": { + "type": "object", + "description": "The response of a Product list operation.", + "properties": { + "value": { + "type": "array", + "description": "The Product items on this page", + "items": { + "$ref": "#/definitions/Product" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "ProductProperties": { + "type": "object", + "description": "The properties of product", + "properties": { + "description": { + "type": "string", + "description": "Description of the product" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "required": [ + "description" + ] + }, + "ProductUpdate": { + "type": "object", + "description": "The type used for update operations of the Product.", + "properties": { + "properties": { + "$ref": "#/definitions/ProductUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "ProductUpdateProperties": { + "type": "object", + "description": "The updatable properties of the Product.", + "properties": { + "description": { + "type": "string", + "description": "Description of the product" + } + } + }, + "ProofOfPossessionNonceRequest": { + "type": "object", + "description": "Request for the proof of possession nonce", + "properties": { + "proofOfPossessionNonce": { + "type": "string", + "description": "The proof of possession nonce" + } + }, + "required": [ + "proofOfPossessionNonce" + ] + }, + "ProofOfPossessionNonceResponse": { + "type": "object", + "description": "Result of the action to generate a proof of possession nonce", + "allOf": [ + { + "$ref": "#/definitions/CertificateProperties" + } + ] + }, + "ProvisioningState": { + "type": "string", + "description": "Provisioning state of resource.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Updating", + "Deleting", + "Accepted" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "The resource is being provisioned" + }, + { + "name": "Updating", + "value": "Updating", + "description": "The resource is being updated" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "The resource is being deleted" + }, + { + "name": "Accepted", + "value": "Accepted", + "description": "The resource create request has been accepted" + } + ] + } + }, + "RegionalDataBoundary": { + "type": "string", + "description": "Regional data boundary values.", + "enum": [ + "None", + "EU" + ], + "x-ms-enum": { + "name": "RegionalDataBoundary", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "No data boundary" + }, + { + "name": "EU", + "value": "EU", + "description": "EU data boundary" + } + ] + } + }, + "SignedCapabilityImageResponse": { + "type": "object", + "description": "Signed device capability image response", + "properties": { + "image": { + "type": "string", + "description": "The signed device capability image as a UTF-8 encoded base 64 string.", + "readOnly": true + } + } + }, + "UpdatePolicy": { + "type": "string", + "description": "Update policy values.", + "enum": [ + "UpdateAll", + "No3rdPartyAppUpdates" + ], + "x-ms-enum": { + "name": "UpdatePolicy", + "modelAsString": true, + "values": [ + { + "name": "UpdateAll", + "value": "UpdateAll", + "description": "Update all policy." + }, + { + "name": "No3rdPartyAppUpdates", + "value": "No3rdPartyAppUpdates", + "description": "No update for 3rd party app policy." + } + ] + } + }, + "Versions": { + "type": "string", + "description": "Azure Sphere API versions.", + "enum": [ + "2022-09-01-preview", + "2024-04-01" + ], + "x-ms-enum": { + "name": "Versions", + "modelAsString": true, + "values": [ + { + "name": "v2022_09_01", + "value": "2022-09-01-preview", + "description": "Public preview API version." + }, + { + "name": "v2024_04_01", + "value": "2024-04-01", + "description": "Initial GA API version." + } + ] + } + } + }, + "parameters": { + "CustomFilterQueryParameter": { + "name": "$filter", + "in": "query", + "description": "Filter the result list using the given expression", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-client-name": "filter" + }, + "CustomMaxPageSizeQueryParameter": { + "name": "$maxpagesize", + "in": "query", + "description": "The maximum number of result items per page.", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method", + "x-ms-client-name": "maxpagesize" + }, + "CustomSkipQueryParameter": { + "name": "$skip", + "in": "query", + "description": "The number of result items to skip.", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method", + "x-ms-client-name": "skip" + }, + "CustomTopQueryParameter": { + "name": "$top", + "in": "query", + "description": "The number of result items to return.", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method", + "x-ms-client-name": "top" + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteCatalog.json new file mode 100644 index 000000000000..658bc7b9990c --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteCatalog.json @@ -0,0 +1,24 @@ +{ + "operationId": "Catalogs_Delete", + "title": "Catalogs_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteDeployment.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteDeployment.json new file mode 100644 index 000000000000..6a3411f17082 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteDeployment.json @@ -0,0 +1,27 @@ +{ + "operationId": "Deployments_Delete", + "title": "Deployments_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProductName1", + "deviceGroupName": "DeviceGroupName1", + "deploymentName": "MyDeploymentName1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteDevice.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteDevice.json new file mode 100644 index 000000000000..057b4d7b71c7 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteDevice.json @@ -0,0 +1,27 @@ +{ + "operationId": "Devices_Delete", + "title": "Devices_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProductName1", + "deviceGroupName": "DeviceGroupName1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteDeviceGroup.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteDeviceGroup.json new file mode 100644 index 000000000000..41eab5c0492c --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteDeviceGroup.json @@ -0,0 +1,26 @@ +{ + "operationId": "DeviceGroups_Delete", + "title": "DeviceGroups_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteImage.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteImage.json new file mode 100644 index 000000000000..45b70048d57b --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteImage.json @@ -0,0 +1,25 @@ +{ + "operationId": "Images_Delete", + "title": "Images_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "imageName": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteProduct.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteProduct.json new file mode 100644 index 000000000000..0f5433be7216 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/DeleteProduct.json @@ -0,0 +1,25 @@ +{ + "operationId": "Products_Delete", + "title": "Products_Delete", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProductName1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": { + "description": "Resource deleted successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCatalog.json new file mode 100644 index 000000000000..87771799dffc --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCatalog.json @@ -0,0 +1,21 @@ +{ + "operationId": "Catalogs_Get", + "title": "Catalogs_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCatalogsRG.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCatalogsRG.json new file mode 100644 index 000000000000..488c94bc3c23 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCatalogsRG.json @@ -0,0 +1,30 @@ +{ + "operationId": "Catalogs_ListByResourceGroup", + "title": "Catalogs_ListByResourceGroup", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog2", + "name": "MyCatalog2", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCatalogsSub.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCatalogsSub.json new file mode 100644 index 000000000000..d715ad91a2ef --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCatalogsSub.json @@ -0,0 +1,29 @@ +{ + "operationId": "Catalogs_ListBySubscription", + "title": "Catalogs_ListBySubscription", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup2/providers/Microsoft.AzureSphere/catalogs/MyCatalog2", + "name": "MyCatalog2", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCertificate.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCertificate.json new file mode 100644 index 000000000000..a8c64f3db445 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCertificate.json @@ -0,0 +1,17 @@ +{ + "operationId": "Certificates_Get", + "title": "Certificates_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "serialNumber": "default", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": {} + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCertificates.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCertificates.json new file mode 100644 index 000000000000..9c3fd6281498 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetCertificates.json @@ -0,0 +1,18 @@ +{ + "operationId": "Certificates_ListByCatalog", + "title": "Certificates_ListByCatalog", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDeployment.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDeployment.json new file mode 100644 index 000000000000..fc9af844c81f --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDeployment.json @@ -0,0 +1,38 @@ +{ + "operationId": "Deployments_Get", + "title": "Deployments_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deploymentName": "MyDeployment1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/deviceGroups/MyDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "properties": { + "deployedImages": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/MyImage1", + "properties": { + "image": "dGVzdGltYWdl", + "regionalDataBoundary": "None", + "uri": "imageUri", + "description": "description", + "componentId": "componentId", + "imageType": "ImageType", + "provisioningState": "Succeeded" + } + } + ] + } + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDeployments.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDeployments.json new file mode 100644 index 000000000000..eef2ff5d1ac8 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDeployments.json @@ -0,0 +1,42 @@ +{ + "operationId": "Deployments_ListByDeviceGroup", + "title": "Deployments_ListByDeviceGroup", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/deviceGroups/MyDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "properties": { + "deployedImages": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/MyImage1", + "properties": { + "image": "dGVzdGltYWdl", + "regionalDataBoundary": "None", + "uri": "imageUri", + "description": "description", + "componentId": "componentId", + "imageType": "ImageType", + "provisioningState": "Succeeded" + } + } + ], + "deploymentDateUtc": "2022-09-30T21:51:39.2698729Z" + } + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDevice.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDevice.json new file mode 100644 index 000000000000..858ee313939f --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDevice.json @@ -0,0 +1,29 @@ +{ + "operationId": "Devices_Get", + "title": "Devices_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": { + "chipSku": "MyChipSku1", + "lastAvailableOsVersion": "AvailableOsVersion1", + "lastInstalledOsVersion": "InstalledOsVersion1", + "lastOsUpdateUtc": "2022-09-30T23:54:21.96Z", + "lastUpdateRequestUtc": "2022-10-01T23:54:21.96Z" + } + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDeviceGroup.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDeviceGroup.json new file mode 100644 index 000000000000..1e8379ab7772 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDeviceGroup.json @@ -0,0 +1,26 @@ +{ + "operationId": "DeviceGroups_Get", + "title": "DeviceGroups_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups", + "properties": { + "description": "The description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDeviceGroups.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDeviceGroups.json new file mode 100644 index 000000000000..46123e6f6d98 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDeviceGroups.json @@ -0,0 +1,30 @@ +{ + "operationId": "DeviceGroups_ListByProduct", + "title": "DeviceGroups_ListByProduct", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "name": "MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/Products/MyProduct2/devicegroups/MyDeviceGroup2", + "name": "MyDeviceGroup2", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDevices.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDevices.json new file mode 100644 index 000000000000..c011cde1148a --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetDevices.json @@ -0,0 +1,29 @@ +{ + "operationId": "Devices_ListByDeviceGroup", + "title": "Devices_ListByDeviceGroup", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000-0000-0000-0000-000000000001", + "properties": {} + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000-0000-0000-0000-000000000002", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetImage.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetImage.json new file mode 100644 index 000000000000..8943a1fcf403 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetImage.json @@ -0,0 +1,17 @@ +{ + "operationId": "Images_Get", + "title": "Images_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "imageName": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": {} + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetImages.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetImages.json new file mode 100644 index 000000000000..7701f85222a1 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetImages.json @@ -0,0 +1,27 @@ +{ + "operationId": "Images_ListByCatalog", + "title": "Images_ListByCatalog", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "00000000-0000-0000-0000-000000000001", + "name": "MyImage1" + }, + { + "id": "00000000-0000-0000-0000-000000000002", + "name": "MyImage2" + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetOperations.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetOperations.json new file mode 100644 index 000000000000..5a4b09163c2d --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetOperations.json @@ -0,0 +1,35 @@ +{ + "operationId": "Operations_List", + "title": "Operations_List", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "Microsoft.AzureSphere/catalogs/Read", + "display": { + "provider": "Microsoft.AzureSphere", + "resource": "catalog", + "operation": "Gets/List catalog", + "description": "Read Azure Sphere catalogs" + } + }, + { + "name": "Microsoft.AzureSphere/catalogs/Write", + "display": { + "provider": "Microsoft.AzureSphere", + "resource": "catalog", + "operation": "Create/Update catalog", + "description": "Writes Azure Sphere catalogs" + } + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetProduct.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetProduct.json new file mode 100644 index 000000000000..570db8296b81 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetProduct.json @@ -0,0 +1,23 @@ +{ + "operationId": "Products_Get", + "title": "Products_Get", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "type": "microsoft.azureSphere/catalogs/products", + "properties": { + "description": "product description." + } + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetProducts.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetProducts.json new file mode 100644 index 000000000000..915cd38158a3 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/GetProducts.json @@ -0,0 +1,29 @@ +{ + "operationId": "Products_ListByCatalog", + "title": "Products_ListByCatalog", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/products" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct2", + "name": "MyProduct2", + "type": "Microsoft.AzureSphere/catalogs/products" + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PatchCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PatchCatalog.json new file mode 100644 index 000000000000..bec2ebeca152 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PatchCatalog.json @@ -0,0 +1,25 @@ +{ + "operationId": "Catalogs_Update", + "title": "Catalogs_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01", + "properties": {}, + "resource": { + "location": "global" + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PatchDevice.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PatchDevice.json new file mode 100644 index 000000000000..6dd5ed784af2 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PatchDevice.json @@ -0,0 +1,36 @@ +{ + "operationId": "Devices_Update", + "title": "Devices_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": {}, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1/device/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "Microsoft.AzureSphere/catalogs/products/devicegroups", + "properties": { + "chipSku": "MyChipSku1", + "lastAvailableOsVersion": "AvailableOsVersion1", + "lastInstalledOsVersion": "InstalledOsVersion1", + "lastOsUpdateUtc": "2022-10-30T23:54:21.96Z", + "lastUpdateRequestUtc": "2022-10-01T23:54:21.96Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "description": "The device update started successfully." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PatchDeviceGroup.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PatchDeviceGroup.json new file mode 100644 index 000000000000..84cd946a5ca9 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PatchDeviceGroup.json @@ -0,0 +1,33 @@ +{ + "operationId": "DeviceGroups_Update", + "title": "DeviceGroups_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "properties": {}, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups", + "properties": { + "description": "The description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "description": "Resource update request accepted." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PatchProduct.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PatchProduct.json new file mode 100644 index 000000000000..e2da1aafeb7e --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PatchProduct.json @@ -0,0 +1,30 @@ +{ + "operationId": "Products_Update", + "title": "Products_Update", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "properties": {}, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "type": "microsoft.azureSphere/catalogs/products", + "properties": { + "description": "Product description." + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "description": "Resource update request accepted." + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostClaimDevices.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostClaimDevices.json new file mode 100644 index 000000000000..193ef5d3e2a6 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostClaimDevices.json @@ -0,0 +1,25 @@ +{ + "operationId": "DeviceGroups_ClaimDevices", + "title": "DeviceGroups_ClaimDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "claimDevicesRequest": { + "deviceIdentifiers": [ + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + ] + }, + "api-version": "2024-04-01" + }, + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostCountDevicesCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostCountDevicesCatalog.json new file mode 100644 index 000000000000..979f312d235a --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostCountDevicesCatalog.json @@ -0,0 +1,18 @@ +{ + "operationId": "Catalogs_CountDevices", + "title": "Catalogs_CountDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": 3 + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostCountDevicesDeviceGroup.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostCountDevicesDeviceGroup.json new file mode 100644 index 000000000000..45e5e0b05ad3 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostCountDevicesDeviceGroup.json @@ -0,0 +1,20 @@ +{ + "operationId": "DeviceGroups_CountDevices", + "title": "DeviceGroups_CountDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": 3 + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostCountDevicesProduct.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostCountDevicesProduct.json new file mode 100644 index 000000000000..4ca2bcd28a2c --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostCountDevicesProduct.json @@ -0,0 +1,21 @@ +{ + "operationId": "Products_CountDevices", + "title": "Products_CountDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "productGroupName": "MyProduct1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": 3 + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostGenerateDefaultDeviceGroups.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostGenerateDefaultDeviceGroups.json new file mode 100644 index 000000000000..b86ea57c2833 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostGenerateDefaultDeviceGroups.json @@ -0,0 +1,40 @@ +{ + "operationId": "Products_GenerateDefaultDeviceGroups", + "title": "Products_GenerateDefaultDeviceGroups", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "name": "MyDeviceGroup1", + "properties": { + "description": "Device group description 1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll", + "allowCrashDumpsCollection": "Enabled" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup2", + "name": "MyDeviceGroup2", + "properties": { + "description": "Device group description 2", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll", + "allowCrashDumpsCollection": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostGenerateDeviceCapabilityImage.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostGenerateDeviceCapabilityImage.json new file mode 100644 index 000000000000..3f10e240a86c --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostGenerateDeviceCapabilityImage.json @@ -0,0 +1,32 @@ +{ + "operationId": "Devices_GenerateCapabilityImage", + "title": "Devices_GenerateCapabilityImage", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "generateDeviceCapabilityRequest": { + "capabilities": [ + "ApplicationDevelopment" + ] + }, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "image": "TheDeviceCapabilityImage" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostListDeploymentsByCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostListDeploymentsByCatalog.json new file mode 100644 index 000000000000..9e1bafb39819 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostListDeploymentsByCatalog.json @@ -0,0 +1,27 @@ +{ + "operationId": "Catalogs_ListDeployments", + "title": "Catalogs_ListDeployments", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "DeploymentName1111", + "properties": {} + }, + { + "name": "DeploymentName1121", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostListDeviceGroupsCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostListDeviceGroupsCatalog.json new file mode 100644 index 000000000000..59a575a79ed0 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostListDeviceGroupsCatalog.json @@ -0,0 +1,32 @@ +{ + "operationId": "Catalogs_ListDeviceGroups", + "title": "Catalogs_ListDeviceGroups", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01", + "listDeviceGroupsRequest": { + "deviceGroupName": "MyDeviceGroup1" + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "name": "MyDeviceGroup1", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct2/devicegroups/MyDeviceGroup2", + "name": "MyDeviceGroup2", + "type": "microsoft.azureSphere/catalogs/products/devicegroups" + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostListDeviceInsightsCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostListDeviceInsightsCatalog.json new file mode 100644 index 000000000000..836f912dca25 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostListDeviceInsightsCatalog.json @@ -0,0 +1,40 @@ +{ + "operationId": "Catalogs_ListDeviceInsights", + "title": "Catalogs_ListDeviceInsights", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "$top": 10, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "description": "eventDescription1", + "deviceId": "eventIdentifier1", + "startTimestampUtc": "2021-09-30T21:51:39.26Z", + "endTimestampUtc": "2021-09-30T23:54:21.96Z", + "eventCategory": "eventCategory1", + "eventClass": "eventClass1", + "eventType": "eventType1", + "eventCount": 1 + }, + { + "description": "eventDescription2", + "deviceId": "eventIdentifier2", + "startTimestampUtc": "2022-12-06T12:41:39.26Z", + "endTimestampUtc": "2022-12-07T17:34:12.50Z", + "eventCategory": "eventCategory2", + "eventClass": "eventClass2", + "eventType": "eventType2", + "eventCount": 1 + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostListDevicesByCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostListDevicesByCatalog.json new file mode 100644 index 000000000000..adfc7215cb82 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostListDevicesByCatalog.json @@ -0,0 +1,27 @@ +{ + "operationId": "Catalogs_ListDevices", + "title": "Catalogs_ListDevices", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "value": [ + { + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": {} + }, + { + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostRetrieveCatalogCertChain.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostRetrieveCatalogCertChain.json new file mode 100644 index 000000000000..d899e89ea6d6 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostRetrieveCatalogCertChain.json @@ -0,0 +1,19 @@ +{ + "operationId": "Certificates_RetrieveCertChain", + "title": "Certificates_RetrieveCertChain", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "serialNumber": "active", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "certificateChain": "ABynaryRepresentationOfTheRequestedCatalogCertificateChain" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostRetrieveProofOfPossessionNonce.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostRetrieveProofOfPossessionNonce.json new file mode 100644 index 000000000000..400c9af86b8a --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostRetrieveProofOfPossessionNonce.json @@ -0,0 +1,22 @@ +{ + "operationId": "Certificates_RetrieveProofOfPossessionNonce", + "title": "Certificates_RetrieveProofOfPossessionNonce", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "serialNumber": "active", + "proofOfPossessionNonceRequest": { + "proofOfPossessionNonce": "proofOfPossessionNonce" + }, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "certificate": "bXliYXNlNjRzdHJpbmc=" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostUploadImageCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostUploadImageCatalog.json new file mode 100644 index 000000000000..022a60a12a4f --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PostUploadImageCatalog.json @@ -0,0 +1,23 @@ +{ + "operationId": "Catalogs_UploadImage", + "title": "Catalogs_UploadImage", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01", + "uploadImageRequest": { + "properties": { + "image": "bXliYXNlNjRzdHJpbmc=" + } + } + }, + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutCatalog.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutCatalog.json new file mode 100644 index 000000000000..6fedad40487c --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutCatalog.json @@ -0,0 +1,34 @@ +{ + "operationId": "Catalogs_CreateOrUpdate", + "title": "Catalogs_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "api-version": "2024-04-01", + "location": "global", + "resource": { + "location": "global" + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1", + "name": "MyCatalog1", + "type": "Microsoft.AzureSphere/catalogs", + "location": "global" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutDeployment.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutDeployment.json new file mode 100644 index 000000000000..ce2abff598ca --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutDeployment.json @@ -0,0 +1,47 @@ +{ + "operationId": "Deployments_CreateOrUpdate", + "title": "Deployments_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deploymentName": "MyDeployment1", + "api-version": "2024-04-01", + "resource": {} + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/deviceGroups/MyDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "properties": { + "deployedImages": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/MyImage1", + "properties": { + "image": "MyImage", + "imageId": "00000000-0000-0000-0000-000000000000", + "uri": "imageUri", + "regionalDataBoundary": "None", + "imageType": "InvalidImageType", + "provisioningState": "Succeeded" + } + } + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/deployments/MyDeployment1", + "name": "MyDeployment1", + "type": "Microsoft.AzureSphere/catalogs/products/deviceGroups/deployments" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutDevice.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutDevice.json new file mode 100644 index 000000000000..7e69ec373bf2 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutDevice.json @@ -0,0 +1,34 @@ +{ + "operationId": "Devices_CreateOrUpdate", + "title": "Devices_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "myDeviceGroup1", + "deviceName": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "api-version": "2024-04-01", + "resource": {} + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "properties": { + "chipSku": "MyChipSku1" + } + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1/devices/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "name": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "Microsoft.AzureSphere/catalogs/products/deviceGroups/devices" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutDeviceGroup.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutDeviceGroup.json new file mode 100644 index 000000000000..eaf9e7a53c95 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutDeviceGroup.json @@ -0,0 +1,46 @@ +{ + "operationId": "DeviceGroups_CreateOrUpdate", + "title": "DeviceGroups_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "deviceGroupName": "MyDeviceGroup1", + "api-version": "2024-04-01", + "resource": { + "properties": { + "description": "Description for MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1/devicegroups/MyDeviceGroup1", + "type": "microsoft.AzureSphere/catalogs/products/devicegroups", + "properties": { + "description": "Description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/myProduct1/deviceGroups/myDeviceGroup1", + "name": "MyDeviceId1", + "type": "Microsoft.AzureSphere/catalogs/products/deviceGroups", + "properties": { + "description": "Description of MyDeviceGroup1", + "osFeedType": "Retail", + "updatePolicy": "UpdateAll" + } + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutImage.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutImage.json new file mode 100644 index 000000000000..6d26ad07a8ae --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutImage.json @@ -0,0 +1,34 @@ +{ + "operationId": "Images_CreateOrUpdate", + "title": "Image_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "imageName": "00000000-0000-0000-0000-000000000000", + "resource": { + "properties": { + "image": "bXliYXNlNjRzdHJpbmc=" + } + }, + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/default", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/images" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/images/default", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/images" + } + } + } +} diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutProduct.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutProduct.json new file mode 100644 index 000000000000..75a53ec45323 --- /dev/null +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/examples/PutProduct.json @@ -0,0 +1,30 @@ +{ + "operationId": "Products_CreateOrUpdate", + "title": "Products_CreateOrUpdate", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MyResourceGroup1", + "catalogName": "MyCatalog1", + "productName": "MyProduct1", + "api-version": "2024-04-01", + "resource": {} + }, + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs/products" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup1/providers/Microsoft.AzureSphere/catalogs/MyCatalog1/products/MyProduct1", + "name": "MyProduct1", + "type": "Microsoft.AzureSphere/catalogs" + } + } + } +} diff --git a/specification/sphere/resource-manager/readme.md b/specification/sphere/resource-manager/readme.md index 5c4ecd51faec..e126e3cabf37 100644 --- a/specification/sphere/resource-manager/readme.md +++ b/specification/sphere/resource-manager/readme.md @@ -40,6 +40,15 @@ input-file: - Microsoft.AzureSphere/preview/2022-09-01-preview/azuresphere.json ``` +### Tag: package-2024-04-01 + +These settings apply only when `--tag=package-2024-04-01` is specified on the command line. + +``` yaml $(tag) == 'package-2024-04-01' +input-file: +- Microsoft.AzureSphere/stable/2024-04-01/azuresphere.json +``` + # Code Generation ## Swagger to SDK @@ -108,6 +117,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - $(this-folder)/Microsoft.AzureSphere/preview/2022-09-01-preview/azuresphere.json + - $(this-folder)/Microsoft.AzureSphere/stable/2024-04-01/azuresphere.json ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/sql/resource-manager/readme.md b/specification/sql/resource-manager/readme.md index 070966a0bea4..b652e749370c 100644 --- a/specification/sql/resource-manager/readme.md +++ b/specification/sql/resource-manager/readme.md @@ -1269,7 +1269,6 @@ input-file: - ./Microsoft.Sql/preview/2023-02-01-preview/Databases.json - ./Microsoft.Sql/preview/2022-08-01-preview/ElasticPools.json - ./Microsoft.Sql/preview/2022-08-01-preview/ManagedDatabases.json -- ./Microsoft.Sql/preview/2022-08-01-preview/ManagedInstances.json - ./Microsoft.Sql/preview/2022-08-01-preview/ManagedLedgerDigestUploads.json - ./Microsoft.Sql/preview/2022-08-01-preview/RecoverableDatabases.json - ./Microsoft.Sql/preview/2022-08-01-preview/RestorableDroppedDatabases.json @@ -1293,6 +1292,7 @@ input-file: - ./Microsoft.Sql/preview/2023-05-01-preview/InstancePools.json - ./Microsoft.Sql/preview/2023-05-01-preview/LongTermRetentionBackups.json - ./Microsoft.Sql/preview/2023-05-01-preview/LongTermRetentionPolicies.json +- ./Microsoft.Sql/preview/2023-05-01-preview/ManagedInstances.json - ./Microsoft.Sql/preview/2023-05-01-preview/Servers.json # Needed when there is more than one input file diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Dataset.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Dataset.json index 3a69786afcf8..3189d8237429 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Dataset.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Dataset.json @@ -3459,6 +3459,99 @@ "description": "The name of Microsoft Fabric LakeHouse Table. Type: string (or Expression with resultType string)." } } + }, + "SalesforceV2ObjectDataset": { + "x-ms-discriminator-value": "SalesforceV2Object", + "description": "The Salesforce V2 object dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], + "properties": { + "typeProperties": { + "description": "Salesforce V2 object dataset properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SalesforceV2ObjectDatasetTypeProperties" + } + } + }, + "SalesforceV2ObjectDatasetTypeProperties": { + "description": "Salesforce V2 object dataset properties.", + "type": "object", + "properties": { + "objectApiName": { + "type": "object", + "description": "The Salesforce V2 object API name. Type: string (or Expression with resultType string)." + }, + "reportId": { + "type": "object", + "description": "The Salesforce V2 report Id. Type: string (or Expression with resultType string)." + } + } + }, + "SalesforceServiceCloudV2ObjectDataset": { + "x-ms-discriminator-value": "SalesforceServiceCloudV2Object", + "description": "The Salesforce Service Cloud V2 object dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], + "properties": { + "typeProperties": { + "description": "Salesforce Service Cloud V2 object dataset properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SalesforceServiceCloudV2ObjectDatasetTypeProperties" + } + } + }, + "SalesforceServiceCloudV2ObjectDatasetTypeProperties": { + "description": "Salesforce Service Cloud V2 object dataset properties.", + "type": "object", + "properties": { + "objectApiName": { + "type": "object", + "description": "The Salesforce Service Cloud V2 object API name. Type: string (or Expression with resultType string)." + }, + "reportId": { + "type": "object", + "description": "The Salesforce Service Cloud V2 reportId. Type: string (or Expression with resultType string)." + } + } + }, + "WarehouseTableDataset": { + "x-ms-discriminator-value": "WarehouseTable", + "description": "Microsoft Fabric Warehouse dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], + "properties": { + "typeProperties": { + "description": "Microsoft Fabric Warehouse dataset properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WarehouseTableDatasetTypeProperties" + } + } + }, + "WarehouseTableDatasetTypeProperties": { + "description": "Microsoft Fabric Warehouse dataset properties.", + "type": "object", + "properties": { + "schema": { + "type": "object", + "description": "The schema name of the Microsoft Fabric Warehouse. Type: string (or Expression with resultType string)." + }, + "table": { + "type": "object", + "description": "The table name of the Microsoft Fabric Warehouse. Type: string (or Expression with resultType string)." + } + } } } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json index 713b4e989598..5cef604fd5bb 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json @@ -1310,10 +1310,38 @@ "description": "MySQL linked service properties.", "type": "object", "properties": { + "driverVersion": { + "type": "object", + "description": "The version of the MySQL driver. Type: string. V1 or empty for legacy driver, V2 for new driver. V1 can support connection string and property bag, V2 can only support connection string." + }, "connectionString": { "description": "The connection string.", "type": "object" }, + "server": { + "type": "object", + "description": "Server name for connection. Type: string." + }, + "port": { + "type": "object", + "description": "The port for the connection. Type: integer." + }, + "username": { + "type": "object", + "description": "Username for authentication. Type: string." + }, + "database": { + "type": "object", + "description": "Database name for connection. Type: string." + }, + "sslMode": { + "type": "object", + "description": "SSL mode for connection. Type: integer. 0: disable, 1: prefer, 2: require, 3: verify-ca, 4: verify-full." + }, + "useSystemTrustStore": { + "type": "object", + "description": "Use system trust store for connection. Type: integer. 0: enable, 1: disable." + }, "password": { "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." @@ -1322,10 +1350,7 @@ "type": "object", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." } - }, - "required": [ - "connectionString" - ] + } }, "PostgreSqlLinkedService": { "x-ms-discriminator-value": "PostgreSql", @@ -4846,11 +4871,31 @@ "description": "MariaDB server linked service properties.", "type": "object", "properties": { + "driverVersion": { + "type": "object", + "description": "The version of the MariaDB driver. Type: string. V1 or empty for legacy driver, V2 for new driver. V1 can support connection string and property bag, V2 can only support connection string." + }, "connectionString": { "description": "An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.", "type": "object" }, - "pwd": { + "server": { + "type": "object", + "description": "Server name for connection. Type: string." + }, + "port": { + "type": "object", + "description": "The port for the connection. Type: integer." + }, + "username": { + "type": "object", + "description": "Username for authentication. Type: string." + }, + "database": { + "type": "object", + "description": "Database name for connection. Type: string." + }, + "password": { "$ref": "../artifacts.json#/definitions/AzureKeyVaultSecretReference", "description": "The Azure key vault secret reference of password in connection string." }, @@ -6975,6 +7020,164 @@ "workspaceId", "tenantId" ] + }, + "SalesforceV2LinkedService": { + "x-ms-discriminator-value": "SalesforceV2", + "description": "Linked service for Salesforce V2.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedService" + } + ], + "properties": { + "typeProperties": { + "description": "Salesforce V2 linked service properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SalesforceV2LinkedServiceTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "SalesforceV2LinkedServiceTypeProperties": { + "description": "Salesforce V2 linked service properties.", + "type": "object", + "properties": { + "environmentUrl": { + "type": "object", + "description": "The URL of Salesforce instance. For example, 'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string)." + }, + "clientId": { + "type": "object", + "description": "The client Id for OAuth 2.0 Client Credentials Flow authentication of the Salesforce instance. Type: string (or Expression with resultType string)." + }, + "clientSecret": { + "description": "The client secret for OAuth 2.0 Client Credentials Flow authentication of the Salesforce instance.", + "$ref": "../artifacts.json#/definitions/SecretBase" + }, + "apiVersion": { + "type": "object", + "description": "The Salesforce API version used in ADF. The version must be larger than or equal to 47.0 which is required by Salesforce BULK API 2.0. Type: string (or Expression with resultType string)." + }, + "encryptedCredential": { + "type": "string", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." + } + } + }, + "SalesforceServiceCloudV2LinkedService": { + "x-ms-discriminator-value": "SalesforceServiceCloudV2", + "description": "Linked service for Salesforce Service Cloud V2.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedService" + } + ], + "properties": { + "typeProperties": { + "description": "Salesforce Service Cloud V2 linked service properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SalesforceServiceCloudV2LinkedServiceTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "SalesforceServiceCloudV2LinkedServiceTypeProperties": { + "description": "Salesforce Service Cloud V2 linked service properties.", + "type": "object", + "properties": { + "environmentUrl": { + "type": "object", + "description": "The URL of Salesforce Service Cloud instance. For example, 'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string)." + }, + "clientId": { + "type": "object", + "description": "The client Id for OAuth 2.0 Client Credentials Flow authentication of the Salesforce instance. Type: string (or Expression with resultType string)." + }, + "clientSecret": { + "description": "The client secret for OAuth 2.0 Client Credentials Flow authentication of the Salesforce instance.", + "$ref": "../artifacts.json#/definitions/SecretBase" + }, + "apiVersion": { + "type": "object", + "description": "The Salesforce API version used in ADF. The version must be larger than or equal to 47.0 which is required by Salesforce BULK API 2.0. Type: string (or Expression with resultType string)." + }, + "encryptedCredential": { + "type": "string", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." + } + } + }, + "WarehouseLinkedService": { + "x-ms-discriminator-value": "Warehouse", + "description": "Microsoft Fabric Warehouse linked service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedService" + } + ], + "properties": { + "typeProperties": { + "description": "Microsoft Fabric Warehouse linked service properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WarehouseLinkedServiceTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "WarehouseLinkedServiceTypeProperties": { + "description": "Microsoft Fabric Warehouse linked service properties.", + "type": "object", + "properties": { + "artifactId": { + "type": "object", + "description": "The ID of Microsoft Fabric Warehouse artifact. Type: string (or Expression with resultType string)." + }, + "endpoint": { + "type": "object", + "description": "The endpoint of Microsoft Fabric Warehouse server. Type: string (or Expression with resultType string)." + }, + "workspaceId": { + "type": "object", + "description": "The ID of Microsoft Fabric workspace. Type: string (or Expression with resultType string)." + }, + "servicePrincipalId": { + "type": "object", + "description": "The ID of the application used to authenticate against Microsoft Fabric Warehouse. Type: string (or Expression with resultType string)." + }, + "servicePrincipalKey": { + "description": "The Key of the application used to authenticate against Microsoft Fabric Warehouse.", + "$ref": "../artifacts.json#/definitions/SecretBase" + }, + "tenant": { + "type": "object", + "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)." + }, + "encryptedCredential": { + "type": "string", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." + }, + "servicePrincipalCredentialType": { + "type": "object", + "description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)." + }, + "servicePrincipalCredential": { + "description": "The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.", + "$ref": "../artifacts.json#/definitions/SecretBase" + } + }, + "required": [ + "artifactId", + "endpoint" + ] } } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json index 7afcc9e6826b..1d6225ac9940 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json @@ -3920,6 +3920,72 @@ } } }, + "WarehouseSource": { + "description": "A copy activity Microsoft Fabric Warehouse source.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TabularSource" + } + ], + "properties": { + "sqlReaderQuery": { + "type": "object", + "description": "Microsoft Fabric Warehouse reader query. Type: string (or Expression with resultType string)." + }, + "sqlReaderStoredProcedureName": { + "type": "object", + "description": "Name of the stored procedure for a Microsoft Fabric Warehouse source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression with resultType string)." + }, + "storedProcedureParameters": { + "type": "object", + "description": "Value and type setting for stored procedure parameters. Example: \"{Parameter1: {value: \"1\", type: \"int\"}}\". Type: object (or Expression with resultType object), itemType: StoredProcedureParameter." + }, + "isolationLevel": { + "description": "Specifies the transaction locking behavior for the Microsoft Fabric Warehouse source. Allowed values: ReadCommitted/ReadUncommitted/RepeatableRead/Serializable/Snapshot. The default value is ReadCommitted. Type: string (or Expression with resultType string).", + "type": "object" + }, + "partitionOption": { + "description": "The partition mechanism that will be used for Sql read in parallel. Possible values include: \"None\", \"PhysicalPartitionsOfTable\", \"DynamicRange\".", + "type": "object" + }, + "partitionSettings": { + "description": "The settings that will be leveraged for Sql source partitioning.", + "$ref": "#/definitions/SqlPartitionSettings" + } + } + }, + "WarehouseSink": { + "description": "A copy activity Microsoft Fabric Warehouse sink.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySink" + } + ], + "properties": { + "preCopyScript": { + "type": "object", + "description": "SQL pre-copy script. Type: string (or Expression with resultType string)." + }, + "allowCopyCommand": { + "type": "object", + "description": "Indicates to use Copy Command to copy data into SQL Data Warehouse. Type: boolean (or Expression with resultType boolean)." + }, + "copyCommandSettings": { + "description": "Specifies Copy Command related settings when allowCopyCommand is true.", + "$ref": "#/definitions/DWCopyCommandSettings" + }, + "tableOption": { + "type": "object", + "description": "The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string)." + }, + "writeBehavior": { + "type": "object", + "description": "Write behavior when copying data into azure Microsoft Fabric Data Warehouse. Type: DWWriteBehaviorEnum (or Expression with resultType DWWriteBehaviorEnum)" + } + } + }, "StoredProcedureParameter": { "description": "SQL stored procedure parameter.", "type": "object", @@ -7278,21 +7344,12 @@ "type": "object", "properties": { "computeType": { - "description": "Compute type of the cluster which will execute data flow job.", - "type": "string", - "enum": [ - "General", - "MemoryOptimized", - "ComputeOptimized" - ], - "x-ms-enum": { - "name": "DataFlowComputeType", - "modelAsString": true - } + "description": "Compute type of the cluster which will execute data flow job. Possible values include: 'General', 'MemoryOptimized', 'ComputeOptimized'. Type: string (or Expression with resultType string)", + "type": "object" }, "coreCount": { - "description": "Core count of the cluster which will execute data flow job. Supported values are: 8, 16, 32, 48, 80, 144 and 272.", - "type": "integer" + "description": "Core count of the cluster which will execute data flow job. Supported values are: 8, 16, 32, 48, 80, 144 and 272. Type: integer (or Expression with resultType integer)", + "type": "object" } } }, @@ -7317,6 +7374,19 @@ "dataflow" ] }, + "DataFlowComputeType": { + "description": "All available DataFlowComputeType values.", + "type": "string", + "enum": [ + "General", + "MemoryOptimized", + "ComputeOptimized" + ], + "x-ms-enum": { + "name": "DataFlowComputeType", + "modelAsString": true + } + }, "ScriptActivity": { "description": "Script activity type.", "x-ms-discriminator-value": "Script", @@ -7658,7 +7728,6 @@ "type": "object", "additionalProperties": { "type": "object", - "x-ms-format": "dfe-string", "description": "Type: string (or Expression with resultType string)." } } @@ -7859,6 +7928,122 @@ "required": [ "storedProcedureName" ] + }, + "SalesforceV2Source": { + "description": "A copy activity Salesforce V2 source.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TabularSource" + } + ], + "properties": { + "SOQLQuery": { + "type": "object", + "description": "Database query. Type: string (or Expression with resultType string)." + }, + "readBehavior": { + "description": "The read behavior for the operation. Default is query. Allowed values: query/queryAll. Type: string (or Expression with resultType string).", + "type": "object" + } + } + }, + "SalesforceServiceCloudV2Source": { + "description": "A copy activity Salesforce Service Cloud V2 source.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySource" + } + ], + "properties": { + "SOQLQuery": { + "type": "object", + "description": "Database query. Type: string (or Expression with resultType string)." + }, + "readBehavior": { + "description": "The read behavior for the operation. Default is query. Allowed values: query/queryAll. Type: string (or Expression with resultType string).", + "type": "object" + }, + "additionalColumns": { + "type": "object", + "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)." + } + } + }, + "SalesforceV2SourceReadBehavior": { + "description": "The Salesforce read behavior for the operation", + "type": "string", + "enum": [ + "query", + "queryAll" + ], + "x-ms-enum": { + "name": "SalesforceV2SourceReadBehavior", + "modelAsString": true + } + }, + "SalesforceV2Sink": { + "description": "A copy activity Salesforce V2 sink.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySink" + } + ], + "properties": { + "writeBehavior": { + "description": "The write behavior for the operation. Default is Insert.", + "type": "string", + "enum": [ + "Insert", + "Upsert" + ], + "x-ms-enum": { + "name": "SalesforceV2SinkWriteBehavior", + "modelAsString": true + } + }, + "externalIdFieldName": { + "type": "object", + "description": "The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string)." + }, + "ignoreNullValues": { + "type": "object", + "description": "The flag indicating whether or not to ignore null values from input dataset (except key fields) during write operation. Default value is false. If set it to true, it means ADF will leave the data in the destination object unchanged when doing upsert/update operation and insert defined default value when doing insert operation, versus ADF will update the data in the destination object to NULL when doing upsert/update operation and insert NULL value when doing insert operation. Type: boolean (or Expression with resultType boolean)." + } + } + }, + "SalesforceServiceCloudV2Sink": { + "description": "A copy activity Salesforce Service Cloud V2 sink.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySink" + } + ], + "properties": { + "writeBehavior": { + "description": "The write behavior for the operation. Default is Insert.", + "type": "string", + "enum": [ + "Insert", + "Upsert" + ], + "x-ms-enum": { + "name": "SalesforceV2SinkWriteBehavior", + "modelAsString": true + } + }, + "externalIdFieldName": { + "type": "object", + "description": "The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string)." + }, + "ignoreNullValues": { + "type": "object", + "description": "The flag indicating whether or not to ignore null values from input dataset (except key fields) during write operation. Default value is false. If set it to true, it means ADF will leave the data in the destination object unchanged when doing upsert/update operation and insert defined default value when doing insert operation, versus ADF will update the data in the destination object to NULL when doing upsert/update operation and insert NULL value when doing insert operation. Type: boolean (or Expression with resultType boolean)." + } + } } } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/examples/SparkFrontend_SparkBatch_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/examples/SparkFrontend_SparkBatch_Create.json index 55db4134cc83..bb1f829418e3 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/examples/SparkFrontend_SparkBatch_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/examples/SparkFrontend_SparkBatch_Create.json @@ -18,7 +18,7 @@ "driverMemory": "4g", "driverCores": 4, "executorMemory": "2g", - "executorCores": 2, + "executorCores": 4, "numExecutors": 2 } }, diff --git a/specification/translation/Azure.AI.DocumentTranslation/client.tsp b/specification/translation/Azure.AI.DocumentTranslation/client.tsp new file mode 100644 index 000000000000..164fc28c837f --- /dev/null +++ b/specification/translation/Azure.AI.DocumentTranslation/client.tsp @@ -0,0 +1,5 @@ +/** + * PLACEHOLDER + * Add readme and sample + */ +import "./main.tsp"; diff --git a/specification/translation/Azure.AI.DocumentTranslation/examples/2023-11-01-preview/DocumentTranslate_MaximumSet_Gen.json b/specification/translation/Azure.AI.DocumentTranslation/examples/2023-11-01-preview/DocumentTranslate_MaximumSet_Gen.json new file mode 100644 index 000000000000..b28d58a24d25 --- /dev/null +++ b/specification/translation/Azure.AI.DocumentTranslation/examples/2023-11-01-preview/DocumentTranslate_MaximumSet_Gen.json @@ -0,0 +1,15 @@ +{ + "title": "Document Translate", + "operationId": "DocumentTranslate", + "parameters": { + "api-version": "2023-11-01-preview", + "sourceLanguage": "en", + "targetLanguage": "es", + "document": "TXkgdHJhbnNsYXRlZCBkb2N1bWVudA==" + }, + "responses": { + "200": { + "body": "TXkgdHJhbnNsYXRlZCBkb2N1bWVudA==" + } + } +} diff --git a/specification/translation/Azure.AI.DocumentTranslation/main.tsp b/specification/translation/Azure.AI.DocumentTranslation/main.tsp new file mode 100644 index 000000000000..1b19394de999 --- /dev/null +++ b/specification/translation/Azure.AI.DocumentTranslation/main.tsp @@ -0,0 +1,92 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using TypeSpec.Versioning; +using Azure.Core; +using Azure.Core.Traits; + +@useAuth(ApiKeyAuth) +@service({ + title: "Azure.AI.DocumentTranslation", +}) +@server( + "{Endpoint}", + "Document Translation Endpoint", + { + /** Supported document Translation endpoints (protocol and hostname, for example: https://{TranslatorResourceName}.cognitiveservices.azure.com/translator). */ + Endpoint: url, + } +) +@versioned(DocumentTranslation.Versions) +namespace DocumentTranslation; + +/** The Azure.AI.DocumentTranslation versions. */ +enum Versions { + /** The 2023-11-01-preview version of the Azure.AI.DocumentTranslation. */ + @useDependency(Azure.Core.Versions.v1_0_Preview_1) + `2023-11-01-preview`, +} + +/** Document Translate Request / Content. */ +model DocumentTranslateContent { + /** Specifies source language of the input document. + * If this parameter isn't specified, automatic language detection is applied to determine the source language. + * For example if the source document is written in English, then use sourceLanguage=en */ + @query("sourceLanguage") + sourceLanguage?: string; + + /** Specifies the language of the output document. + * The target language must be one of the supported languages included in the translation scope. + * For example if you want to translate the document in German language, then use targetLanguage=de */ + @query("targetLanguage") + targetLanguage: string; + + /** A string specifying the category (domain) of the translation. This parameter is used to get translations + from a customized system built with Custom Translator. Add the Category ID from your Custom Translator + project details to this parameter to use your deployed customized system. Default value is: general. */ + @query("category") + category?: string = "general"; + + /** Specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. + Possible values are: true (default) or false. */ + @query("allowFallback") + allowFallback?: boolean; + + /** Content Type as multipart/form-data */ + @header contentType: "multipart/form-data"; + + /** Document to be translated in the form */ + document: bytes; + + /** Glossary / translation memory will be used during translation in the form. */ + glossary?: bytes[]; +} + +/** Document Translate Result / Response. */ +model DocumentTranslateResult { + /** response content type */ + @header + contentType: "application/octet-stream"; + + /** Request response, response is a translated document. */ + @body + document: bytes; +} + +alias ServiceTraits = SupportsRepeatableRequests & + SupportsConditionalRequests & + SupportsClientRequestId; + +/** API to translate a document. */ +#suppress "@azure-tools/typespec-azure-core/byos" +@post +@route("document:translate") +op documentTranslate is RpcOperation< + DocumentTranslateContent, + DocumentTranslateResult, + ServiceTraits +>; diff --git a/specification/translation/Azure.AI.DocumentTranslation/tspconfig.yaml b/specification/translation/Azure.AI.DocumentTranslation/tspconfig.yaml new file mode 100644 index 000000000000..70c3e963dc08 --- /dev/null +++ b/specification/translation/Azure.AI.DocumentTranslation/tspconfig.yaml @@ -0,0 +1,34 @@ +parameters: + "service-dir": + default: "sdk/translation" + "dependencies": + "additionalDirectories": [] + default: "" +emit: + - "@azure-tools/typespec-autorest" +linter: + extends: + - "@azure-tools/typespec-azure-core/all" +options: + "@azure-tools/typespec-autorest": + azure-resource-provider-folder: "data-plane" + emitter-output-dir: "{project-root}/.." + examples-directory: "{project-root}/examples" + output-file: "{azure-resource-provider-folder}/Azure.AI.DocumentTranslation/{version-status}/{version}/openapi.json" + "@azure-tools/typespec-csharp": + package-dir: "Azure.AI.Translator.Document" + namespace: Azure.AI.Translator.Document + clear-output-folder: true + model-namespace: false + "@azure-tools/typespec-python": + package-dir: "azure-ai-translator-document" + package-name: "azure-ai-translator-document" + package-mode: dataplane + "@azure-tools/typespec-java": + package-dir: "azure-ai-translator-document" + namespace: com.azure.ai.translator.document + "@azure-tools/typespec-ts": + package-dir: "azure-ai-translator-document" + packageDetails: + name: "@azure-rest/azure-ai-translator-document" + description: "Azure.AI.Translator.Document" diff --git a/specification/translation/data-plane/Azure.AI.DocumentTranslation/preview/2023-11-01-preview/examples/DocumentTranslate_MaximumSet_Gen.json b/specification/translation/data-plane/Azure.AI.DocumentTranslation/preview/2023-11-01-preview/examples/DocumentTranslate_MaximumSet_Gen.json new file mode 100644 index 000000000000..b28d58a24d25 --- /dev/null +++ b/specification/translation/data-plane/Azure.AI.DocumentTranslation/preview/2023-11-01-preview/examples/DocumentTranslate_MaximumSet_Gen.json @@ -0,0 +1,15 @@ +{ + "title": "Document Translate", + "operationId": "DocumentTranslate", + "parameters": { + "api-version": "2023-11-01-preview", + "sourceLanguage": "en", + "targetLanguage": "es", + "document": "TXkgdHJhbnNsYXRlZCBkb2N1bWVudA==" + }, + "responses": { + "200": { + "body": "TXkgdHJhbnNsYXRlZCBkb2N1bWVudA==" + } + } +} diff --git a/specification/translation/data-plane/Azure.AI.DocumentTranslation/preview/2023-11-01-preview/openapi.json b/specification/translation/data-plane/Azure.AI.DocumentTranslation/preview/2023-11-01-preview/openapi.json new file mode 100644 index 000000000000..74e2a9a9bc83 --- /dev/null +++ b/specification/translation/data-plane/Azure.AI.DocumentTranslation/preview/2023-11-01-preview/openapi.json @@ -0,0 +1,314 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure.AI.DocumentTranslation", + "version": "2023-11-01-preview", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "name": "Endpoint", + "in": "path", + "description": "Supported document Translation endpoints (protocol and hostname, for example: https://{TranslatorResourceName}.cognitiveservices.azure.com/translator).", + "required": true, + "type": "string", + "format": "uri", + "x-ms-skip-url-encoding": true + } + ] + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "ApiKeyAuth": [] + } + ], + "securityDefinitions": { + "ApiKeyAuth": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "tags": [], + "paths": { + "/document:translate": { + "post": { + "operationId": "DocumentTranslate", + "description": "API to translate a document.", + "produces": [ + "application/octet-stream", + "application/json" + ], + "consumes": [ + "multipart/form-data" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "$ref": "#/parameters/DocumentTranslateContent.sourceLanguage" + }, + { + "$ref": "#/parameters/DocumentTranslateContent.targetLanguage" + }, + { + "$ref": "#/parameters/DocumentTranslateContent.category" + }, + { + "$ref": "#/parameters/DocumentTranslateContent.allowFallback" + }, + { + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" + }, + { + "$ref": "#/parameters/DocumentTranslateContent.document" + }, + { + "$ref": "#/parameters/DocumentTranslateContent.glossary" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "type": "file" + }, + "headers": { + "x-ms-client-request-id": { + "type": "string", + "format": "uuid", + "description": "An opaque, globally-unique, client-generated string identifier for the request." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Document Translate": { + "$ref": "./examples/DocumentTranslate_MaximumSet_Gen.json" + } + } + } + } + }, + "definitions": { + "Azure.Core.Foundations.Error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "type": "string", + "description": "One of a server-defined set of error codes." + }, + "message": { + "type": "string", + "description": "A human-readable representation of the error." + }, + "target": { + "type": "string", + "description": "The target of the error." + }, + "details": { + "type": "array", + "description": "An array of details about specific errors that led to this reported error.", + "items": { + "$ref": "#/definitions/Azure.Core.Foundations.Error" + }, + "x-ms-identifiers": [] + }, + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "An object containing more specific information than the current object about the error." + } + }, + "required": [ + "code", + "message" + ] + }, + "Azure.Core.Foundations.ErrorResponse": { + "type": "object", + "description": "A response containing error details.", + "properties": { + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "The error object." + } + }, + "required": [ + "error" + ] + }, + "Azure.Core.Foundations.InnerError": { + "type": "object", + "description": "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.", + "properties": { + "code": { + "type": "string", + "description": "One of a server-defined set of error codes." + }, + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "Inner error." + } + } + }, + "DocumentTranslateContent": { + "type": "object", + "description": "Document Translate Request / Content.", + "properties": { + "document": { + "type": "string", + "format": "byte", + "description": "Document to be translated in the form" + }, + "glossary": { + "type": "array", + "description": "Glossary / translation memory will be used during translation in the form.", + "items": { + "type": "string", + "format": "byte" + } + } + }, + "required": [ + "document" + ] + }, + "DocumentTranslateResult": { + "type": "object", + "description": "Document Translate Result / Response.", + "properties": { + "document": { + "type": "string", + "format": "byte", + "description": "Request response, response is a translated document." + } + }, + "required": [ + "document" + ] + }, + "Versions": { + "type": "string", + "description": "The Azure.AI.DocumentTranslation versions.", + "enum": [ + "2023-11-01-preview" + ], + "x-ms-enum": { + "name": "Versions", + "modelAsString": true, + "values": [ + { + "name": "2023-11-01-preview", + "value": "2023-11-01-preview", + "description": "The 2023-11-01-preview version of the Azure.AI.DocumentTranslation." + } + ] + } + } + }, + "parameters": { + "Azure.Core.ClientRequestIdHeader": { + "name": "x-ms-client-request-id", + "in": "header", + "description": "An opaque, globally-unique, client-generated string identifier for the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-parameter-location": "method", + "x-ms-client-name": "clientRequestId" + }, + "Azure.Core.Foundations.ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" + }, + "DocumentTranslateContent.allowFallback": { + "name": "allowFallback", + "in": "query", + "description": "Specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. \n Possible values are: true (default) or false.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "DocumentTranslateContent.category": { + "name": "category", + "in": "query", + "description": "A string specifying the category (domain) of the translation. This parameter is used to get translations \n from a customized system built with Custom Translator. Add the Category ID from your Custom Translator \n project details to this parameter to use your deployed customized system. Default value is: general.", + "required": false, + "type": "string", + "default": "general", + "x-ms-parameter-location": "method" + }, + "DocumentTranslateContent.document": { + "name": "document", + "in": "formData", + "description": "Document to be translated in the form", + "required": true, + "type": "file", + "x-ms-parameter-location": "method" + }, + "DocumentTranslateContent.glossary": { + "name": "glossary", + "in": "formData", + "description": "Glossary / translation memory will be used during translation in the form.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "binary" + }, + "x-ms-parameter-location": "method" + }, + "DocumentTranslateContent.sourceLanguage": { + "name": "sourceLanguage", + "in": "query", + "description": "Specifies source language of the input document.\nIf this parameter isn't specified, automatic language detection is applied to determine the source language.\nFor example if the source document is written in English, then use sourceLanguage=en", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DocumentTranslateContent.targetLanguage": { + "name": "targetLanguage", + "in": "query", + "description": "Specifies the language of the output document.\nThe target language must be one of the supported languages included in the translation scope.\nFor example if you want to translate the document in German language, then use targetLanguage=de", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/translation/data-plane/Azure.AI.DocumentTranslation/readme.md b/specification/translation/data-plane/Azure.AI.DocumentTranslation/readme.md new file mode 100644 index 000000000000..a90c48fe7968 --- /dev/null +++ b/specification/translation/data-plane/Azure.AI.DocumentTranslation/readme.md @@ -0,0 +1,56 @@ +# Cognitive Services Translation Document SDK + +> see https://aka.ms/autorest + +Configuration for generating Translation Document SDK. + +## Releases + +The current release of Document is **2023-11-01-preview**. +``` yaml +tag: 2023-11-01-preview +add-credentials: true +clear-output-folder: true +openapi-type: data-plane +``` + +### Release 2023-11-01-preview +These settings apply only when `--tag=2023-11-01-preview` is specified on the command line. + +``` yaml $(tag) == '2023-11-01-preview' +version: 2023-11-01-preview +input-file: + - $(this-folder)/preview/2023-11-01-preview/openapi.json +``` + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: +``` + +## Multi-API/Profile support for AutoRest '2023-11-01-preview' generators + +AutoRest `2023-11-01-preview` generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../../profiles/readme.md + +# all the input files across all versions +input-file: + - $(this-folder)/preview/2023-11-01-preview/openapi.json +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` diff --git a/tsconfig.json b/tsconfig.json index b3e7463f7947..54a44f1eecf0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,27 +1,27 @@ { "compilerOptions": { /* Basic Options */ - "target": "es2019", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ + "target": "es2019" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */, + "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, // "lib": [], /* Specify library files to be included in the compilation. */ // "allowJs": true, /* Allow javascript files to be compiled. */ // "checkJs": true, /* Report errors in .js files. */ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - "declaration": true, /* Generates corresponding '.d.ts' file. */ - "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - "sourceMap": true, /* Generates corresponding '.map' file. */ + "declaration": true /* Generates corresponding '.d.ts' file. */, + "declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */, + "sourceMap": true /* Generates corresponding '.map' file. */, // "outFile": "./", /* Concatenate and emit output to single file. */ // "outDir": "./dist", /* Redirect output structure to the directory. */ // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ // "composite": true, /* Enable project compilation */ // "removeComments": true, /* Do not emit comments to output. */ // "noEmit": true, /* Do not emit outputs. */ - "importHelpers": true, /* Import emit helpers from 'tslib'. */ + "importHelpers": true /* Import emit helpers from 'tslib'. */, // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ + "strict": true /* Enable all strict type-checking options. */, // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ // "strictNullChecks": true, /* Enable strict null checks. */ // "strictFunctionTypes": true, /* Enable strict checking of function types. */ @@ -31,10 +31,10 @@ // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ /* Additional Checks */ - "noUnusedLocals": true, /* Report errors on unused locals. */ - "noUnusedParameters": true, /* Report errors on unused parameters. */ - "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + "noUnusedLocals": true /* Report errors on unused locals. */, + "noUnusedParameters": true /* Report errors on unused parameters. */, + "noImplicitReturns": true /* Report error when not all code paths in function return a value. */, + "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */, /* Module Resolution Options */ // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ @@ -45,7 +45,7 @@ // "types": [], /* Type declaration files to be included in compilation. */ // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ "skipLibCheck": true, - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ /* Source Map Options */ @@ -58,4 +58,4 @@ // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ } -} \ No newline at end of file +}